Mengembangkan aplikasi obrolan berbasis visi
Tip
Lihat tab Teks dan gambar untuk detail selengkapnya!
Untuk mengembangkan aplikasi klien yang terlibat dalam obrolan berbasis visi dengan model multimodal, Anda dapat menggunakan teknik dasar yang sama yang digunakan untuk obrolan berbasis teks. Anda memerlukan koneksi ke titik akhir tempat model disebarkan, dan Anda menggunakan titik akhir tersebut untuk mengirimkan perintah yang terdiri dari pesan ke model dan memproses respons.
Perbedaan utamanya adalah bahwa arahan untuk obrolan berbasis visi mencakup pesan pengguna yang terdiri dari beberapa bagian yang berisi item konten teks dan item konten gambar.
Mengirimkan perintah berbasis gambar menggunakan API Respons
Untuk menyertakan gambar dalam perintah menggunakan API Respons , tentukan URL untuk file gambar berbasis web, atau muat gambar lokal dan enkode datanya dalam format Base64 dan kirimKAN URL dalam format data:image/jpeg;base64,{image_data} (mengganti "jpeg" dengan "png" pr format lain yang sesuai).
Contoh Python berikut menunjukkan cara mengirimkan gambar dalam perintah menggunakan Api Respons :
# 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)
Mengirimkan perintah berbasis gambar menggunakan ChatCompletions API
Saat menggunakan titik akhir Azure OpenAI untuk mengirimkan perintah ke model yang tidak mendukung API Respons , Anda dapat menggunakan API CatCompletions ; Seperti ini:
# 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)