Dezvoltarea unei aplicații de chat bazate pe vedere

Finalizat

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 .

Diagrama unei solicitări cu mai multe părți remisă la un model.

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)