top of page
Search

Создание TeamsBot с интеграцией AI: практическое руководство

  • Writer: Sarov+
    Sarov+
  • 5 days ago
  • 4 min read

Microsoft Teams является одной из самых популярных платформ для корпоративных коммуникаций, насчитывая около 320 миллионов активных пользователей. Крупные организации и компании по всему миру используют Teams как основной инструмент для совместной работы. Одним из мощных способов расширения функциональности этой платформы является создание ботов, которые могут значительно ускорить выполнение задач — по некоторым данным, в три раза быстрее по сравнению с переходом в сторонние приложения.


TeamsBot — это интеллектуальный ассистент, который работает непосредственно в чате или группе Teams. Он может получать задания от пользователей и предоставлять ответы, причём для лучшего пользовательского опыта рекомендуется использовать адаптивные карты (Adaptive Cards), которые обеспечивают более удобное восприятие информации и интерактивные элементы.


В этой статье мы рассмотрим технические аспекты создания TeamsBot с интеграцией искусственного интеллекта, включая настройку Azure-сервисов, обработку сообщений и практические примеры реализации различных сценариев использования.


А узнать больше можно в нашем видео:

 

Архитектура и начальная настройка

 

Создание TeamsBot требует выполнения нескольких технических шагов, которые хоть и выполняются нечасто, но являются необходимыми для запуска бота:

  • Создание Azure Bot Service — первый шаг заключается в регистрации бота в Azure через сервис Azure Bot.

  • Разработка Web API — необходимо создать веб-приложение, которое будет наследовать пакет TeamsBot и обрабатывать входящие запросы.

  • Создание манифеста — это XML/JSON документ, содержащий ключевую информацию о боте: имя, разработчика, версию, botId и другие параметры.

  • Настройка связи — нужно соединить Teams, Azure Bot и ваш API через messaging endpoint.


После настройки бота необходимо опубликовать App Service и загрузить манифест в Teams Admin Center. Бот можно установить как для всей команды, так и индивидуально, настроив его как персональный или организационный инструмент.

 

Разработка Web API

 

Основой бота является стандартный Web API со следующими компонентами:

  • Контроллеры: Для обработки различных сценариев может потребоваться несколько контроллеров. Один обрабатывает короткие задачи (получение сообщений из Teams), другой — отправку ответов обратно в Teams для долгих операций.

  • ActivityHandler: Необходимо создать класс, который реализует ActivityHandler для Teams, и имплементировать метод MessageActivityAsync. В контексте этого метода доступна вся необходимая информация: сообщения от пользователя, загруженные файлы и другие данные.


Настройка Azure-сервисов


  • Azure Web App: Для публикации Web API необходимо создать обычный Azure Web App, на котором будет размещён ваш сервис.

  • Azure Bot: Ключевым моментом настройки является указание messaging endpoint, на который Azure Bot будет отправлять запросы. Важная особенность: для обработки долгих сценариев потребуется создать два бота — один для входящих сообщений (incoming), другой для исходящих (outgoing).

  • Локальная разработка: Для тестирования бота без публикации в Azure можно использовать tunnels (тоннели), которые создают временную виртуальную ссылку, активную во время работы Visual Studio в режиме отладки.

 

Манифест и развёртывание

 

Манифест файл содержит важные параметры:

  • Версию приложения

  • Информацию о разработчике

  • Имя бота

  • botId

  • Ссылку на Azure-ресурс

Для установки бота нужно упаковать манифест вместе с иконками (большой и маленькой) в zip-архив и загрузить в Teams Admin Center. Там же можно управлять версиями и настраивать доступ для пользователей.

 

Интеграция с искусственным интеллектом

 

Основное преимущество современного TeamsBot — это возможность интеграции с AI. После получения сообщения от Teams можно:

  • Вызвать внешний ресурс, например Azure Function

  • Использовать OpenAI через Azure OpenAI Service

  • Обработать запрос и вернуть интеллектуальный ответ

Базовый сценарий выглядит просто: передать промпт из Teams в OpenAI и получить ответ. Однако можно реализовать более сложные сценарии.

 

Практические сценарии использования

 

