Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Het Dapr Conversation-bouwblok routeert modelinferentie via een Dapr-sidecar en biedt een IChatClient dat kan dienen als basis voor een Agent Framework .NET-agent. De modelprovider en inloggegevens worden geconfigureerd in het Dapr Conversation-onderdeel in plaats van rechtstreeks in het agentproces.
Prerequisites
- .NET 10 of hoger.
- Docker en de Dapr CLI.
- Een geconfigureerd Dapr-gespreksonderdeel, zoals een onderdeel met Ollama-ondersteuning.
De pakketten installeren
dotnet add package Dapr.AI.Microsoft.Extensions
dotnet add package Microsoft.Agents.AI --prerelease
Configuration
DAPR_GRPC_ENDPOINT="http://localhost:3501"
DAPR_GRPC_ENDPOINT is optioneel en wordt standaard ingesteld op http://localhost:3501. Stel ConversationComponentName in de applicatiecode in op de naam van de Dapr Conversation-component, zoals ollama.
Een door Dapr ondersteunde agent maken
Configureer het Dapr-sidecar-eindpunt en gespreksonderdeel via afhankelijkheidsinjectie, los het IChatClientprobleem op en converteer deze naar een agent.
// 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."));
De mogelijkheden van de provider zijn afhankelijk van het Dapr Conversation-onderdeel en het onderliggende model.
Tools
Ondersteuning voor tools wordt geërfd van het geconfigureerde Dapr Conversation-component en -model.
| Tool | Status | Opmerkingen |
|---|---|---|
| Functiehulpmiddelen | Varies | Hiervoor is ondersteuning vereist voor het aanroepen van functies vanuit het geconfigureerde onderdeel en model. |
| Goedkeuring van hulpprogramma | Varies | Beschikbaar wanneer het model functiehulpmiddel aanroept. |
| Door provider gehoste hulpprogramma's | ❌ | Dapr voegt geen afzonderlijk hosted-tool-oppervlak voor het Agent Framework toe. |
| Lokale MCP-hulpprogramma's | ✅ | Wordt uitgevoerd in het toepassingsproces. |