Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La inferencia del modelo de rutas del bloque de creación de conversaciones de Dapr a través de un sidecar de Dapr y expone un IChatClient que puede respaldar un agente de .NET Agent Framework. El proveedor de modelos y las credenciales se configuran en el componente Conversación de Dapr en lugar de directamente en el proceso del agente.
Prerequisites
- .NET 10 o posterior.
- Docker y la CLI de Dapr.
- Un componente de conversación dapr configurado, como un componente respaldado por Ollama.
Instalación de los paquetes
dotnet add package Dapr.AI.Microsoft.Extensions
dotnet add package Microsoft.Agents.AI --prerelease
Configuration
DAPR_GRPC_ENDPOINT="http://localhost:3501"
DAPR_GRPC_ENDPOINT es opcional y el valor predeterminado es http://localhost:3501. Establezca ConversationComponentName en el código de aplicación en el nombre del componente De conversación de Dapr, como ollama.
Creación de un agente respaldado por Dapr
Configure el punto de conexión sidecar de Dapr y el componente Conversation a través de la inserción de dependencias, resuelva y IChatClientconviértelo en 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."));
Las funcionalidades del proveedor dependen del componente De conversación de Dapr y del modelo subyacente.
Tools
La compatibilidad con herramientas se hereda del componente y el modelo configurados de La conversación de Dapr.
| Herramienta | Situación | Notas |
|---|---|---|
| Herramientas de funciones | Varía | Requiere compatibilidad con llamadas a funciones desde el componente y el modelo configurados. |
| Aprobación de herramientas | Varía | Disponible cuando el modelo genera llamadas a function-tool. |
| Herramientas hospedadas por el proveedor | ❌ | Dapr no agrega una superficie independiente de herramientas hospedada de Agent Framework. |
| Herramientas de MCP locales | ✅ | Se ejecuta en el proceso de aplicación. |