Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il blocco predefinito Dapr Conversation instrada l'inferenza del modello tramite un sidecar Dapr ed espone un IChatClient oggetto che può restituire un agente di .NET di Agent Framework. Il provider di modelli e le credenziali sono configurati nel componente Conversazione dapr anziché direttamente nel processo dell'agente.
Prerequisiti
- .NET 10 o versione successiva.
- Docker e l'interfaccia della riga di comando di Dapr.
- Componente di conversazione Dapr configurato, ad esempio un componente supportato da Ollama.
Installare i pacchetti
dotnet add package Dapr.AI.Microsoft.Extensions
dotnet add package Microsoft.Agents.AI --prerelease
Configuration
DAPR_GRPC_ENDPOINT="http://localhost:3501"
DAPR_GRPC_ENDPOINT è facoltativo e il valore predefinito è http://localhost:3501. Impostare ConversationComponentName nel codice dell'applicazione sul nome del componente Dapr Conversation, ad esempio ollama.
Creare un agente supportato daPr
Configurare l'endpoint sidecar Dapr e il componente Conversation tramite l'inserimento delle dipendenze, risolvere e IChatClientconvertirlo in un agente.
// 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."));
Le funzionalità del provider dipendono dal componente Dapr Conversation e dal modello sottostante.
Tools
Il supporto degli strumenti viene ereditato dal componente e dal modello di conversazione Dapr configurati.
| Strumento | Condizione | Note |
|---|---|---|
| Strumenti per le funzioni | Variabile | Richiede il supporto per le chiamate di funzione dal componente e dal modello configurati. |
| Approvazione degli strumenti | Variabile | Disponibile quando il modello produce chiamate a strumenti di funzione. |
| Strumenti ospitati dal provider | ❌ | Dapr non aggiunge una superficie separata degli strumenti hosted-tool di Agent Framework. |
| Strumenti MCP locali | ✅ | Viene eseguito nel processo dell'applicazione. |