Langkah 1: Agen Pertama Anda

Buat agen dan dapatkan respons — hanya dalam beberapa baris kode.

dotnet add package Azure.AI.Projects --prerelease
dotnet add package Azure.Identity
dotnet add package Microsoft.Agents.AI.Foundry --prerelease

Buat agen:

using System;
using Azure.AI.Projects;
using Azure.Identity;
using Microsoft.Agents.AI;

var endpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT")
    ?? throw new InvalidOperationException("Set AZURE_OPENAI_ENDPOINT");
var deploymentName = Environment.GetEnvironmentVariable("AZURE_OPENAI_DEPLOYMENT_NAME") ?? "gpt-4o-mini";

AIAgent agent = new AIProjectClient(new Uri(endpoint), new DefaultAzureCredential())
    .AsAIAgent(
        model: deploymentName,
        instructions: "You are a friendly assistant. Keep your answers brief.",
        name: "HelloAgent");

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.

Jalankan:

Console.WriteLine(await agent.RunAsync("What is the largest city in France?"));

Atau streaming respons:

await foreach (var update in agent.RunStreamingAsync("Tell me a one-sentence fun fact."))
{
    Console.Write(update);
}

Petunjuk / Saran

Lihat di sini untuk aplikasi sampel lengkap yang dapat dijalankan.

pip install agent-framework

Membuat dan menjalankan agen:

client = FoundryChatClient(
    project_endpoint="https://your-project.services.ai.azure.com",
    model="gpt-4o",
    credential=AzureCliCredential(),
)

agent = Agent(
    client=client,
    name="HelloAgent",
    instructions="You are a friendly assistant. Keep your answers brief.",
)
# Non-streaming: get the complete response at once
result = await agent.run("What is the capital of France?")
print(f"Agent: {result}")

Atau streaming respons:

# Streaming: receive tokens as they are generated
print("Agent (streaming): ", end="", flush=True)
async for chunk in agent.run("Tell me a one-sentence fun fact.", stream=True):
    if chunk.text:
        print(chunk.text, end="", flush=True)
print()

Nota

Agent Framework tidak memuat .env file secara otomatis. Untuk menggunakan .env file untuk konfigurasi, hubungi load_dotenv() di awal skrip Anda:

from dotenv import load_dotenv
load_dotenv()

Atau, atur variabel lingkungan langsung di shell atau IDE Anda. Lihat catatan migrasi pengaturan untuk detailnya.

Petunjuk / Saran

Lihat sampel lengkap untuk file lengkap yang dapat dijalankan.

Langkah selanjutnya

Masuk lebih dalam: