Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Ez az oktatóanyag bemutatja, hogyan használhat képeket egy ügynökkel, így az ügynök elemezheti és válaszolhat a képtartalmakra.
Képek átadása az ügynöknek
Képeket küldhet egy ügynöknek egy szöveg- és képtartalmat ChatMessage is tartalmazó létrehozással. Az ügynök ezután elemezheti a képet, és ennek megfelelően válaszolhat.
Először hozzon létre egy olyant AIAgent , amely képes képek elemzésére.
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");
Figyelmeztetés
DefaultAzureCredential a fejlesztéshez kényelmes, de a termelési környezetben gondos megfontolást igényel. Éles környezetben fontolja meg egy adott hitelesítő adat (pl. ManagedIdentityCredential) használatát a késési problémák elkerülése, a hitelesítő adatok nem szándékos próbálgatásának és a tartalék mechanizmusokból eredő esetleges biztonsági kockázatok elkerülése érdekében.
Ezután hozzon létre egy ChatMessage-t, amely tartalmaz egy szöveges utasítást és egy kép URL-címet is. A TextContent szöveghez és UriContent a képhez használható.
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")
]);
Futtassa az ügynököt a(z) üzenettel. A streamelést használva fogadhatja a választ, miközben az generálódik.
Console.WriteLine(await agent.RunAsync(message));
Ezzel kinyomtatja az ügynök képelemzését a konzolra.
Képek átadása az ügynöknek
Képeket küldhet egy ügynöknek egy szöveg- és képtartalmat Message is tartalmazó létrehozással. Az ügynök ezután elemezheti a képet, és ennek megfelelően válaszolhat.
Először hozzon létre egy ügynököt, amely képes képek elemzésére.
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"
)
Ezután hozzon létre egy Message-t, amely tartalmaz egy szöveges utasítást és egy kép URL-címet is. A Content.from_text() szöveghez és Content.from_uri() a képhez használható.
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"
)
]
)
A helyi fájlrendszerből is betölthet egy képet a Content.from_data() használatával.
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"
)
]
)
Futtassa az ügynököt a(z) üzenettel. A streamelést használva fogadhatja a választ, miközben az generálódik.
async def main():
result = await agent.run(message)
print(result.text)
asyncio.run(main())
Ezzel kinyomtatja az ügynök képelemzését a konzolra.