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.
Blok pembangun Percakapan Dapr merutekan inferensi model melalui sidecar Dapr dan mengekspos IChatClient yang dapat mendukung agen Agent Framework .NET. Penyedia model dan kredensial dikonfigurasi dalam komponen Percakapan Dapr daripada langsung dalam proses agen.
Prasyarat
- .NET 10 atau yang lebih baru.
- Docker dan Dapr CLI.
- Komponen Percakapan Dapr yang dikonfigurasi, seperti komponen yang didukung Ollama.
Instal paket-paket tersebut
dotnet add package Dapr.AI.Microsoft.Extensions
dotnet add package Microsoft.Agents.AI --prerelease
Configuration
DAPR_GRPC_ENDPOINT="http://localhost:3501"
DAPR_GRPC_ENDPOINT bersifat opsional dan bernilai default ke http://localhost:3501. Atur ConversationComponentName dalam kode aplikasi ke nama komponen Percakapan Dapr, seperti ollama.
Membuat agen yang didukung Dapr
Konfigurasikan titik akhir sidecar Dapr dan komponen Percakapan melalui injeksi dependensi, atasi IChatClient, dan konversikan ke agen.
// the sidecar (see this sample's README). Override it with the DAPR_GRPC_ENDPOINT environment
// variable if you run the sidecar on a different port.
var daprGrpcEndpoint = Environment.GetEnvironmentVariable("DAPR_GRPC_ENDPOINT") ?? "http://localhost:3501";
// Register the Dapr Conversation client with dependency injection.
var app = Host.CreateDefaultBuilder()
.ConfigureServices(services =>
{
// Configure the gRPC endpoint for the Dapr sidecar.
services.AddDaprConversationClient((_, builder) => builder.UseGrpcEndpoint(daprGrpcEndpoint));
// Provide the name of the Conversation component loaded in the sidecar to use.
services.AddDaprChatClient(opt => opt.ConversationComponentName = "ollama");
}).Build();
// Get an instance of the Dapr chat client from the dependency injection container.
using var scope = app.Services.CreateScope();
var daprChatClient = scope.ServiceProvider.GetRequiredService<IChatClient>();
// Use this chat client to construct an AIAgent.
AIAgent agent = daprChatClient.AsAIAgent(instructions: "You are good at telling jokes.", name: "Joker");
// Invoke the agent and output the text result.
Console.WriteLine(await agent.RunAsync("Tell me a joke about a pirate."));
Kemampuan penyedia bergantung pada komponen Percakapan Dapr dan model di belakangnya.
Tools
Dukungan alat diwariskan dari komponen dan model Percakapan Dapr yang dikonfigurasi.
| Alat | Status | Notes |
|---|---|---|
| Peralatan Fungsional | Beragam | Memerlukan dukungan panggilan fungsi dari komponen dan model yang dikonfigurasi. |
| Persetujuan Alat | Beragam | Tersedia saat model menghasilkan panggilan alat fungsi. |
| Alat yang dihosting penyedia | ❌ | Dapr tidak menambahkan permukaan alat yang dihosting Agent Framework terpisah. |
| Alat MCP Lokal | ✅ | Berjalan dalam proses aplikasi. |