Библиотека ИИ Teams
Библиотека ИИ Teams — это интерфейс, ориентированный на Teams, для общих языковых моделей на основе GPT и обработчиков намерений пользователей, который упрощает выполнение сложных и дорогостоящих задач по написанию и поддержанию логики бота беседы для интеграции с крупными языковыми моделями (LLM).
Библиотека ИИ предоставляет простой подход на основе возможностей и помогает быстро и легко создавать интеллектуальные приложения с помощью предварительно созданных, многократно используемых фрагментов кода, чтобы вы могли сосредоточиться на создании бизнес-логики, а не на изучении семантики диалоговых приложений Teams.
Зачем использовать библиотеку ИИ Teams?
Библиотека ИИ — это интерфейс, ориентированный на Teams для больших языковых моделей. Ваши приложения могут использовать LLM для облегчения более естественного взаимодействия с пользователями, помогая этому диалогу в ваших приложениях.
Вы можете сосредоточиться на написании бизнес-логики и позволить Teams справляться со сложностями ботов для общения, чтобы легко извлекать и использовать намерения пользователей в своих приложениях.
Библиотека ИИ — это интерфейс, ориентированный на Teams для больших языковых моделей. Используйте предварительно созданные шаблоны для добавления возможностей приложений Teams.
Используйте такие методы, как быстрое проектирование, чтобы добавить в бот ChatGPT, например беседы, и встроенные функции безопасности, такие как модерация, помогают обеспечить, чтобы бот всегда реагировал соответствующим образом.
Библиотека включает подсистему планирования, которая позволяет модели определять намерение пользователя, а затем сопоставлять это намерение с действиями, которые вы реализуете.
Вы можете легко добавить поддержку для любого LLM по своему выбору, не изменяя логику бота.
Библиотека ИИ Teams доступна на языках JavaScript и C#, что позволяет использовать возможности ИИ и создавать интеллектуальные, удобные приложения для Microsoft Teams с помощью языков программирования, с которыми они наиболее удобны. Мы стремимся к мышлению, в котором вы создаете продукты ИИ с помощью нужных инструментов и языков, чтобы обеспечить наилучшие возможности для ваших клиентов в Teams.
Ниже приведены некоторые из main функций, доступных в библиотеке ИИ Teams.
Формирование шаблонов простых компонентов, ориентированных на Teams
Библиотека ИИ Teams упрощает модель приложений Teams, чтобы сосредоточиться на необходимом расширении, а не на требуемом протоколе. Вы можете использовать предварительно созданные шаблоны и добавить бизнес-логику в этот шаблон, чтобы добавить модули, такие как боты, расширения сообщений, адаптивные карточки или распаковка ссылок.
Моделирование естественного языка
Библиотека ИИ Teams создана на основе языковых моделей на основе GPT, поэтому вам не нужно тратить время на написание логики беседы и определение намерений пользователей. Создание приложений Teams на основе ИИ проще, более совместимо и согласованно, чем когда-либо раньше.
Боты могут работать в контексте и помогать, когда бот распознает намерение пользователя, которое сопоставляется с одним из действий бота. Это повышает уровень беседы, не требуя от пользователей явного взаимодействия с ботом с помощью небольшого набора зарегистрированных действий.
Разработка запросов
Проектирование подсказок помогает создавать подсказки с учетом намерений пользователя, контекста беседы и личности бота. Боты можно персонализировать и настраивать в соответствии с потребностями пользователей.
Журнал сеансов беседы
Библиотека ИИ Teams запоминает контекст сообщений и помогает повысить производительность бота за счет анализа закономерностей в поведении пользователей.
Локализация
Так как библиотека ИИ Teams использует модель GPT OpenAI, локализация доступна. Когда пользователь вводит данные на любом языке, входные данные последовательно преобразуются в намерения, сущности и результирующих действий, которые приложение понимает без необходимости создавать и поддерживать записи локализации.
Модульность LLM
Большая языковая модель (LLM) — это расширенная языковая модель, которая использует скрытые переменные для создания согласованного и разнообразного естественного языка текста и стиля.
Хотя библиотека ИИ Teams создана для использования модели GPT Open AI, вы можете переключаться на любой LLM по своему выбору, не изменяя логику бота. Это означает, что вы можете сохранить содержимое приложения за пределами общедоступного домена и ограничиться предпочитаемой моделью LLM.
Ответственное применение ИИ
Библиотека ИИ Teams позволяет создавать этические и ответственные приложения для общения, выполнив следующие действия:
- Перехватчики модерации. Для регулирования ответов бота на любой API модерации.
- Очистка бесед. Мониторинг бесед и вмешательство, когда беседа заблуждается путем упреждающего обнаружения и исправления.
- Циклы обратной связи. Для оценки производительности бота для высококачественных бесед и улучшения взаимодействия с пользователем.
Библиотека ИИ Teams предлагает поддержку от низкого уровня кода до сложных сценариев. Библиотека расширяет возможности с помощью конструкций ИИ для создания моделирования естественного языка, пользовательского намерения, персонализации и автоматизированных контекстно-зависимого диалога.
Прогнозная подсистема для сопоставления намерений с действиями
Простой интерфейс для действий и прогнозов позволяет ботам реагировать, когда бот уверен в выполнении действий. Внешнее присутствие позволяет ботам изучать намерения, использовать запросы на основе бизнес-логики и генерировать ответы. Например, если пользователь не был на месте и должен быстро суммировать поток, библиотека:
- Понимает намерение как обобщение.
- Позволяет подсказкам создавать сводные данные за период времени, ориентированный на руководителя пользователя.
- Предоставляет действия для суммирования содержимого чата для пользователей.
Планировщик действий
Action Планировщик — это компонент main, вызывающий модель большого языка (LLM), и включает несколько функций для улучшения и настройки модели. Подключаемые модули модели упрощают настройку выбранного LLM для планировщика и поставляется с OpenAIModel, который поддерживает как OpenAI, так и Azure OpenAI LLM. Можно легко добавить дополнительные подключаемые модули для других моделей, таких как Llama-2, что дает вам возможность выбирать, какая модель лучше всего подходит для вашего варианта использования. Внутренний цикл обратной связи повышает надежность за счет исправления ответов подпара из LLM.
API помощников
Примечание.
Библиотека ИИ Teams поддерживает api помощников OpenAI и Azure OpenAI в общедоступной предварительной версии для разработчиков , чтобы приступить к созданию интеллектуальных помощников.
API помощников позволяет создавать мощные помощники по искусственному интеллекту, способные выполнять различные задачи, которые трудно кодировать с помощью традиционных методов. Он предоставляет программный доступ к системе GPT OpenAI для задач, начиная от чата и заканчивая обработкой изображений, обработкой звука и созданием пользовательских помощников. API поддерживает взаимодействие на естественном языке, позволяя разрабатывать помощников, которые могут понимать и реагировать в разговорной манере.
Следуйте инструкциям в кратком руководстве по созданию помощник, специализирующихся на математике.
Управление запросами
Динамическое управление запросами — это функция системы ИИ, которая позволяет изменять размер и содержимое запроса, отправляемого в языковую модель, на основе доступного бюджета маркеров и источников данных или дополнений. Это может повысить эффективность и точность модели, гарантируя, что запрос не выходит за рамки контекстного окна или не содержит нерелевантных сведений.
Увеличение
Эффективное улучшение и направление ответов модели ИИ с помощью расширения. Используя различные режимы расширения, вы можете адаптировать модель в соответствии со своими потребностями, повышая ее точность и желаемые результаты.
Получение дополненного поколения (RAG): автоматически включает в ответы модели в реальном времени, динамические и заданные внешние источники данных, что позволяет получать актуальные и контекстно точные результаты без точной настройки или повторного обучения модели. Отвечать на вопросы о сегодняшних номерах продаж или настраивать данные конкретного пользователя; при использовании RAG ваша модель больше не застряла в прошлом.
Монолог. Создание агентов в стиле AutoGPT, способных выполнять многоэтапные действия независимо и надежно, включая полную проверку схемы и автоматическое исправление.
Последовательность. Включите помощник ИИ для возврата последовательности действий для выполнения с повышением надежности проверки схемы.
Функции. Создание структурированных ответов из модели путем использования определяемых пользователем функций. Эти функции можно настроить с помощью схем JSON для определения параметров и их формата. ActionPlanner оценивает ответы модели по схеме, выполняя исправления по мере необходимости, повышая надежность и согласованность ответов.
Источники векторных данных
Векторные базы данных — это новый тип базы данных, предназначенный для хранения векторов и обеспечения эффективного поиска по ним. Они возвращают наиболее релевантные результаты для запроса пользователя. Функция поиска векторов в векторной базе данных позволяет генерации, дополненной получением, использовать LLM и пользовательские данные или сведения, относящиеся к предметной области. Это включает извлечение релевантной информации из пользовательского источника данных и их интеграцию в запрос модели с помощью разработки запросов. Перед отправкой запроса в LLM пользовательский ввод, запрос или запрос преобразуется в внедрение, а методы поиска векторов используются для поиска наиболее похожих внедрений в базе данных.
Расширенное обоснование
Библиотека ИИ Teams предлагает интегрированную систему проверки фактов для борьбы с галлюцинациями ботов. Когда пользователь взаимодействует с помощник ИИ, система предлагает боту включиться в процесс самоанализа, критически оценивая его потенциальные ответы перед отправкой. Самоанализ позволяет боту выявлять неточности и исправлять ответы, что повышает точность, качество и контекстную релевантность. Расширенное рассуждение гарантирует, что помощник ИИ станет надежным источником информации и суждений, создавая доверие к вашему продукту и привлекая пользователей каждый день.
Цикл обратной связи
Цикл обратной связи позволяет боту проверять и исправлять выходные данные языковой модели. Он проверяет структуру и параметры плана или монолога, возвращаемого моделью, и предоставляет отзывы об ошибках или отсутствующих сведениях. Затем модель пытается исправить свои ошибки и возвращает допустимые выходные данные. Цикл обратной связи может повысить надежность и точность системы ИИ и снизить вероятность галлюцинации или недопустимых действий.
В следующей таблице перечислены обновления библиотеки ИИ Teams.
Тип | Описание | .NET | JavaScript | Python |
---|---|---|---|---|
OpenAIModel | Класс OpenAIModel позволяет вызывать OAI и Azure OAI с одним компонентом. Новые модели можно определить для других типов моделей, таких как LLaMA2. | ✔️ | ✔️ | ✔️ |
Внедрение | Класс OpenAIEmbeddings позволяет создавать внедрения с помощью OAI или Azure OAI. Новые внедрения можно определить для таких вещей, как внедрение OSS. | ❌ | ✔️ | ✔️ |
Запросы | Новая система запросов на основе объектов обеспечивает более эффективное управление маркерами и снижает вероятность переполнения контекстного окна модели. | ✔️ | ✔️ | ✔️ |
Увеличение | Расширения упрощают задачи разработки запросов, позволяя разработчику добавлять именованные дополнения в запрос. Поддерживаются только functions расширения стиля , sequence и monologue . |
✔️ | ✔️ | ✔️ |
Источники данных | Новый подключаемый модуль DataSource упрощает добавление RAG в любой запрос. Вы можете зарегистрировать именованный источник данных в планировщике, а затем указать имена источников данных, которые они хотят дополнить запрос. | ❌ | ✔️ | ✔️ |
Вызовы функций с помощью пакета SDK для искусственного интеллекта
Вызовы функций, реализованные в пакете SDK для ИИ, открывают множество возможностей, позволяя модели ИИ легко генерировать точные ответы. Это позволяет напрямую подключиться к внешним средствам, что делает ИИ еще более мощным. Эти возможности включают выполнение сложных вычислений, получение важных данных, создание более плавных рабочих процессов и динамическое взаимодействие с пользователями.
Примечание.
Структурированные выходные данные не поддерживаются.
Чтобы использовать вызов функции с API завершения чата, выполните следующие действия.
Настройте планировщик, в котором в командной строке по умолчанию используется расширение инструментов. Обновите один из следующих файлов приложения бота:
- Для приложения JavaScript: обновите
index.ts
. - Для приложения бота C#: обновите
Program.cs
. - Для приложения Python: обновите
bot.py
.
В следующем фрагменте кода показано, как настроить
ToolsAugmentation
класс :const planner = new ActionPlanner({ model, prompts, defaultPrompt: 'tools' });
- Для приложения JavaScript: обновите
Укажите расширение инструментов в
config.json
файле.{ "schema": 1.1, "description": "", "type": "", "completion": { + "tool_choice": "auto", + "parallel_tool_calls": true, }, + "augmentation": { + "augmentation_type": "tools" + } }
Укажите все в
function definitions
actions.json
файле, который находится в папкеprompts
. Убедитесь, что вы следуете схеме, чтобы избежать ошибок при вызове действия LLM.[{ "name": "CreateList", "description": "Creates a list" }]
Зарегистрируйте в
handlers
классеapplication
.- Каждый обработчик — это функция обратного вызова, которая выполняется при возникновении определенного события. Обработчик вызова функции выполняет код в ответ на событие.
- Вызов функции должен возвращать строку в качестве выходных данных вызова функции.
- Когда модель запрашивает вызов каких-либо функций, они сопоставляются с
DO
командами в иPlan
вызываются в функции классаrun
ИИ. Затем выходные данные возвращаются в модель с идентификаторами вызова инструментов, чтобы показать, что средства использовались.
В следующем фрагменте кода показано, как зарегистрировать
handlers
:app.ai.action("createList", async (context: TurnContext, state: ApplicationTurnState, parameters: ListAndItems) => { // Ex. create a list with name "Grocery Shopping". ensureListExists(state, parameters.list); return `list created and items added. think about your next action`; });
Включение параметров средства
Можно включить следующие параметры инструментов:
Включить выбор средства. Чтобы разрешить модели выбирать функцию, которую она должна вызывать, включив выбор средства. В файле:
config.json
- Задайте значение
tool_choice
,required
чтобы модель всегда вызывала по крайней мере одну функцию. - Задайте
tool_choice
для конкретной функции, используя ее определение для использования этой функции. - Задайте значение
tool_choice
none
для отключения средства.
Значение
tool_choice
по умолчанию —auto
. Она позволяет модели выбирать функции, которые она должна вызывать.- Задайте значение
Переключение параллельных вызовов инструментов. Параллельное выполнение инструментов выполняется быстрее и сокращает количество обратных вызовов API.
config.json
В файле можно задать значениеparallel_tool_calls
true
илиfalse
. По умолчаниюparallel_tool_calls
параметр имеет значениеtrue
.
В следующем фрагменте кода показано, как включить выбор средства и переключить параллельные вызовы инструментов:
{
"schema": 1.1,
"description": "",
"type": "",
"completion": {
+ "tool_choice": "auto",
+ "parallel_tool_calls": true,
},
+ "augmentation": {
+ "augmentation_type": "tools"
+ }
}
Примеры кода
Название примера | Описание | .NET | Node.js | Python |
---|---|---|---|---|
Эхо-бот | В этом примере показано, как включить базовый поток беседы в приложение Microsoft Teams с помощью Bot Framework и библиотеки ИИ Teams. | Просмотр | Просмотр | Просмотр |
Расширение сообщений команды поиска | В этом примере показано, как включить базовое приложение расширения сообщений в приложение Microsoft Teams с помощью Bot Framework и библиотеки ИИ Teams. | Просмотр | Просмотр | Просмотр |
Бот Typeahead | В этом примере показано, как включить функцию поиска typeahead в адаптивных карточках в приложение Microsoft Teams с помощью Bot Framework и библиотеки ИИ Teams. | Просмотр | Просмотр | Просмотр |
Диалоговый бот с ИИ: Шеф-повар Teams | В этом примере показано, как внедрить базовое поведение бота для бесед в Microsoft Teams. Бот создан, чтобы разрешить GPT упростить беседу от его имени, используя только файл запроса на естественном языке, чтобы направлять его. | Просмотр | Просмотр | |
Расширения сообщений: GPT-ME | Этот пример представляет собой расширение сообщений (ME) для Microsoft Teams, которое использует модель text-davinci-003 для создания и обновления записей. | Просмотр | Просмотр | Просмотр |
Легкий бот | Этот пример иллюстрирует более сложное поведение бота беседы в Microsoft Teams. Бот создан, чтобы разрешить GPT упростить беседу от его имени и ответы, определяемые вручную, и сопоставляет намерения пользователей с определенными пользователем действиями. | Просмотр | Просмотр | Просмотр |
Список ботов | В этом примере показано, как внедрить базовое поведение бота для бесед в Microsoft Teams. Бот использует возможности ИИ, чтобы упростить рабочий процесс и навести порядок в повседневных задачах, а также демонстрирует возможности цепочки действий. | Просмотр | Просмотр | Просмотр |
Бот DevOps | В этом примере показано, как внедрить базовое поведение бота для бесед в Microsoft Teams. Бот использует модель gpt-3.5-turbo для общения с пользователями Teams и выполнения действий DevOps, таких как создание, обновление, рассмотрение и обобщение рабочих элементов. | Просмотр | Просмотр | Просмотр |
Двадцать вопросов | В этом примере демонстрируются невероятные возможности языковых моделей и концепция намерения пользователя. Бросьте вызов своим навыкам человека и попробуйте угадать секрет в течение 20 вопросов, в то время как бот на основе ИИ отвечает на ваши запросы о секрете. | Просмотр | Просмотр | Просмотр |
помощник репетитора математики | В этом примере показано, как создать простую беседу с помощью API-интерфейсов Помощников OpenAI. Он использует интерпретатор кода OpenAI для создания помощник, который является экспертом по математике. | Просмотр | Просмотр | Просмотр |
Заказ продуктов питания помощник | В этом примере показано, как создать беседующий помощник, использующий средства для вызова действий в коде ботов. Это еда заказа помощник для вымышленного ресторана под названием Паб и способен к сложному взаимодействию с пользователем, как он принимает их заказ. | Просмотр | Просмотр | Просмотр |
Следующий этап
Platform Docs