Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Stavební blok konverzace Dapr směruje odvozování modelu prostřednictvím sajdkáru Dapr a zpřístupňuje IChatClient model, který může vrátit agenta .NET agenta. Zprostředkovatel modelu a přihlašovací údaje se konfigurují v komponentě Dapr Conversation, nikoli přímo v procesu agenta.
Předpoklady
- .NET 10 nebo novější.
- Docker a Rozhraní příkazového řádku Dapr
- Nakonfigurovaná komponenta konverzace Dapr, například komponenta s podporou Ollama.
Instalace balíčků
dotnet add package Dapr.AI.Microsoft.Extensions
dotnet add package Microsoft.Agents.AI --prerelease
Configuration
DAPR_GRPC_ENDPOINT="http://localhost:3501"
DAPR_GRPC_ENDPOINT je nepovinný a výchozí hodnota http://localhost:3501je . Nastavte ConversationComponentName v kódu aplikace název komponenty Dapr Conversation, například ollama.
Vytvoření agenta založeného na dapr
Nakonfigurujte koncový bod sajdkáru Dapr a konverzační komponentu prostřednictvím injektáže závislostí, přeložte IChatClientji a převeďte ji na agenta.
// 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."));
Možnosti poskytovatele závisí na komponentě Dapr Conversation a modelu za ním.
Tools
Podpora nástrojů je zděděna z nakonfigurované komponenty a modelu konverzace Dapr.
| nástroj | Stav | Poznámky |
|---|---|---|
| Funkční nástroje | Varies | Vyžaduje podporu volání funkcí z nakonfigurované komponenty a modelu. |
| Schválení nástroje | Varies | K dispozici, když model vytváří volání nástrojů funkcí. |
| Nástroje hostované poskytovatelem | ❌ | Dapr nepřidá samostatnou plochu hostovaného nástroje Agent Framework. |
| Místní nástroje MCP | ✅ | Spustí se v procesu aplikace. |