Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der Dapr-Conversation-Baustein leitet die Modellinferenz über einen Dapr-Sidecar weiter und stellt ein IChatClient bereit, das einen Agent Framework .NET-Agenten unterstützen kann. Der Modellanbieter und die Anmeldeinformationen werden in der Dapr-Conversation-Komponente statt direkt im Agent-Prozess konfiguriert.
Voraussetzungen
- .NET 10 oder höher.
- Docker und die Dapr CLI.
- Eine konfigurierte Dapr Conversation-Komponente, z. B. eine Ollama-gesicherte Komponente.
Installieren der Pakete
dotnet add package Dapr.AI.Microsoft.Extensions
dotnet add package Microsoft.Agents.AI --prerelease
Konfiguration
DAPR_GRPC_ENDPOINT="http://localhost:3501"
DAPR_GRPC_ENDPOINT ist optional und standardmäßig auf http://localhost:3501 festgelegt. Setzen Sie ConversationComponentName im Anwendungscode auf den Namen der Dapr-Conversation-Komponente, z. B. ollama.
Einen von Dapr unterstützten Agenten erstellen
Konfigurieren Sie den Dapr-Sidecar-Endpunkt und die Konversationskomponente per Dependency Injection, lösen Sie IChatClient auf und konvertieren Sie es in einen Agenten.
// 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."));
Die Fähigkeiten des Anbieters hängen von der Dapr Conversation-Komponente und dem zugrunde liegenden Modell ab.
Tools
Die Toolunterstützung ergibt sich aus der konfigurierten Dapr Conversation-Komponente und dem konfigurierten Modell.
| Tool | Status | Hinweise |
|---|---|---|
| Funktionswerkzeuge | Variiert | Erfordert Funktionsaufrufunterstützung von der konfigurierten Komponente und dem Konfigurierten Modell. |
| Toolgenehmigung | Variiert | Verfügbar, wenn das Modell Funktionstoolaufrufe erzeugt. |
| Vom Anbieter gehostete Tools | ❌ | Dapr fügt keine separate Agent Framework-Oberfläche für gehostete Tools hinzu. |
| Lokale MCP-Tools | ✅ | Wird im Anwendungsprozess ausgeführt. |