Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Из этого краткого руководства вы узнаете, как настроить рабочий агент LangChain на JavaScript с использованием инструментов Agent 365, уведомлений и наблюдаемости, а также как протестировать агент с помощью Agents Playground и Teams.
Prerequisites
- Если вы планируете использовать Visual Studio Code, у вас должен быть установлен .NET. (Рекомендуется использовать .NET 8.0.)
- Node.js (версия 18 или выше)
- LangChain
- Тестовая площадка агентов
- Доступ к Npm (диспетчер пакетов Node) устанавливается с помощью NodeJS
- Необходим доступ к GitHub
- Существующий проект агента ИИ. В этом быстром старте используется пример агента Agent 365 из набора инструментов для создания агентов Microsoft 365, также известного как ATK в VS Code.
- A365 CLI
- Аутентификация идентификатора агента
Настройте пример LangChain + Node.js из набора инструментов для создания агентов Microsoft 365
Чтобы все подготовить, установите набор инструментов для создания агентов Microsoft 365 в VS Code, откройте галерею образцов и локально создайте пример LangChain + Node.js, чтобы затем его настроить и запустить. Следующие снимки экрана показывают, что вы будете видеть по мере выполнения шагов.
Откройте Visual Studio Code, затем откройте панель РасширенияCtrl+Shift+X.
В поле поиска введите Набор инструментов для создания агентов.
Вы должны увидеть результат, показанный на следующем снимке экрана.
Выберите Набор инструментов для создания агентов Microsoft 365.
Нажмите кнопку Установить.
VS Code показывает страницу с деталями расширения, похожую на:
После установки значок Набор инструментов для создания агентов M365 появляется на левой панели навигации.
Выберите его, чтобы открыть приветственный интерфейс.
Теперь вы должны увидеть такие варианты, как Создать декларативный агент, Создать новый агент/приложение и Просмотреть образцы, как показано здесь:
Выберите Просмотреть образцы.
В списке образцов пролистайте, чтобы найти образец агента LangChain + Node.js.
Выберите это.
Вы увидите два варианта: Создать (создать локально) или Просмотреть на GitHub.
Выберите Создать.
Когда появится запрос, выберите на компьютере папку, в которой должен быть создан пример. Например:
C:\A365-Ignite-DemoНабор инструментов разворачивает пример LangChain + Node.js во вложенной папке (например, sample_agent), а затем автоматически открывает его в VS Code.
Когда структура будет создана, у вас на компьютере будет полностью функциональный проект агента LangChain + Node.js
Установите необходимые пакеты Agent 365
Перед запуском примера откройте файл package.json в вашем проекте и убедитесь, что все необходимые зависимости Agent 365 и Agent Framework указаны. Сгенерированный с помощью набора инструментов для создания агентов Microsoft 365 пример уже включает эти записи.
После проверки package.json установите все зависимости, выполнив:
npm install
Это загрузит все библиотеки Agent 365, зависимости Agent Framework, компоненты хостинга и другие зависимости, указанные в проекте-примере. После установки убедитесь, что проект собирается и запускается, запустив сервер разработки
npm run dev
Добавление инструментов Microsoft 365 (серверы MCP)
Вы можете исследовать MCP-серверы и управлять ими с помощью команд разработчика a365 в интерфейсе командной строки.
Когда вы работаете с инструментами Microsoft MCP, вы можете:
- Узнавать, какие MCP-серверы доступны для использования
- Добавлять один или несколько MCP-серверов в конфигурацию вашего агента
- Просматривать настроенные MCP-серверы
- Удалять MCP-серверы, которые вам больше не нужны
После добавления MCP-серверов манифест инструментов вашего агента расширяется и включает записи, такие как:
{
"mcpServers": [
{
"mcpServerName": "mcp_MailTools",
"mcpServerUniqueName": "mcp_MailTools",
"scope": "McpServers.Mail.All",
"audience": "api://00001111-aaaa-2222-bbbb-3333cccc4444"
}
]
}
Узнайте, как добавлять инструменты и управлять ими
Подписка на уведомления и их обработка
Пример агента подписывается на все уведомления Agent 365 с помощью onAgentNotification("*") и направляет их в один обработчик. Этот обработчик позволяет агенту реагировать на фоновые или системные события, а не только на прямые сообщения пользователя.
Подробнее о том, как отправлять уведомления агентам
В следующем коде показано, как настроено уведомление в файле agent.ts.
constructor() {
super();
this.onAgentNotification("agents:*", async(context, state, activity) => {
await this.handleAgentNotificationActivity(context, state, activity);
});
}
async handleAgentNotificationActivity(context, state, activity)
{
await context.sendActivity("Received an AgentNotification!");
// Add custom handling here
}
Observability
Important
Этот выборка использует устаревший SDK Agent 365 Observability. Не используйте этот паттерн для новой интеграции наблюдаемости. Используйте дистрибутив Microsoft OpenTelemetry вместо этого.
Следующий фрагмент инициализирует устаревший SDK Observability Agent 365 и обертывает каждый вызов агента в такую InferenceScope систему, что позволяет автоматически фиксировать входы, выходы и метаданные.
В следующем коде показан простой пример реализации наблюдаемости в файле client.ts.
const sdk = ObservabilityManager.configure(b =>
b.withService('<service-name>', '<version>')
);
sdk.start();
async invokeAgentWithScope(prompt: string) {
const scope = InferenceScope.start(
{
operationName: InferenceOperationType.CHAT,
model: '<llm-name>'
},
{
agentId: '<agent-id>',
agentName: '<agent-name>',
conversationId: '<conv-id>'
},
{ tenantId: '<tenant-id>' }
);
const response = await this.invokeAgent(prompt);
scope?.recordInputMessages([prompt]);
scope?.recordOutputMessages([response]);
scope?.recordResponseId(`resp-${Date.now()}`);
return response;
}
Этот фрагмент показывает устаревший шаблон SDK Agent 365 Observability, используемый в выборке Node.js + LangChain. Полные рекомендации по настройке и миграции смотрите устаревшую документацию SDK.
Проверьте своего агента
Задайте необходимые переменные среды, выберите режим аутентификации и запустите агент локально. Вы можете провести комплексное тестирование с помощью Agents Playground без необходимости иметь арендатор Microsoft 365, если только не хотите опубликовать агент и использовать его в таких приложениях, как Teams или Outlook. Пожалуйста, обратитесь к разделу Подробнее о тестировании, чтобы узнать подробные шаги по настройке тестирования агента с использованием Agents Playground.
Обзор этапов тестирования
- Добавьте ваши ключи API и настройки модели в файл
.env, чтобы пример мог работать с LLM. - Выберите режим аутентификации. Для локальной разработки пример поддерживает режим агентской аутентификации с использованием значений, созданных из вашей схемы агента.
- Запустите агент локально, после чего он станет доступен инструментам, например Agents Playground.
- Используйте Agents Playground для тестирования сообщений, инструментов и уведомлений без настройки арендатора или развертывания каких-либо компонентов.
- Когда вы будете готовы к работе в реальных условиях, опубликуйте агент в арендаторе Microsoft 365 и протестируйте его внутри Teams, Outlook или других приложений Microsoft 365.
Опубликовать вашего агента
Когда ваш агент готов к реальному использованию в Microsoft 365 — например, для чатов Teams, сообщений Outlook, Word @mentions — вы публикуете его в арендаторе Microsoft 365.
Команда publish интерфейса командной строки Agent 365 отвечает за упаковку: она обновляет ваш манифест, объединяет все и отправлять агент в центр администрирования Microsoft.
Во время публикации проверьте и измените имя агента, описание, значки и версию перед завершением отправки. После публикации ваш агент становится зарегистрированным и доступным для установки в арендаторе.
Important
После публикации агента необходимо настроить шаблон агента на портале разработчика перед созданием экземпляров. Узнайте, как настроить схему агента на портале разработчика
Здесь вы можете посмотреть опубликованные агенты: https://admin.cloud.microsoft/#/agents/all
Узнайте больше о полном рабочем процессе и пошаговых инструкциях