Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Blok konstrukcyjny konwersacji Dapr kieruje wnioskowanie modelu za pomocą przyczepki Dapr i uwidacznia elementIChatClient, który może wspierać agenta .NET agenta platformy Agent Framework. Dostawca modelu i poświadczenia są konfigurowane w składniku Konwersacja Dapr, a nie bezpośrednio w procesie agenta.
Wymagania wstępne
- .NET 10 lub nowszych.
- Docker i interfejs wiersza polecenia języka Dapr.
- Skonfigurowany składnik konwersacji Dapr, taki jak składnik oparty na Ollama.
Instalowanie pakietów
dotnet add package Dapr.AI.Microsoft.Extensions
dotnet add package Microsoft.Agents.AI --prerelease
Configuration
DAPR_GRPC_ENDPOINT="http://localhost:3501"
DAPR_GRPC_ENDPOINT parametr jest opcjonalny i domyślnie ma wartość http://localhost:3501. Ustaw ConversationComponentName w kodzie aplikacji nazwę składnika Dapr Conversation, na przykład ollama.
Tworzenie agenta opartego na języku Dapr
Skonfiguruj punkt końcowy przyczepki dapr i składnik Konwersacja za pomocą wstrzykiwania zależności, rozwiąż element i przekonwertuj IChatClientgo 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żliwości dostawcy zależą od składnika Dapr Conversation i modelu za nim.
Tools
Obsługa narzędzi jest dziedziczona ze skonfigurowanego składnika i modelu konwersacji Dapr.
| Narzędzie | Status | Notatki |
|---|---|---|
| Narzędzia funkcji | Varies | Wymaga obsługi wywoływania funkcji ze skonfigurowanego składnika i modelu. |
| Zatwierdzanie narzędzi | Varies | Dostępne, gdy model tworzy wywołania narzędzi funkcji. |
| Narzędzia hostowane przez dostawcę | ❌ | Język Dapr nie dodaje oddzielnej powierzchni narzędzi hostowanej w strukturze agentów. |
| Lokalne narzędzia MCP | ✅ | Uruchamia się w procesie aplikacji. |