콘텐츠로 이동

39. 이미지와 파일 입력 활용

Video

준비 중

Note

이미지 및 파일 입력 예시

test.py
import yaml
from dotenv import load_dotenv
from openai import OpenAI

with open("config.yaml") as f:
    config = yaml.safe_load(f)

load_dotenv()
client = OpenAI()

input_message = [
    {
        "role": "user",
        "content": [
            {
                "type": "input_text",
                "text": "다음 이미지와 파일에 대해 설명해줘"
            },
            {
                "type": "input_image",
                "image_url": "https://openai-api-agent.aicastle.school/dataset/cat.jpg"
            },
            {
                "type": "input_file",
                "file_url": "https://openai-api-agent.aicastle.school/dataset/cat.pdf"
            },
        ],
    },
]


response = client.responses.create(
    input=input_message,
    **config
)

print(response.output_text)
test.py
import yaml
from dotenv import load_dotenv
from openai import OpenAI

with open("config.yaml") as f:
    config = yaml.safe_load(f)

load_dotenv()
client = OpenAI()

input_message = [
    {
        "role": "user",
        "content": [
            {
                "type": "input_text",
                "text": "다음 이미지와 파일에 대해 설명해줘"
            },
            {
                "type": "input_image",
                "file_id": "file-.........."
            },
            {
                "type": "input_file",
                "file_id": "file-.........."
            },
        ],
    },
]


response = client.responses.create(
    input=input_message,
    **config
)

print(response.output_text)
test.py
import yaml
from dotenv import load_dotenv
from openai import OpenAI


with open("config.yaml") as f:
    config = yaml.safe_load(f)

load_dotenv()
client = OpenAI()

import base64, mimetypes, os

pdf_path = "test/cat.pdf"
pdf_filename = os.path.basename(pdf_path)  # cat.pdf
with open(pdf_path, "rb") as f:
    pdf_base64 = base64.b64encode(f.read()).decode("utf-8")
    pdf_base64_uri = f"data:application/pdf;base64,{pdf_base64}"

image_path = "test/cat.jpg"
with open(image_path, "rb") as f:
    mime = mimetypes.guess_type(image_path)[0]
    image_base64 = base64.b64encode(f.read()).decode("utf-8")
    image_base64_uri = f"data:{mime};base64,{image_base64}"

input_message = [
    {
        "role": "user",
        "content": [
            {
                "type": "input_text",
                "text": "다음 이미지와 파일에 대해 설명해줘"
            },
            {
                "type": "input_image",
                "image_url": image_base64_uri
            },
            {
                "type": "input_file",
                "filename": pdf_filename,
                "file_data": pdf_base64_uri
            },
        ],
    },
]


response = client.responses.create(
    input=input_message,
    **config
)

print(response.output_text)

Resources