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.
Microsoft Agent Framework mendukung pembuatan agen yang menggunakan Foundry Agent Service. Anda dapat membuat instans agen berbasis layanan persisten dengan riwayat obrolan yang dikelola layanan.
Memulai Langkah Awal
Tambahkan paket NuGet yang diperlukan ke proyek Anda.
dotnet add package Azure.Identity
dotnet add package Microsoft.Agents.AI.AzureAI.Persistent --prerelease
Membuat Agen Foundry
Sebagai langkah pertama, Anda perlu membuat klien untuk terhubung ke Layanan Agen.
using System;
using Azure.AI.Agents.Persistent;
using Azure.Identity;
using Microsoft.Agents.AI;
var persistentAgentsClient = new PersistentAgentsClient(
"https://<myresource>.services.ai.azure.com/api/projects/<myproject>",
new DefaultAzureCredential());
Peringatan
DefaultAzureCredential nyaman untuk pengembangan tetapi membutuhkan pertimbangan yang cermat dalam produksi. Dalam produksi, pertimbangkan untuk menggunakan kredensial tertentu (misalnya, ManagedIdentityCredential) untuk menghindari masalah latensi, pemeriksaan kredensial yang tidak diinginkan, dan potensi risiko keamanan dari mekanisme fallback.
Untuk menggunakan Layanan Agen, Anda perlu membuat sumber daya agen dalam layanan. Ini dapat dilakukan menggunakan Azure.AI.Agents.Persistent SDK atau menggunakan pembantu Microsoft Agent Framework.
Menggunakan SDK Persisten
Buat agen persisten dan memerolehnya sebagai AIAgent dengan menggunakan PersistentAgentsClient.
// Create a persistent agent
var agentMetadata = await persistentAgentsClient.Administration.CreateAgentAsync(
model: "gpt-4o-mini",
name: "Joker",
instructions: "You are good at telling jokes.");
// Retrieve the agent that was just created as an AIAgent using its ID
AIAgent agent1 = await persistentAgentsClient.GetAIAgentAsync(agentMetadata.Value.Id);
// Invoke the agent and output the text result.
Console.WriteLine(await agent1.RunAsync("Tell me a joke about a pirate."));
Menggunakan fungsi bantu Agent Framework
Anda juga dapat membuat dan mengembalikan AIAgent dalam satu langkah:
AIAgent agent2 = await persistentAgentsClient.CreateAIAgentAsync(
model: "gpt-4o-mini",
name: "Joker",
instructions: "You are good at telling jokes.");
Penggunaan Kembali Agen Foundry
Anda dapat menggunakan kembali Agen Foundry yang ada dengan mengambilnya menggunakan ID unik mereka.
AIAgent agent3 = await persistentAgentsClient.GetAIAgentAsync("<agent-id>");
Petunjuk / Saran
Lihat sampel .NET untuk contoh lengkap yang dapat dijalankan.
Menggunakan agen
Agen adalah standar AIAgent dan mendukung semua operasi standar AIAgent .
Untuk informasi selengkapnya tentang cara menjalankan dan berinteraksi dengan agen, lihat tutorial Memulai Agen.
Konfigurasi
Variabel Lingkungan
Sebelum menggunakan Agen Foundry, Anda perlu menyiapkan variabel lingkungan ini:
export AZURE_AI_PROJECT_ENDPOINT="https://<your-project>.services.ai.azure.com/api/projects/<project-id>"
export AZURE_AI_MODEL_DEPLOYMENT_NAME="gpt-4o-mini"
Atau, Anda dapat memberikan nilai-nilai ini langsung dalam kode Anda.
Penginstalan
Tambahkan paket Agent Framework Azure AI ke proyek Anda:
pip install agent-framework-azure-ai --pre
Memulai Langkah Awal
Authentication
Agen Foundry menggunakan kredensial Azure untuk autentikasi. Pendekatan paling sederhana adalah menggunakan AzureCliCredential setelah menjalankan az login. Semua klien Azure AI menerima parameter terpadu credential yang mendukung TokenCredential, AsyncTokenCredential atau penyedia token yang dapat dipanggil — penyimpanan cache dan refresh token ditangani secara otomatis.
from azure.identity.aio import AzureCliCredential
async with AzureCliCredential() as credential:
# Use credential with Azure AI agent client
Membuat Agen Foundry
Pembuatan Agen Dasar
Cara paling sederhana untuk membuat agen adalah menggunakan AzureAIAgentClient dengan variabel lingkungan:
import asyncio
from agent_framework.azure import AzureAIAgentClient
from azure.identity.aio import AzureCliCredential
async def main():
async with (
AzureCliCredential() as credential,
AzureAIAgentClient(credential=credential).as_agent(
name="HelperAgent",
instructions="You are a helpful assistant."
) as agent,
):
result = await agent.run("Hello!")
print(result.text)
asyncio.run(main())
Konfigurasi Eksplisit
Anda juga dapat menyediakan konfigurasi secara eksplisit alih-alih menggunakan variabel lingkungan:
import asyncio
from agent_framework.azure import AzureAIAgentClient
from azure.identity.aio import AzureCliCredential
async def main():
async with (
AzureCliCredential() as credential,
AzureAIAgentClient(
project_endpoint="https://<your-project>.services.ai.azure.com/api/projects/<project-id>",
model_deployment_name="gpt-4o-mini",
credential=credential,
agent_name="HelperAgent"
).as_agent(
instructions="You are a helpful assistant."
) as agent,
):
result = await agent.run("Hello!")
print(result.text)
asyncio.run(main())
Menggunakan Agen Foundry yang Ada
Menggunakan Agen yang Sudah Ada
Jika Anda memiliki agen yang sudah ada di Foundry, Anda dapat menggunakannya dengan memberikan ID-nya:
import asyncio
from agent_framework import Agent
from agent_framework.azure import AzureAIAgentClient
from azure.identity.aio import AzureCliCredential
async def main():
async with (
AzureCliCredential() as credential,
Agent(
chat_client=AzureAIAgentClient(
credential=credential,
agent_id="<existing-agent-id>"
),
instructions="You are a helpful assistant."
) as agent,
):
result = await agent.run("Hello!")
print(result.text)
asyncio.run(main())
Membuat dan Mengelola Agen Persisten
Untuk kontrol lebih besar atas siklus hidup agen, Anda dapat membuat agen persisten menggunakan klien Azure AI Projects:
import asyncio
import os
from agent_framework import Agent
from agent_framework.azure import AzureAIAgentClient
from azure.ai.projects.aio import AIProjectClient
from azure.identity.aio import AzureCliCredential
async def main():
async with (
AzureCliCredential() as credential,
AIProjectClient(
endpoint=os.environ["AZURE_AI_PROJECT_ENDPOINT"],
credential=credential
) as project_client,
):
# Create a persistent agent
created_agent = await project_client.agents.create_agent(
model=os.environ["AZURE_AI_MODEL_DEPLOYMENT_NAME"],
name="PersistentAgent",
instructions="You are a helpful assistant."
)
try:
# Use the agent
async with Agent(
chat_client=AzureAIAgentClient(
project_client=project_client,
agent_id=created_agent.id
),
instructions="You are a helpful assistant."
) as agent:
result = await agent.run("Hello!")
print(result.text)
finally:
# Clean up the agent
await project_client.agents.delete_agent(created_agent.id)
asyncio.run(main())
Fitur Agen
Opsi Pengaturan Penalaran dan Pemfilteran Konten
Saat membuat agen melalui penyedia proyek Azure AI, Anda dapat mengatur default_options untuk mengaktifkan penalaran model dan pemfilteran konten AI yang bertanggung jawab.
Gunakan reasoning untuk model berkemampuan penalaran:
from agent_framework.azure import AzureAIProjectAgentProvider
from azure.ai.projects.models import Reasoning
from azure.identity.aio import AzureCliCredential
async with (
AzureCliCredential() as credential,
AzureAIProjectAgentProvider(credential=credential) as provider,
):
agent = await provider.create_agent(
async with (
AzureCliCredential() as credential,
AzureAIProjectAgentProvider(credential=credential) as provider,
):
agent = await provider.create_agent(
Gunakan rai_config untuk menerapkan kebijakan RAI yang dikonfigurasi:
from azure.ai.projects.models import RaiConfig
from azure.identity.aio import AzureCliCredential
async def main() -> None:
print("=== Azure AI Agent with Content Filtering ===\n")
# Replace with your RAI policy from Azure AI Foundry portal
rai_policy_name = (
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/"
"Microsoft.CognitiveServices/accounts/{accountName}/raiPolicies/{policyName}"
)
async with (
AzureCliCredential() as credential,
AzureAIProjectAgentProvider(credential=credential) as provider,
):
# Create agent with content filtering enabled via default_options
agent = await provider.create_agent(
Perangkat Fungsional
Anda dapat menyediakan alat fungsi kustom untuk agen Foundry:
import asyncio
from typing import Annotated
from agent_framework.azure import AzureAIAgentClient
from azure.identity.aio import AzureCliCredential
from pydantic import Field
def get_weather(
location: Annotated[str, Field(description="The location to get the weather for.")],
) -> str:
"""Get the weather for a given location."""
return f"The weather in {location} is sunny with a high of 25°C."
async def main():
async with (
AzureCliCredential() as credential,
AzureAIAgentClient(credential=credential).as_agent(
name="WeatherAgent",
instructions="You are a helpful weather assistant.",
tools=get_weather
) as agent,
):
result = await agent.run("What's the weather like in Seattle?")
print(result.text)
asyncio.run(main())
Penerjemah Kode
Agen Foundry mendukung eksekusi kode melalui penerjemah kode yang dihosting:
import asyncio
from agent_framework.azure import AzureAIAgentClient
from azure.identity.aio import AzureCliCredential
async def main():
async with (
AzureCliCredential() as credential,
AzureAIAgentClient(credential=credential) as client,
client.as_agent(
name="CodingAgent",
instructions="You are a helpful assistant that can write and execute Python code.",
tools=client.get_code_interpreter_tool(),
) as agent,
):
result = await agent.run("Calculate the factorial of 20 using Python code.")
print(result.text)
asyncio.run(main())
Respons yang Mengalir
Dapatkan respons seiring dengan proses pemrosesan menggunakan streaming:
import asyncio
from agent_framework.azure import AzureAIAgentClient
from azure.identity.aio import AzureCliCredential
async def main():
async with (
AzureCliCredential() as credential,
AzureAIAgentClient(credential=credential).as_agent(
name="StreamingAgent",
instructions="You are a helpful assistant."
) as agent,
):
print("Agent: ", end="", flush=True)
async for chunk in agent.run("Tell me a short story", stream=True):
if chunk.text:
print(chunk.text, end="", flush=True)
print()
asyncio.run(main())
Menggunakan Agen
Agen ini adalah BaseAgent standar dan mendukung semua operasi agen standar.
Untuk informasi selengkapnya tentang cara menjalankan dan berinteraksi dengan agen, lihat tutorial Memulai Agen.