Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Tutorial ini menunjukkan kepada Anda cara membuat dan menjalankan agen dengan Agent Framework, berdasarkan layanan Penyelesaian Obrolan Azure OpenAI.
Penting
Agent Framework mendukung berbagai jenis agen. Tutorial ini menggunakan agen berdasarkan layanan Penyelesaian Obrolan, tetapi semua jenis agen lainnya dijalankan dengan cara yang sama. Untuk informasi selengkapnya tentang jenis agen lain dan cara membangunnya, lihat panduan pengguna Agent Framework.
Prasyarat
Sebelum memulai, pastikan Anda memiliki prasyarat berikut:
- .NET 8.0 SDK atau yang lebih baru
- Titik akhir layanan Azure OpenAI dan penyebaran telah dikonfigurasi
- Azure CLI diinstal dan diautentikasi (untuk autentikasi kredensial Azure)
-
Pengguna memiliki
Cognitive Services OpenAI Userperan atauCognitive Services OpenAI Contributoruntuk sumber daya Azure OpenAI.
Nota
Microsoft Agent Framework didukung dengan semua versi .NET yang didukung secara aktif. Untuk tujuan sampel ini, kami merekomendasikan .NET 8 SDK atau versi yang lebih baru.
Penting
Tutorial ini menggunakan Azure OpenAI untuk layanan Penyelesaian Obrolan, tetapi Anda dapat menggunakan layanan inferensi apa pun yang menyediakan IChatClient implementasi.
Menginstal paket NuGet
Untuk menggunakan Microsoft Agent Framework dengan Azure OpenAI, Anda perlu menginstal paket NuGet berikut:
dotnet add package Azure.AI.OpenAI --prerelease
dotnet add package Azure.Identity
dotnet add package Microsoft.Agents.AI.OpenAI --prerelease
Membuat agen
- Pertama, buat klien untuk Azure OpenAI dengan menyediakan titik akhir Azure OpenAI dan gunakan login yang sama dengan yang Anda gunakan saat mengautentikasi dengan Azure CLI di langkah Prasyarat .
- Kemudian, dapatkan klien obrolan untuk berkomunikasi dengan layanan penyelesaian obrolan, di mana Anda juga menentukan penyebaran model tertentu untuk digunakan. Gunakan salah satu deployment yang Anda buat di langkah Prasyarat.
- Terakhir, buat agen, berikan instruksi dan nama untuk agen.
using System;
using Azure.AI.OpenAI;
using Azure.Identity;
using Microsoft.Agents.AI;
using Microsoft.Extensions.AI;
using OpenAI;
AIAgent agent = new AzureOpenAIClient(
new Uri("https://<myresource>.openai.azure.com"),
new AzureCliCredential())
.GetChatClient("gpt-4o-mini")
.AsAIAgent(instructions: "You are good at telling jokes.", name: "Joker");
Menjalankan agen
Untuk menjalankan agen, panggil RunAsync metode pada instans agen, berikan input pengguna.
Agen akan mengembalikan AgentResponse objek, dan memanggil .ToString() atau .Text pada objek respons ini, memberikan hasil teks dari agen.
Console.WriteLine(await agent.RunAsync("Tell me a joke about a pirate."));
Contoh output:
Why did the pirate go to school?
Because he wanted to improve his "arrr-ticulation"! 🏴☠️
Menjalankan agen dengan streaming
Untuk menjalankan agen dengan streaming, panggil metode RunStreamingAsync pada instans agen, sambil memberikan input pengguna.
Agen akan mengembalikan objek aliran AgentResponseUpdate , dan memanggil .ToString() atau .Text pada setiap objek pembaruan menyediakan bagian dari hasil teks yang terkandung dalam pembaruan tersebut.
await foreach (var update in agent.RunStreamingAsync("Tell me a joke about a pirate."))
{
Console.WriteLine(update);
}
Contoh output:
Why
did
the
pirate
go
to
school
?
To
improve
his
"
ar
rrrr
rr
tic
ulation
!"
Menjalankan agen dengan ChatMessages
Alih-alih string sederhana, Anda juga dapat menyediakan satu atau beberapa ChatMessage objek ke RunAsync metode dan RunStreamingAsync .
Berikut adalah contoh dengan satu pesan pengguna:
ChatMessage message = new(ChatRole.User, [
new TextContent("Tell me a joke about this image?"),
new UriContent("https://upload.wikimedia.org/wikipedia/commons/1/11/Joseph_Grimaldi.jpg", "image/jpeg")
]);
Console.WriteLine(await agent.RunAsync(message));
Contoh output:
Why did the clown bring a bottle of sparkling water to the show?
Because he wanted to make a splash!
Berikut adalah contoh dengan sistem dan pesan pengguna:
ChatMessage systemMessage = new(
ChatRole.System,
"""
If the user asks you to tell a joke, refuse to do so, explaining that you are not a clown.
Offer the user an interesting fact instead.
""");
ChatMessage userMessage = new(ChatRole.User, "Tell me a joke about a pirate.");
Console.WriteLine(await agent.RunAsync([systemMessage, userMessage]));
Contoh output:
I'm not a clown, but I can share an interesting fact! Did you know that pirates often revised the Jolly Roger flag? Depending on the pirate captain, it could feature different symbols like skulls, bones, or hourglasses, each representing their unique approach to piracy.
Tutorial ini menunjukkan kepada Anda cara membuat dan menjalankan agen dengan Agent Framework, berdasarkan layanan Penyelesaian Obrolan Azure OpenAI.
Penting
Agent Framework mendukung berbagai jenis agen. Tutorial ini menggunakan agen berdasarkan layanan Penyelesaian Obrolan, tetapi semua jenis agen lainnya dijalankan dengan cara yang sama. Untuk informasi selengkapnya tentang jenis agen lain dan cara membangunnya, lihat panduan pengguna Agent Framework.
Prasyarat
Sebelum memulai, pastikan Anda memiliki prasyarat berikut:
- Python 3.10 atau yang lebih baru
- Titik akhir layanan Azure OpenAI dan penyebaran telah dikonfigurasi
- Azure CLI diinstal dan diautentikasi (untuk autentikasi kredensial Azure)
-
Pengguna memiliki
Cognitive Services OpenAI Userperan atauCognitive Services OpenAI Contributoruntuk sumber daya Azure OpenAI.
Penting
Tutorial ini menggunakan Azure OpenAI untuk layanan Penyelesaian Obrolan, tetapi Anda dapat menggunakan layanan inferensi apa pun yang kompatibel dengan protokol klien obrolan Agent Framework.
Memasang paket Python
Untuk menggunakan Microsoft Agent Framework dengan Azure OpenAI, Anda perlu menginstal paket Python berikut:
pip install agent-framework --pre
Membuat agen
- Pertama, buat klien obrolan untuk berkomunikasi dengan Azure OpenAI dan gunakan login yang sama seperti yang Anda gunakan saat mengautentikasi dengan Azure CLI di langkah Prasyarat .
- Kemudian, buat agen, berikan instruksi dan nama untuk agen.
import asyncio
from agent_framework.azure import AzureOpenAIChatClient
from azure.identity import AzureCliCredential
agent = AzureOpenAIChatClient(credential=AzureCliCredential()).as_agent(
instructions="You are good at telling jokes.",
name="Joker"
)
Menjalankan agen
Untuk menjalankan agen, panggil run metode pada instans agen, berikan input pengguna.
Agen akan mengembalikan objek respons, dan mengakses properti .text menyediakan hasil teks dari agen.
async def main():
result = await agent.run("Tell me a joke about a pirate.")
print(result.text)
asyncio.run(main())
Menjalankan agen dengan streaming
Untuk menjalankan agen dengan streaming, panggil metode run_stream pada instans agen, sambil memberikan input pengguna.
Agen akan menyampaikan daftar objek pembaruan, dan mengakses properti .text pada setiap objek pembaruan menyediakan bagian hasil teks yang terkandung dalam pembaruan tersebut.
async def main():
async for update in agent.run_stream("Tell me a joke about a pirate."):
if update.text:
print(update.text, end="", flush=True)
print() # New line after streaming is complete
asyncio.run(main())
Menjalankan agen dengan ChatMessage
Alih-alih string sederhana, Anda juga dapat menyediakan satu atau beberapa ChatMessage objek ke run metode dan run_stream .
from agent_framework import ChatMessage, TextContent, UriContent, Role
message = ChatMessage(
role=Role.USER,
contents=[
TextContent(text="Tell me a joke about this image?"),
UriContent(uri="https://samplesite.org/clown.jpg", media_type="image/jpeg")
]
)
async def main():
result = await agent.run(message)
print(result.text)
asyncio.run(main())