Dezvoltarea unei aplicații de chat bazate pe vedere
Sfat
Consultați fila Text și imagini pentru mai multe detalii!
Pentru a dezvolta o aplicație client care se implică în chaturi bazate pe vedere cu un model multimodal, puteți utiliza aceleași tehnici de bază utilizate pentru chaturile bazate pe text. Aveți nevoie de o conexiune la punctul final în care este implementat modelul și utilizați acel punct final pentru a trimite solicitări care constau în mesaje la model și procesați răspunsurile.
Diferența cheie este că prompturile pentru o conversație bazată pe viziune includ mesaje de utilizator în mai multe părți care conțin atât un element de conținut text , cât și un element de conținut de imagine .
Trimite un prompt bazat pe imagini folosind API-ul Răspunsurilor
Pentru a include o imagine într-un prompt folosind API-ul Responses , specificați un URL pentru un fișier de imagine web sau încărcați o imagine locală, codificați datele în format Base64 și trimiteți un URL în acest format data:image/jpeg;base64,{image_data} (înlocuind "jpeg" cu "png" sau în alte formate, după caz).
Următorul exemplu Python arată cum să trimiți o imagine într-un prompt folosind API-ul Responses :
# 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)
Trimite un prompt bazat pe imagine folosind API-ul ChatCompletions
Când folosești endpoint-ul Azure OpenAI pentru a trimite prompturi către modele care nu suportă API-ul Responses , poți folosi API-ul CatCompletions ; Așa:
# 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)