Aracılığıyla paylaş


Bir ajan ile görüntü kullanma

Bu öğretici, bir temsilciyle görüntüleri nasıl kullanacağınızı gösteriyor ve temsilcinin görüntü içeriğini analiz etmesine ve yanıt vermesine olanak tanıyor.

Ajan'a görüntü aktarma

Hem metin hem de görüntü içeriği içeren bir ChatMessage oluşturarak aracıya görüntü gönderebilirsiniz. Aracı daha sonra görüntüyü analiz edebilir ve uygun şekilde yanıt verebilir.

İlk olarak, görüntüleri analiz edebilen bir AIAgent oluşturun.

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

Uyarı

DefaultAzureCredential geliştirme için uygundur ancak üretimde dikkatli bir şekilde dikkate alınması gerekir. Üretimde gecikme sorunları, istenmeyen kimlik bilgisi yoklama ve geri dönüş mekanizmalarından kaynaklanan olası güvenlik risklerini önlemek için belirli bir kimlik bilgisi (ör ManagedIdentityCredential. ) kullanmayı göz önünde bulundurun.

Ardından, hem bir metin istemi hem de bir resim URL'si içeren ChatMessage oluşturun. TextContent metin için ve UriContent resim için kullanın.

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

Ajanı mesajla çalıştırın. Oluşturulan yanıtı almak için akış kullanabilirsiniz.

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

Bu, ajanın görüntü analizini konsola yazdırır.

Ajan'a görüntü aktarma

Hem metin hem de görüntü içeriği içeren bir Message oluşturarak aracıya görüntü gönderebilirsiniz. Aracı daha sonra görüntüyü analiz edebilir ve uygun şekilde yanıt verebilir.

İlk olarak, görüntüleri analiz edebilen bir aracı oluşturun.

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

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

Ardından, hem bir metin istemi hem de bir resim URL'si içeren Message oluşturun. Content.from_text() metin için ve Content.from_uri() resim için kullanın.

from agent_framework import Message, Content

message = Message(
    role="user",
    contents=[
        Content.from_text(text="What do you see in this image?"),
        Content.from_uri(
            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"
        )
    ]
)

Ayrıca kullanarak Content.from_data()yerel dosya sisteminizden bir görüntü yükleyebilirsiniz:

from agent_framework import Message, Content

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

message = Message(
    role="user",
    contents=[
        Content.from_text(text="What do you see in this image?"),
        Content.from_data(
            data=image_bytes,
            media_type="image/jpeg"
        )
    ]
)

Ajanı mesajla çalıştırın. Oluşturulan yanıtı almak için akış kullanabilirsiniz.

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

asyncio.run(main())

Bu, ajanın görüntü analizini konsola yazdırır.

Sonraki Adımlar