Розробка програми чату на основі зору
Порада
Перегляньте вкладку Текст і зображення для отримання більш детальної інформації!
Щоб розробити клієнтську програму, яка взаємодіє в чатах на основі зору з багатомодальною моделлю, можна використовувати ті ж основні методи, які використовуються для текстових чатів. Вам потрібне підключення до кінцевої точки, де розгорнуто модель, і ви використовуєте цю кінцеву точку, щоб надсилати запити, які складаються з повідомлень до моделі, і обробляти відповіді.
Ключова різниця полягає в тому, що підказки для чату на основі візії містять багаточастинні повідомлення користувача, які містять як текстовий елемент, так і елемент зображення .
Надішліть запит на основі зображень за допомогою API Responses
Щоб включити зображення у запит за допомогою API Responses , вкажіть URL для веб-файлу зображення або завантажте локальне зображення, закодуйте його дані у форматі Base64 і надішліть URL у форматі data:image/jpeg;base64,{image_data} (замінюючи "jpeg" на "png" у інших форматах за потреби).
Наступний приклад на Python показує, як подати зображення у запиті за допомогою API відповідей :
# Read the image data from a local file
image_path = Path("dragon-fruit.jpeg")
image_format = "jpeg"
with open(image_path, "rb") as image_file:
image_data = base64.b64encode(image_file.read()).decode("utf-8")
data_url = f"data:image/{image_format};base64,{image_data}" # You can also use a web URL
# Send the image data in a prompt to the model
response = client.responses.create(
model="gpt-4.1",
input=[
{"role": "developer", "content": "You are an AI assistant for chefs planning recipes."},
{"role": "user", "content": [
{ "type": "input_text", "text": "What desserts could I make with this?"},
{ "type": "input_image", "image_url": data_url}
] }
]
)
print(response.output_text)
Надішліть запит на основі зображень за допомогою API ChatCompletions
При використанні кінцевої точки Azure OpenAI для надсилання запитів моделям, які не підтримують API відповідей , ви можете використовувати API CatCompletions ; Ось так:
# Read the image data from a local file
image_path = Path("orange.jpeg")
image_format = "jpeg"
with open(image_path, "rb") as image_file:
image_data = base64.b64encode(image_file.read()).decode("utf-8")
data_url = f"data:image/{image_format};base64,{image_data}" # You can also use a web URL
# Send the image data in a prompt to the model
response = client.chat.completions.create(
model="Phi-4-multimodal-instruct",
messages=[
{"role": "system", "content": "You are an AI assistant for chefs planning recipes."},
{ "role": "user", "content": [
{ "type": "text", "text": "What can I make with this fruit?"},
{ "type": "image_url", "image_url": {"url": data_url}}
] }
]
)
print(response.choices[0].message.content)