Látásalapú csevegőalkalmazás fejlesztése

Befejeződött

Tip

További részletekért tekintse meg a Szöveg és képek lapot!

Ha olyan ügyfélalkalmazást szeretne fejleszteni, amely többmodális modellel folytatott látásalapú csevegéseket, ugyanazokat az alapvető technikákat használhatja, mint a szöveges csevegésekhez. Ahhoz a végponthoz, ahol a modell üzembe van helyezve, kapcsolatot kell létesítenie, és ezzel a végponttal küldhet üzeneteket a modellnek, és feldolgozhatja a válaszokat.

A fő különbség az, hogy a látásalapú csevegésre irányuló kérések olyan többrészes felhasználói üzeneteket tartalmaznak, amelyek szöveges tartalomelemet és képtartalmat is tartalmaznak.

Diagram egy modellbe küldött többrészes parancssorról.

Képalapú kérés küldése a Responses API használatával

Ha a Válaszok API használatával szeretne képet felvenni egy üzenetbe, adjon meg egy URL-címet egy webalapú képfájlhoz, vagy töltsen be egy helyi képet, és kódolja az adatokat Base64 formátumban, és küldjön be egy URL-címet a formátumban data:image/jpeg;base64,{image_data} (a "jpeg" helyett a "png" pr egyéb formátumokat kell megadni.

Az alábbi Python-példa bemutatja, hogyan küldhet be képet egy parancssorba a Responses API használatával:

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

Képalapú kérés küldése a ChatCompletions API használatával

Ha az Azure OpenAI-végpontot használja a Válaszok API-t nem támogató modelleknek történő kérések küldéséhez, használhatja a CatCompletions API-t ; tetszik:

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