Phát triển ứng dụng trò chuyện dựa trên tầm nhìn

Đã hoàn thành

Tiền bo

Xem tab Văn bản và hình ảnh để biết thêm chi tiết!

Để phát triển ứng dụng máy khách tham gia vào các cuộc trò chuyện dựa trên thị giác bằng mô hình đa phương thức, bạn có thể sử dụng các kỹ thuật cơ bản tương tự được sử dụng cho các cuộc trò chuyện dựa trên văn bản. Bạn yêu cầu kết nối đến điểm cuối mà mô hình được triển khai và bạn sử dụng điểm cuối đó để gửi lời nhắc bao gồm thư đến mô hình và xử lý các phản hồi.

Sự khác biệt chính là lời nhắc cho một cuộc trò chuyện dựa trên tầm nhìn bao gồm các tin nhắn người dùng nhiều phần chứa cả mục nội dung văn bản và mục nội dung hình ảnh .

Sơ đồ lời nhắc nhiều phần đang được gửi đến mô hình.

Gửi lời nhắc dựa trên hình ảnh bằng API Phản hồi

Để đưa hình ảnh vào lời nhắc bằng API Phản hồi , hãy chỉ định URL cho tệp hình ảnh dựa trên web hoặc tải hình ảnh cục bộ và mã hóa dữ liệu của nó ở định dạng Base64 và gửi URL ở định dạng data:image/jpeg;base64,{image_data} (thay thế "jpeg" bằng "png" cho các định dạng khác nếu thích hợp).

Ví dụ Python sau đây cho thấy cách gửi hình ảnh trong lời nhắc bằng API Phản hồi :

# 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)

Gửi lời nhắc dựa trên hình ảnh bằng API ChatCompletions

Khi sử dụng điểm cuối Azure OpenAI để gửi lời nhắc đến các mô hình không hỗ trợ API Phản hồi , bạn có thể sử dụng API CatCompletions ; như thế này:

# 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)