Freigeben über


Verwenden von Bildern mit einem Agenten

In diesem Lernprogramm erfahren Sie, wie Sie Bilder mit einem Agent verwenden, sodass der Agent Bildinhalte analysieren und darauf reagieren kann.

Voraussetzungen

Die erforderlichen Komponenten und die Installation von NuGet-Paketen finden Sie im Schritt Erstellen und Ausführen eines einfachen Agents in diesem Lernprogramm.

Übergeben von Bildern an den Agent

Sie können Bilder an einen Agenten senden, indem Sie einen ChatMessage erstellen, der sowohl Text- als auch Bildinhalte enthält. Der Agent kann das Bild dann analysieren und entsprechend reagieren.

Erstellen Sie zunächst eine AIAgent , die Bilder analysieren kann.

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");

Erstellen Sie als Nächstes ein ChatMessage, das sowohl eine Texteingabeaufforderung als auch eine Bild-URL enthält. Verwenden Sie TextContent für den Text und UriContent für das Bild.

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")
]);

Führen Sie den Agent mit der Nachricht aus. Sie können Streaming verwenden, um die Antwort zu empfangen, während sie generiert wird.

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

Dadurch wird die Analyse des Agenten für das Bild in die Konsole ausgegeben.

Übergeben von Bildern an den Agent

Sie können Bilder an einen Agenten senden, indem Sie einen ChatMessage erstellen, der sowohl Text- als auch Bildinhalte enthält. Der Agent kann das Bild dann analysieren und entsprechend reagieren.

Erstellen Sie zunächst einen Agent, der Bilder analysieren kann.

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

Erstellen Sie als Nächstes ein ChatMessage, das sowohl eine Texteingabeaufforderung als auch eine Bild-URL enthält. Verwenden Sie TextContent für den Text und UriContent für das Bild.

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"
        )
    ]
)

Sie können auch ein Bild aus Ihrem lokalen Dateisystem laden, indem Sie DataContent verwenden:

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"
        )
    ]
)

Führen Sie den Agent mit der Nachricht aus. Sie können Streaming verwenden, um die Antwort zu empfangen, während sie generiert wird.

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

asyncio.run(main())

Dadurch wird die Analyse des Agenten für das Bild in die Konsole ausgegeben.

Nächste Schritte