Рассмотрим три основных режима работы бота:


1. Knowledge Base (обычный AI-режим)

Бот работает как стандартный AI-ассистент, отвечая на вопросы пользователей. Важный момент: для поддержания контекста диалога необходимо хранить историю сообщений (например, последние 10-20 сообщений) и передавать её вместе с новым запросом.


2. Парсинг файлов

Пользователь может загрузить файл, и бот обработает его содержимое. После загрузки бот предоставляет ссылку на импортацию, где можно отслеживать процесс обработки документа. По завершении парсинга второй бот может отправить детальные результаты обратно в чат.


3. Поиск в CRM

Бот может осуществлять поиск данных в CRM-системе. Например:

  • Определение названия компании из текста запроса пользователя

  • Поиск компаний по названию с помощью стандартного API CRM

  • Отображение результатов в виде Adaptive Card с возможностью выбора

  • Поиск сделок (opportunities) выбранной компании

  • Предоставление прямых ссылок для открытия компании или сделки в CRM

 

Реализация поиска происходит следующим образом:

  • Azure Function определяет тип сценария (поиск компании, парсинг файла или базовый AI-запрос)

  • Для поиска компании специальный промпт извлекает название компании из сообщения пользователя

  • Система обращается к CRM и выполняет поиск

  • Результаты представляются в удобном интерактивном формате

 

Best Practices и рекомендации

 

  1. Обработка тайм-аутов: Teams может выдавать ошибку, если обработка запроса занимает более 5 секунд. Лучшая практика — немедленно возвращать короткий ответ (например, "обрабатывается..." или "thinking"), а затем использовать очереди для обработки задачи. После завершения задачи окончательный ответ отправляется через второй бот.

  2. Безопасность: Все ключи и секреты должны храниться в Azure Key Vault, а не в коде приложения.

  3. Пользовательский опыт:

  4. Используйте Adaptive Cards для представления интерактивной информации с кнопками и ссылками

  5. Добавляйте эмодзи в системные сообщения для улучшения визуального восприятия

  6. Предоставляйте ясную обратную связь о статусе обработки запроса

  7. Контекст для долгих операций: При использовании двух ботов важно правильно передавать контекст между ними, чтобы пользователь получил релевантный ответ именно на свой запрос.

 

Заключение

 

Создание TeamsBot с интеграцией AI открывает широкие возможности для улучшения повседневной работы пользователей. Основное преимущество такого подхода — пользователи продолжают работать в привычной среде Teams, не переключаясь на сторонние приложения.


Хотя первоначальная настройка требует выполнения нескольких технических шагов (создание Azure Bot, разработка Web API, настройка манифеста), эти действия выполняются редко. Основное внимание разработчика сосредотачивается на программировании логики обработки сообщений и интеграции с внешними системами.

Интеграция с AI-сервисами, такими как OpenAI, позволяет создавать интеллектуальных ботов, способных понимать естественный язык, извлекать смысл из запросов пользователей и выполнять сложные задачи — от парсинга документов до поиска информации в корпоративных системах.


Приведённый пример с тремя режимами работы (Knowledge Base, парсинг файлов и поиск в CRM) демонстрирует гибкость подхода. Используя Azure Functions для определения типа запроса и различные промпты для обработки каждого сценария, можно создать универсального помощника, адаптированного под специфические нужды бизнеса.


Важно помнить о best practices: обрабатывать тайм-ауты, хранить конфиденциальные данные в Azure Key Vault, использовать Adaptive Cards для улучшения UX. Даже прототип, созданный с учётом этих рекомендаций, может значительно облегчить работу команды и продемонстрировать ценность автоматизации через TeamsBot.

В конечном итоге, TeamsBot — это не просто технический инструмент, а способ дополнить привычную рабочую среду под нужды бизнеса, делая повседневные задачи проще и быстрее.

 
 
 

Comments


Power Platform logo

Подписывайся на наши ресурсы.

  • Telegram
  • LinkedIn
  • Facebook
  • Twitter
  • YouTube
  • Instagram

© 2035 by The Pop Show. Powered and secured by Wix

bottom of page