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)