Поделиться через


Создание бота агента ИИ в 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.

Создание проекта агента ИИ

  1. Откройте Visual Studio Code.

  2. Щелкните значок Набора средств Teams на панели действий Visual Studio Code

  3. Выберите Создать новое приложение.

    Снимок экрана: расположение ссылки

  4. Выберите Агент пользовательского обработчика.

    Снимок экрана: параметр выбора пользовательского агента обработчика в качестве нового проекта для создания.

  5. Выберите Агент ИИ.

    Снимок экрана: выбор функций приложения с помощью списка библиотек ИИ.

  6. Чтобы создать приложение, выберите любой из следующих параметров:

    1. Выберите Создать.

      Снимок экрана: выбор доступных агентов ИИ.

    2. Выберите JavaScript.

      Снимок экрана: выбор языка программирования.

    3. По умолчанию выбрана служба OpenAI , при необходимости можно ввести учетные данные для доступа к OpenAI. Выберите ВВОД.

      Снимок экрана: расположение для ввода открытого ключа API Azure.

    4. Выберите Папка по умолчанию.

      Снимок экрана: папка приложения расположения для сохранения.

      Чтобы изменить расположение по умолчанию, выполните следующие действия.

      1. Нажмите кнопку Обзор.
      2. Выберите расположение рабочей области проекта.
      3. Выберите Выбрать папку.
    5. Введите имя приложения, а затем нажмите клавишу ВВОД .

      Снимок экрана: параметр для ввода подходящего имени.

      Вы успешно создали бот агента ИИ.

      Снимок экрана: созданный чат-бот ИИ и файл сведений доступен.

    6. В разделе EXPLORER перейдите к файлу env.env.testtool.user>.

    7. Обновите следующие значения:

      • SECRET_AZURE_OPENAI_API_KEY=<your-key>
      • AZURE_OPENAI_ENDPOINT=<your-endpoint>
      • AZURE_OPENAI_DEPLOYMENT_NAME=<your-deployment>

      Снимок экрана: сведения, обновленные в файле env.

    8. Чтобы выполнить отладку приложения, нажмите клавишу 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);
    

См. также

Библиотека ИИ Teams