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 cara mengintegrasikan agen AI ke dalam alur kerja menggunakan Agent Framework. Anda akan belajar membuat alur kerja yang memanfaatkan kekuatan agen AI khusus untuk pembuatan konten, peninjauan, dan tugas kolaboratif lainnya.
Apa yang akan Anda Bangun
Anda akan membuat alur kerja yang:
- Menggunakan Azure Foundry Agent Service untuk membuat agen cerdas
- Menerapkan agen terjemahan Bahasa Prancis yang menerjemahkan input ke bahasa Prancis
- Menerapkan agen terjemahan Spanyol yang menerjemahkan bahasa Prancis ke Spanyol
- Menerapkan agen terjemahan bahasa Inggris yang menerjemahkan bahasa Spanyol kembali ke bahasa Inggris
- Menyambungkan agen dalam alur kerja berurutan
- Mengalirkan pembaruan real-time saat agen memproses permintaan
- Menunjukkan pembersihan sumber daya yang tepat untuk agen Azure Foundry
Konsep yang Tercakup
Prasyarat
- .NET 8.0 SDK atau yang lebih baru
- Titik akhir dan model dari proyek Azure Foundry yang dikonfigurasi
- Azure CLI diinstal dan diautentikasi (untuk autentikasi kredensial Azure)
- Aplikasi konsol baru
Langkah 1: Instal paket NuGet
Pertama, instal paket yang diperlukan untuk proyek .NET Anda:
dotnet add package Azure.AI.Agents.Persistent --prerelease
dotnet add package Azure.Identity
dotnet add package Microsoft.Agents.AI.AzureAI --prerelease
dotnet add package Microsoft.Agents.AI.Workflows --prerelease
Langkah 2: Siapkan Klien Azure Foundry
Konfigurasikan klien Azure Foundry dengan variabel dan autentikasi lingkungan:
using Azure.AI.Agents.Persistent;
using Azure.Identity;
using Microsoft.Agents.AI;
using Microsoft.Agents.AI.Workflows;
using Microsoft.Extensions.AI;
public static class Program
{
private static async Task Main()
{
// Set up the Azure OpenAI client
var endpoint = Environment.GetEnvironmentVariable("AZURE_AI_PROJECT_ENDPOINT")
?? throw new InvalidOperationException("AZURE_AI_PROJECT_ENDPOINT is not set.");
var deploymentName = Environment.GetEnvironmentVariable("AZURE_AI_MODEL_DEPLOYMENT_NAME") ?? "gpt-4o-mini";
var persistentAgentsClient = new PersistentAgentsClient(endpoint, new AzureCliCredential());
Langkah 3: Buat Metode Pabrik Agen
Terapkan metode pembantu untuk membuat agen Azure Foundry dengan instruksi tertentu:
/// <summary>
/// Creates a translation agent for the specified target language.
/// </summary>
/// <param name="targetLanguage">The target language for translation</param>
/// <param name="persistentAgentsClient">The PersistentAgentsClient to create the agent</param>
/// <param name="model">The model to use for the agent</param>
/// <returns>A ChatClientAgent configured for the specified language</returns>
private static async Task<ChatClientAgent> GetTranslationAgentAsync(
string targetLanguage,
PersistentAgentsClient persistentAgentsClient,
string model)
{
var agentMetadata = await persistentAgentsClient.Administration.CreateAgentAsync(
model: model,
name: $"{targetLanguage} Translator",
instructions: $"You are a translation assistant that translates the provided text to {targetLanguage}.");
return await persistentAgentsClient.GetAIAgentAsync(agentMetadata.Value.Id);
}
}
Langkah 4: Buat Agen Azure Foundry Khusus
Buat tiga agen terjemahan menggunakan metode pembantu:
// Create agents
AIAgent frenchAgent = await GetTranslationAgentAsync("French", persistentAgentsClient, deploymentName);
AIAgent spanishAgent = await GetTranslationAgentAsync("Spanish", persistentAgentsClient, deploymentName);
AIAgent englishAgent = await GetTranslationAgentAsync("English", persistentAgentsClient, deploymentName);
Langkah 5: Bangun Alur Kerja
Sambungkan agen dalam alur kerja berurutan menggunakan WorkflowBuilder:
// Build the workflow by adding executors and connecting them
var workflow = new WorkflowBuilder(frenchAgent)
.AddEdge(frenchAgent, spanishAgent)
.AddEdge(spanishAgent, englishAgent)
.Build();
Langkah 6: Jalankan dengan Streaming
Jalankan alur kerja dengan streaming untuk mengamati pembaruan real-time dari semua agen:
// Execute the workflow
await using StreamingRun run = await InProcessExecution.RunStreamingAsync(workflow, new ChatMessage(ChatRole.User, "Hello World!"));
// Must send the turn token to trigger the agents.
// The agents are wrapped as executors. When they receive messages,
// they will cache the messages and only start processing when they receive a TurnToken.
await run.TrySendMessageAsync(new TurnToken(emitEvents: true));
await foreach (WorkflowEvent evt in run.WatchStreamAsync())
{
if (evt is AgentResponseUpdateEvent executorComplete)
{
Console.WriteLine($"{executorComplete.ExecutorId}: {executorComplete.Data}");
}
}
Langkah 7: Pembersihan Sumber Daya
Bersihkan agen Azure Foundry dengan benar setelah digunakan:
// Cleanup the agents created for the sample.
await persistentAgentsClient.Administration.DeleteAgentAsync(frenchAgent.Id);
await persistentAgentsClient.Administration.DeleteAgentAsync(spanishAgent.Id);
await persistentAgentsClient.Administration.DeleteAgentAsync(englishAgent.Id);
}
Cara Kerjanya
-
Penyiapan Klien Azure Foundry: Menggunakan
PersistentAgentsClientdengan kredensial Azure CLI untuk autentikasi - Pembuatan Agen: Membuat agen persisten di Azure Foundry dengan instruksi khusus untuk terjemahan
- Pemrosesan Berurutan: Agen Prancis menerjemahkan input terlebih dahulu, lalu agen Spanyol, lalu agen Bahasa Inggris
-
Mengubah Pola Token: Agen menyimpan pesan dan hanya memproses saat menerima pesan
TurnToken -
Pembaruan Streaming:
AgentResponseUpdateEventmenyediakan pembaruan token real-time saat agen menghasilkan tanggapan - Manajemen Sumber Daya: Pembersihan agen Azure Foundry yang tepat menggunakan API Administrasi
Konsep utama
- Azure Foundry Agent Service: Agen AI berbasis cloud dengan kemampuan penalaran tingkat lanjut
- PersistentAgentsClient: Klien untuk membuat dan mengelola agen di Azure Foundry
-
WorkflowEvent: Peristiwa output (
type="output") berisi data output agen (AgentResponseUpdateuntuk streaming,AgentResponseuntuk non-streaming) - TurnToken: Sinyal yang memicu pemrosesan agen sistem setelah cache pesan
- Alur Kerja Berurutan: Agen yang tersambung dalam alur tempat output mengalir dari satu ke alur berikutnya
Implementasi Lengkap
Untuk implementasi kerja lengkap alur kerja agen Azure Foundry ini, lihat sampel foundryAgent Program.cs di repositori Kerangka Kerja Agen.
Apa yang akan Anda Bangun
Anda akan membuat alur kerja yang:
- Menggunakan
AzureOpenAIResponsesClientuntuk membuat agen cerdas - Menerapkan agen Writer yang membuat konten berdasarkan perintah
- Menerapkan agen Peninjau yang memberikan umpan balik tentang konten
- Menyambungkan agen dalam alur kerja berurutan
- Mengalirkan pembaruan real-time saat agen memproses permintaan
Konsep yang Tercakup
Prasyarat
- Python 3.10 atau yang lebih baru
- Kerangka Kerja Agen terinstal:
pip install agent-framework --pre - Respons Azure OpenAI dikonfigurasi dengan variabel lingkungan yang tepat
- Autentikasi Azure CLI:
az login
Langkah 1: Impor Dependensi yang Diperlukan
Mulailah dengan mengimpor komponen yang diperlukan untuk alur kerja dan agen Azure OpenAI Responses:
import asyncio
import os
from agent_framework import AgentResponseUpdate, WorkflowBuilder
from agent_framework.azure import AzureOpenAIResponsesClient
from azure.identity import AzureCliCredential
Langkah 2: Membuat Klien Respons Azure OpenAI
Buat satu klien bersama yang dapat Anda gunakan untuk membuat beberapa agen:
async def main() -> None:
client = AzureOpenAIResponsesClient(
project_endpoint=os.environ["AZURE_AI_PROJECT_ENDPOINT"],
deployment_name=os.environ["AZURE_AI_MODEL_DEPLOYMENT_NAME"],
credential=AzureCliCredential(),
)
Langkah 3: Buat Agen Khusus
Buat dua agen khusus untuk pembuatan dan peninjauan konten:
# Create a Writer agent that generates content
writer_agent = client.as_agent(
name="Writer",
instructions=(
"You are an excellent content writer. You create new content and edit contents based on the feedback."
),
)
# Create a Reviewer agent that provides feedback
reviewer_agent = client.as_agent(
name="Reviewer",
instructions=(
"You are an excellent content reviewer. "
"Provide actionable feedback to the writer about the provided content. "
"Provide the feedback in the most concise manner possible."
),
)
Langkah 4: Bangun Alur Kerja
Sambungkan agen dalam alur kerja berurutan menggunakan pembangun:
# Build the workflow with agents as executors
workflow = WorkflowBuilder(start_executor=writer_agent).add_edge(writer_agent, reviewer_agent).build()
Langkah 5: Jalankan dengan Streaming
Jalankan alur kerja dengan streaming untuk mengamati pembaruan real time dari kedua agen:
last_author: str | None = None
events = workflow.run("Create a slogan for a new electric SUV that is affordable and fun to drive.", stream=True)
async for event in events:
if event.type == "output" and isinstance(event.data, AgentResponseUpdate):
update = event.data
author = update.author_name
if author != last_author:
if last_author is not None:
print()
print(f"{author}: {update.text}", end="", flush=True)
last_author = author
else:
print(update.text, end="", flush=True)
Langkah 6: Selesaikan Fungsi Utama
Bungkus semuanya dalam fungsi utama dengan eksekusi asinkron yang tepat:
if __name__ == "__main__":
asyncio.run(main())
Cara Kerjanya
-
Penyiapan Klien: Menggunakan satu
AzureOpenAIResponsesClientdengan kredensial Azure CLI untuk autentikasi. - Pembuatan Agen: Membuat agen Penulis dan Peninjau dari konfigurasi klien yang sama.
- Pemrosesan Berurutan: Agen penulis menghasilkan konten terlebih dahulu, lalu meneruskannya ke agen Peninjau.
-
Pembaruan Streaming: Peristiwa output (
type="output") denganAgentResponseUpdatedata menyediakan pembaruan token real-time saat agen menghasilkan respons.
Konsep utama
- AzureOpenAIResponsesClient: Klien bersama digunakan untuk membuat agen alur kerja dengan konfigurasi yang konsisten.
-
WorkflowEvent: Peristiwa output (
type="output") berisi data output agen (AgentResponseUpdateuntuk streaming,AgentResponseuntuk non-streaming). - Alur Kerja Berurutan: Agen yang tersambung dalam alur tempat output mengalir dari satu ke alur berikutnya.
Implementasi Lengkap
Untuk implementasi kerja lengkap, lihat azure_ai_agents_streaming.py di repositori Kerangka Kerja Agen.