Delen via


Afbeeldingen gebruiken met een agent

In deze zelfstudie leert u hoe u afbeeldingen gebruikt met een agent, zodat de agent afbeeldingsinhoud kan analyseren en erop kan reageren.

Vereiste voorwaarden

Zie de stap Een eenvoudige agent maken en uitvoeren in deze zelfstudie voor vereisten en het installeren van NuGet-pakketten.

Afbeeldingen doorgeven aan de agent

U kunt afbeeldingen naar een agent verzenden door een ChatMessage te maken die zowel tekst- als afbeeldingsinhoud bevat. De agent kan vervolgens de afbeelding analyseren en dienovereenkomstig reageren.

Maak eerst een AIAgent die afbeeldingen kan analyseren.

AIAgent agent = new AzureOpenAIClient(
    new Uri("https://<myresource>.openai.azure.com"),
    new AzureCliCredential())
    .GetChatClient("gpt-4o")
    .CreateAIAgent(
        name: "VisionAgent",
        instructions: "You are a helpful agent that can analyze images");

Maak vervolgens een ChatMessage tekstprompt en een afbeeldings-URL. Gebruiken TextContent voor de tekst en UriContent voor de afbeelding.

ChatMessage message = new(ChatRole.User, [
    new TextContent("What do you see in this image?"),
    new UriContent("https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg", "image/jpeg")
]);

Voer de agent uit met het bericht. U kunt streaming gebruiken om het antwoord te ontvangen terwijl het wordt gegenereerd.

Console.WriteLine(await agent.RunAsync(message));

Hiermee wordt de analyse van de afbeelding door de agent naar de console afgedrukt.

Afbeeldingen doorgeven aan de agent

U kunt afbeeldingen naar een agent verzenden door een ChatMessage te maken die zowel tekst- als afbeeldingsinhoud bevat. De agent kan vervolgens de afbeelding analyseren en dienovereenkomstig reageren.

Maak eerst een agent die afbeeldingen kan analyseren.

import asyncio
from agent_framework.azure import AzureOpenAIChatClient
from azure.identity import AzureCliCredential

agent = AzureOpenAIChatClient(credential=AzureCliCredential()).create_agent(
    name="VisionAgent",
    instructions="You are a helpful agent that can analyze images"
)

Maak vervolgens een ChatMessage tekstprompt en een afbeeldings-URL. Gebruiken TextContent voor de tekst en UriContent voor de afbeelding.

from agent_framework import ChatMessage, TextContent, UriContent, Role

message = ChatMessage(
    role=Role.USER,
    contents=[
        TextContent(text="What do you see in this image?"),
        UriContent(
            uri="https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg",
            media_type="image/jpeg"
        )
    ]
)

U kunt ook een afbeelding laden vanuit uw lokale bestandssysteem met DataContent:

from agent_framework import ChatMessage, TextContent, DataContent, Role

# Load image from local file
with open("path/to/your/image.jpg", "rb") as f:
    image_bytes = f.read()

message = ChatMessage(
    role=Role.USER,
    contents=[
        TextContent(text="What do you see in this image?"),
        DataContent(
            data=image_bytes,
            media_type="image/jpeg"
        )
    ]
)

Voer de agent uit met het bericht. U kunt streaming gebruiken om het antwoord te ontvangen terwijl het wordt gegenereerd.

async def main():
    result = await agent.run(message)
    print(result.text)

asyncio.run(main())

Hiermee wordt de analyse van de afbeelding door de agent naar de console afgedrukt.

Volgende stappen