Создание бота агента ИИ в Teams
Агент ИИ в Microsoft Teams — это чат-бот, который использует большие языковые модели (LLM) для взаимодействия с пользователями. Он понимает намерения пользователей и выбирает последовательность действий, позволяя чат-боту выполнять общие задачи.
Предварительные условия
Установка | Для использования... |
---|---|
Visual Studio Code | Среды сборки JavaScript, TypeScript или Python. Используйте последнюю версию. |
Набор средств Teams | Расширение Microsoft Visual Studio Code, которое создает шаблон проекта для вашего приложения. Используйте последнюю версию. |
Node.js | Серверной среды выполнения JavaScript. Дополнительные сведения см . вNode.js таблице совместимости версий для типа проекта. |
Microsoft Teams | Microsoft Teams позволяет сотрудничать со всеми пользователями, с которыми вы работаете, с помощью приложений для чата, собраний и звонков в одном месте. |
Azure OpenAI | Сначала создайте ключ API OpenAI, чтобы использовать генеративный предварительно обученный преобразователь OpenAI (GPT). Если вы хотите разместить приложение или получить доступ к ресурсам в Azure, необходимо создать службу Azure OpenAI. |
Создание проекта агента ИИ
Откройте Visual Studio Code.
Щелкните значок Набора средств Teams на панели действий Visual Studio Code
Выберите Создать новое приложение.
Выберите Агент пользовательского обработчика.
Выберите Агент ИИ.
Чтобы создать приложение, выберите любой из следующих параметров:
Выберите Создать.
Выберите JavaScript.
По умолчанию выбрана служба OpenAI , при необходимости можно ввести учетные данные для доступа к OpenAI. Выберите ВВОД.
Выберите Папка по умолчанию.
Чтобы изменить расположение по умолчанию, выполните следующие действия.
- Нажмите кнопку Обзор.
- Выберите расположение рабочей области проекта.
- Выберите Выбрать папку.
Введите имя приложения, а затем нажмите клавишу ВВОД .
Вы успешно создали бот агента ИИ.
В разделе EXPLORER перейдите к файлу env.env.testtool.user>.
Обновите следующие значения:
SECRET_AZURE_OPENAI_API_KEY=<your-key>
AZURE_OPENAI_ENDPOINT=<your-endpoint>
AZURE_OPENAI_DEPLOYMENT_NAME=<your-deployment>
Чтобы выполнить отладку приложения, нажмите клавишу F5 или в левой области выберите Запуск и отладка (CTRL+SHIFT+D), а затем в раскрывающемся списке выберите Отладка в средстве тестирования (предварительная версия).
Средство тестирования открывает бот на веб-странице.
Обзор исходного кода приложения бота
Folder Содержание .vscode
Visual Studio Code файлы для отладки. appPackage
Шаблоны для манифеста приложения Teams. env
Файлы среды. infra
Шаблоны для подготовки ресурсов Azure. src
Исходный код приложения. Следующие файлы можно настроить, и они демонстрируют пример реализации, чтобы приступить к работе:
File Содержание src/index.js
Настройка сервера приложений бота. src/adapter.js
Настраивает адаптер бота. src/config.js
Определяет переменные среды. src/prompts/planner/skprompt.txt
Определяет запрос. src/prompts/planner/config.json
Настраивает запрос. src/prompts/planner/actions.json
Определяет действия. src/app/app.js
Обрабатывает бизнес-логику для агента ИИ. src/app/messages.js
Определяет обработчики действий сообщений. src/app/actions.js
Определяет действия ИИ. Ниже приведены файлы проекта набора средств Teams. Дополнительные сведения о работе набора средств Teams см. в полном руководстве на сайте GitHub:
File Содержание teamsapp.yml
Это файл проекта набора средств Teams main. Файл проекта определяет свойства и определения этапов конфигурации. teamsapp.local.yml
Это переопределяет teamsapp.yml
действия, которые обеспечивают локальное выполнение и отладку.teamsapp.testtool.yml
Это переопределяет teamsapp.yml
действия, которые обеспечивают локальное выполнение и отладку в средстве тестирования приложений Teams.
Создание агента ИИ с помощью библиотеки ИИ Teams
Создание нового
Библиотека ИИ Teams предоставляет комплексный поток, упрощающий процесс создания собственного агента ИИ. Ниже перечислены важные понятия, которые необходимо понять.
- Действия. Действие — это атомарная функция, зарегистрированная в системе ИИ.
- Планировщик. Планировщик получает запрос пользователя, который имеет форму запроса или шаблона запроса, и возвращает план для его выполнения. Это достигается с помощью ИИ для смешивания и сопоставления атомарных функций, известных как действия, которые зарегистрированы в системе ИИ. Эти действия объединяются в последовательность шагов, которые завершают задачу.
- Действие Планировщик. Действие Планировщик использует LLM для создания планов. Он может активировать параметризованные действия и отправлять пользователю текстовые ответы.
Сборка с помощью API помощников
API помощников из OpenAI упрощают разработку агента ИИ. OpenAI как платформа предлагает готовые инструменты, такие как интерпретатор кода, получение знаний и вызов функций, которые упрощают написание кода для распространенных сценариев.
Сравнение | Создание нового | Сборка с помощью API помощников |
---|---|---|
Стоимость | Только затраты на службы LLM | Затраты на службы LLM и использование средств в API Помощников приводят к дополнительным затратам. |
Усилия по разработке | Средняя | Относительно небольшой |
Службы LLM | Azure OpenAI или OpenAI | Только OpenAI |
Примеры реализаций в шаблоне | Этот шаблон приложения может общаться в чате и помогать пользователям управлять задачами. | В этих шаблонах приложений используется средство "Интерпретатор кода" для решения математических задач, а также средство вызова функций для получения погоды в городе. |
Ограничения | Н/Д | Библиотека ИИ Teams не поддерживает средство получения знаний. |
Настройка шаблона приложения
Настройка расширения запроса
Пакет SDK предоставляет функциональные возможности для расширения запроса.
- Действия, определенные в
src/prompts/planner/actions.json
файле, вставляются в запрос. Это позволяет LLM иметь представление о доступных функциях. - Внутренний фрагмент текста запроса вставляется в запрос, чтобы указать LLM, чтобы определить, какие функции следует вызывать на основе доступных функций. Этот текст запроса предписывает LLM создать ответ в структурированном формате JSON.
- Пакет SDK проверяет ответ LLM и позволяет LLM исправить или уточнить ответ, если ответ имеет неправильный формат.
src/prompts/planner/config.json
В файле настройте augmentation.augmentation_type
. Доступны следующие варианты:
-
Sequence
: подходит для задач, требующих нескольких шагов или сложной логики. -
Monologue
: подходит для задач, требующих понимания естественной речи и создания, а также больше гибкости и творчества.
Создание новых функций добавления
В файле определите
src/prompts/planner/actions.json
схему действий.[ ... { "name": "myFunction", "description": "The function description", "parameters": { "type": "object", "properties": { "parameter1": { "type": "string", "description": "The parameter1 description" }, }, "required": ["parameter1"] } } ]
src/app/actions.ts
В файле определите обработчики действий.// Define your own function export async function myFunction(context: TurnContext, state: TurnState, parameters): Promise<string> { // Implement your function logic ... // Return the result return "..."; }
src/app/app.ts
В файле зарегистрируйте действия.app.ai.action("myFunction", myFunction);
Настройка создания помощник
Этот src/creator.ts
файл создает помощник по OpenAI. Вы можете настроить помощник, обновив параметры, включая инструкцию, модель, средства и функции.
Сборка с добавлением функций API помощников
Когда помощник предоставляет функцию и ее аргументы для выполнения, пакет SDK сопоставляет эту функцию с предварительно зарегистрированным действием. Позже он активирует обработчик действия и отправляет результат обратно в помощник. Чтобы интегрировать функции, зарегистрируйте действия в приложении.
src/app/actions.ts
В файле определите обработчики действий.// Define your own function export async function myFunction(context: TurnContext, state: TurnState, parameters): Promise<string> { // Implement your function logic ... // Return the result return "..."; }
src/app/app.ts
В файле зарегистрируйте действия.app.ai.action("myFunction", myFunction);
См. также
Platform Docs