Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Сборка блочных блоков Dapr Conversation направляет модель вывода через боковую панель Dapr и предоставляет IChatClient возможность резервного копирования агента .NET агента. Поставщик модели и учетные данные настраиваются в компоненте Dapr Conversation, а не непосредственно в процессе агента.
Необходимые условия
- .NET 10 или более поздней версии.
- Docker и Dapr CLI.
- Настроенный компонент Dapr Conversation, например компонент Ollama, поддерживаемый.
Установка пакетов
dotnet add package Dapr.AI.Microsoft.Extensions
dotnet add package Microsoft.Agents.AI --prerelease
Configuration
DAPR_GRPC_ENDPOINT="http://localhost:3501"
DAPR_GRPC_ENDPOINT является необязательным и по умолчанию имеет значение http://localhost:3501. Задайте ConversationComponentName в коде приложения имя компонента Dapr Conversation, например ollama.
Создание агента с поддержкой Dapr
Настройте конечную точку и компонент беседы Dapr с помощью внедрения зависимостей, устраните IChatClientего и преобразуйте его в агент.
// 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."));
Возможности поставщика зависят от компонента Dapr Conversation и модели, лежащей в ее основе.
Tools
Поддержка инструментов наследуется от настроенного компонента и модели Dapr Conversation.
| инструмент | Статус | Примечания |
|---|---|---|
| Средства функций | Меняется | Требуется поддержка вызовов функций из настроенного компонента и модели. |
| Утверждение инструмента | Меняется | Доступно, когда модель создает вызовы средства-функции. |
| Средства, размещенные у поставщика | ❌ | Dapr не добавляет отдельную область инструментов, размещенную в агенте. |
| Локальные средства MCP | ✅ | Выполняется в процессе приложения. |