Görüntü işleme tabanlı sohbet uygulaması geliştirme
Tip
Daha fazla ayrıntı için Metin ve resimler sekmesine bakın!
Çok modüllü bir modelle görüntü tabanlı sohbetler gerçekleştiren bir istemci uygulaması geliştirmek için, metin tabanlı sohbetler için kullanılan temel tekniklerin aynısını kullanabilirsiniz. Modelin dağıtıldığı uç noktaya bağlantı gerekir ve modele iletilerden oluşan istemleri göndermek ve yanıtları işlemek için bu uç noktayı kullanırsınız.
Önemli fark, görüntü tabanlı sohbet istemlerinin hem metin içerik öğesini hem de resim içerik öğesini içeren çok parçalı kullanıcı iletilerini içermesidir.
Yanıtlar API'sini kullanarak görüntü tabanlı bir istem gönderme
Yanıtlar API'sini kullanarak bir görüntüyü bir isteme eklemek için web tabanlı bir görüntü dosyası için bir URL belirtin veya yerel bir görüntü yükleyip verilerini Base64 biçiminde kodlayın ve biçiminde data:image/jpeg;base64,{image_data} bir URL gönderin (uygun şekilde "jpeg" yerine "png" pr diğer biçimler yazın).
Aşağıdaki Python örneğinde , Yanıtlar API'sini kullanarak bir istem içinde görüntü gönderme işlemi gösterilmektedir:
# 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)
ChatCompletions API'sini kullanarak görüntü tabanlı bir istem gönderme
Yanıtlar API'sini desteklemeyen modellere istem göndermek için Azure OpenAI uç noktasını kullanırken CatCompletions API'sini kullanabilirsiniz; Böyle:
# 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)