Розробка програми чату на основі зору

Завершено

Порада

Перегляньте вкладку Текст і зображення для отримання більш детальної інформації!

Щоб розробити клієнтську програму, яка взаємодіє в чатах на основі зору з багатомодальною моделлю, можна використовувати ті ж основні методи, які використовуються для текстових чатів. Вам потрібне підключення до кінцевої точки, де розгорнуто модель, і ви використовуєте цю кінцеву точку, щоб надсилати запити, які складаються з повідомлень до моделі, і обробляти відповіді.

Ключова різниця полягає в тому, що підказки для чату на основі візії містять багаточастинні повідомлення користувача, які містять як текстовий елемент, так і елемент зображення .

Схема запиту з кількома частинами, що надсилається до моделі.

Надішліть запит на основі зображень за допомогою 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)