-
Notifications
You must be signed in to change notification settings - Fork 76
ru Skills
Навыки являются ключевой частью многофункциональных помощников ИИ. DeepPavlov Dream предоставляет набор встроенных возможностей, называемых навыками. Например, в одном из дистрибутивов, Deepy, возможности ИИ-помощника включают разговор о Лунной базе и болтовню. В более крупных дистрибутивах, таких как Dream, он также может отвечать на вопросы о фактах (используя Factoid QA), предоставлять прогнозы погоды и поддерживать более умную болтовню.
DeepPavlov Dream позволяет научить вашего ИИ-помощника новым навыкам. Клиенты могут получить доступ к этим новым возможностям, задавая вопросы вашему помощнику по искусственному интеллекту или отправляя запросы. Вы можете развивать навыки, которые предоставляют пользователям множество различных типов способностей.
Name | Requirements | Description |
---|---|---|
DialoGPT | 1.2 GB RAM, 2.1 GB GPU | генеративный сервис, основанный на генеративной модели Transformers, модель задается в аргументе компоновки докера PRETRAINED_MODEL_NAME_OR_PATH (например, microsoft/DialoGPT-small с 0,2–0,5 с на GPU) |
DialoGPT Persona-based | 1.2 GB RAM, 2.1 GB GPU | генеративный сервис, основанный на генеративной модели Transformers, модель была предварительно обучена на наборе данных PersonaChat для генерации ответа, обусловленного несколькими предложениями личности социального бота |
Image Captioning | 4 GB RAM, 5.4 GB GPU | создает текстовое представление полученного изображения |
Infilling | 1 GB RAM, 1.2 GB GPU | (отключен, но код доступен) генеративный сервис, основанный на модели Infilling, для данного высказывания возвращает высказывание, в котором _ из исходного текста заменяется сгенерированными токенами |
Knowledge Grounding | 2 GB RAM, 2.1 GB GPU | генеративный сервис на базе архитектуры BlenderBot, обеспечивающий отклик на контекст с учетом дополнительного текстового абзаца |
Masked LM | 1.1 GB RAM, 1 GB GPU | (выключено, но код доступен) |
Seq2seq Persona-based | 1.5 GB RAM, 1.5 GB GPU | генеративный сервис, основанный на модели Seq2seq Transformers, модель была предварительно обучена на наборе данных PersonaChat для генерации ответа, обусловленного несколькими предложениями личности социального бота |
Sentence Ranker | 1.2 GB RAM, 2.1 GB GPU | модель ранжирования, заданная как PRETRAINED_MODEL_NAME_OR_PATH , которая для пары предложений os возвращает плавающую оценку соответствия |
StoryGPT | 2.6 GB RAM, 2.15 GB GPU | генеративный сервис, основанный на доработанном GPT-2, по заданному набору ключевых слов возвращает небольшой рассказ с использованием ключевых слов |
GPT-3.5 | 100 MB RAM | генеративный сервис, основанный на сервисе OpenAI API, модель задается в docker compose аргументом PRETRAINED_MODEL_NAME_OR_PATH (в частности, в этом сервисе используется text-davinci-003 . |
ChatGPT | 100 MB RAM | генеративный сервис на базе сервиса OpenAI API, модель задается в docker compose аргументом PRETRAINED_MODEL_NAME_OR_PATH (в частности, в этом сервисе используется gpt-3.5-turbo . |
Prompt StoryGPT | 3 GB RAM, 4 GB GPU | генеративный сервис на базе доработанного GPT-2, по заданной теме, представленной одним существительным, возвращает короткий рассказ на заданную тему |
GPT-J 6B | 1.5 GB RAM, 24.2 GB GPU | генеративный сервис на основе генеративной модели Transformers, модель задается в аргументе компоновки докера PRETRAINED_MODEL_NAME_OR_PATH (в частности, в этом сервисе модель GPT-J используется. |
BLOOMZ 7B | 2.5 GB RAM, 29 GB GPU | генеративный сервис на основе генеративной модели Transformers, модель задается в docker compose аргументом PRETRAINED_MODEL_NAME_OR_PATH (в частности, в этом сервисе используется модель BLOOMZ-7b1 . |
Name | Requirements | Description |
---|---|---|
Alexa Handler | 30 MB RAM | обработчик для нескольких конкретных команд Alexa |
Christmas Skill | 30 MB RAM | поддерживает FAQ, факты и сценарии для Рождества |
Comet Dialog skill | 300 MB RAM | использует модель COMeT ConceptNet, чтобы выразить мнение, задать вопрос или прокомментировать действия пользователя, упомянутые в диалоге |
Convert Reddit | 1.2 GB RAM | использует модель ConveRT для построения эффективных представлений предложений |
Dummy Skill | a part of agent container | fallback навык с несколькими нетоксичными ответами-кандидатами |
Dummy Skill Dialog | 600 MB RAM | возвращает следующий ход из набора данных Topical Chat, если ответ пользователя на Dummy Skill аналогичен соответствующему ответу в исходных данных |
Eliza | 30 MB RAM | Чат-бот Eliza (https://github.com/wadetb/eliza) |
Emotion Skill | 40 MB RAM | возвращает шаблонные ответы на эмоции, обнаруженные классификацией эмоций из аннотатора комбинированной классификации |
Factoid QA | 170 MB RAM | ответы на фактические вопросы |
Game Cooperative Skill | 100 MB RAM | предлагает пользователю беседу о компьютерных играх: чарты лучших игр за прошедший год, прошедший месяц и прошедшую неделю |
Harvesters Maintenance Skill | 30 MB RAM | Harvesters maintenance skill |
Harvesters Maintenance Gobot Skill | 30 MB RAM | Harvesters maintenance Goal-oriented skill |
Knowledge Grounding Skill | 100 MB RAM | генерирует ответ на основе истории диалога и предоставленных знаний, связанных с текущей темой разговора |
Meta Script Skill | 150 MB RAM | обеспечивает многооборотный диалог вокруг деятельности человека. Навык использует модель COMeT Atomic для создания здравых описаний и вопросов по нескольким аспектам |
Misheard ASR | 40 MB RAM | использует аннотации процессора ASR для обратной связи с пользователем, когда достоверность ASR слишком низкая |
News API Skill | 60 MB RAM | представляет последние новости с самым высоким рейтингом об объектах или темах с помощью GNews API |
Oscar Skill | 30 MB RAM | поддерживает FAQ, факты и сценарии для диалогов про мероприятие Оскар |
Personal Info Skill | 40 MB RAM | запрашивает и сохраняет имя пользователя, место рождения и местонахождение |
DFF Program Y Skill | 800 MB RAM | [Новая версия DFF] Программа чат-бота Y (https://github.com/keiffster/program-y), адаптированная для социального бота Dream |
DFF Program Y Dangerous Skill | 100 MB RAM | [Новая версия DFF] Программа чат-бота Y (https://github.com/keiffster/program-y), адаптированная для социального бота Dream, содержащая ответы на опасные ситуации в диалоге |
DFF Program Y Wide Skill | 110 MB RAM | [Новая версия DFF] Программа чат-бота Y (https://github.com/keiffster/program-y), адаптированная для социального бота Dream, которая включает только очень общие шаблоны (с меньшей достоверностью) |
Small Talk Skill | 35 MB RAM | задает вопросы, используя рукописные сценарии по 25 темам, включая, помимо прочего, любовь, спорт, работу, домашних животных и тд |
SuperBowl Skill | 30 MB RAM | поддерживает FAQ, факты и сценарии для SuperBowl |
Text QA | 1.8 GB RAM, 2.8 GB GPU | Сервис находит ответ на фактоидный вопрос в тексте. |
Valentine's Day Skill | 30 MB RAM | поддерживает FAQ, факты и сценарии ко Дню святого Валентина |
Wikidata Dial Skill | 100 MB RAM | генерирует высказывание, используя триплеты Викиданных. Не включено, нуждается в доработке |
DFF Animals Skill | 200 MB RAM | создан с помощью DFF и имеет три ветки разговора о животных: питомцы пользователя, питомцы соцбота и дикие животные |
DFF Art Skill | 100 MB RAM | навык обсуждать искусство на основе DFF |
DFF Book Skill | 400 MB RAM | [Новая версия DFF] определяет названия книг и авторов, упомянутых в высказывании пользователя, с помощью парсера Wiki и связывания сущностей и рекомендует книги, используя информацию из базы данных GoodReads |
DFF Bot Persona Skill | 150 MB RAM | стремится обсудить любимые пользователями и 20 самых популярных вещей с короткими историями, выражающими мнение социального бота о них |
DFF Coronavirus Skill | 110 MB RAM | [Новая версия DFF] извлекает данные о количестве случаев коронавируса и смертей в разных местах, полученные из Центра системных наук и инженерии Университета Джона Хопкинса |
DFF Food Skill | 150 MB RAM | создан с использованием DFF для поощрения разговоров о еде |
DFF Friendship Skill | 100 MB RAM | [Новая версия DFF] Навык на основе DFF, приветствующий пользователя в начале диалога и перенаправляющий пользователя на какой-либо скриптовый навык |
DFF Funfact Skill | 100 MB RAM | [Новая версия DFF] Сообщает пользователю забавные факты |
DFF Gaming Skill | 80 MB RAM | обеспечивает обсуждение видеоигр. Gaming Skill предназначен для более общего разговора о видеоиграх |
DFF Gossip Skill | 95 MB RAM | Основанный на DFF навык обсуждать других людей с новостями о них |
DFF Image Skill | 100 MB RAM | [Новая версия DFF] Сценарий навыка, основанный на отправленных ответах с подписями к изображениям (из аннотаций) с указанными ответами в случае обнаружения еды, животных или людей и ответами по умолчанию в противном случае |
DFF Template Skill | 50 MB RAM | [Новая версия DFF] Навык на основе DFF, который представляет собой пример использования DFF |
DFF Template Prompted Skill | 50 MB RAM | [Новая версия DFF] Навык на основе DFF, который предоставляет ответы, сгенерированные языковой моделью на основе указанных подсказок и контекста диалога. Используемая модель указана в GENERATIVE_SERVICE_URL. Например, вы можете воспользоваться услугой Transformer LM GPTJ. |
DFF Grounding Skill | 90 MB RAM | [Новая версия DFF] Умение на основе DFF отвечать на тему разговора, генерировать подтверждения, генерировать универсальные ответы на некоторые диалоговые акты от MIDAS |
DFF Intent Responder | 100 MB RAM | [Новая версия DFF] предоставляет ответы на основе шаблонов для некоторых намерений, обнаруженных аннотатором Intent Catcher |
DFF Movie Skill | 1.1 GB RAM | навык реализован с использованием DFF и поддерживает разговоры, связанные с фильмами |
DFF Music Skill | 70 MB RAM | навык обсуждать музыку на основе DFF |
DFF Science Skill | 90 MB RAM | навык обсуждать науку на основе DFF |
DFF Short Story Skill | 90 MB RAM | [Новая версия DFF] рассказывает пользователям короткие истории из 3 категорий: (1) сказки на ночь, такие как басни и моральные истории, (2) страшилки и (3) смешные |
DFF Sport Skill | 70 MB RAM | навык обсуждать спорт на основе DFF |
DFF Travel Skill | 70 MB RAM | Навык на основе DFF для обсуждения путешествий |
DFF Weather Skill | 1.4 GB RAM | [Новая версия DFF] использует службу OpenWeatherMap для получения прогноза местоположения пользователя |
DFF Wiki Skill | 150 MB RAM | используется для создания сценариев с извлечением сущностей, заполнением слотов, вставкой фактов и подтверждениями |
Name | Requirements | Description |
---|---|---|
DialoGPT | 2.8 GB RAM, 2 GB GPU | [Русский DialoGPT от DeepPavlov] (https://huggingface.co/DeepPavlov/rudialogpt3_medium_based_on_gpt2_v2) |
Dummy Skill | fallback навык с несколькими нетоксичными вариантами ответов и случайными русскими вопросами | |
Personal Info Skill | 40 MB RAM | запрашивает и сохраняет имя пользователя, место рождения и местонахождение |
DFF Generative Skill | 50 MB RAM | [Новая версия DFF] генеративный навык, который использует сервис DialoGPT для генерации 3 разных гипотез |
DFF Intent Responder | 50 MB RAM | предоставляет ответы на основе шаблонов для некоторых намерений, обнаруженных аннотатором Intent Catcher |
DFF Program Y Skill | 80 MB RAM | [Новая версия DFF] Программа чат-бота Y (https://github.com/keiffster/program-y), адаптированная для социального бота Dream |
DFF Friendship Skill | 70 MB RAM | [Новая версия DFF] Навык на основе DFF, приветствующий пользователя в начале диалога и перенаправляющий пользователя на какой-либо скриптовый навык |
DFF Template Skill | 50 MB RAM | [Новая версия DFF] Навык на основе DFF, который представляет собой пример использования DFF |
Text QA | 3.8 GiB RAM, 5.2 GiB GPU | Навык для ответа на вопросы по тексту. |
Существуют разные типы навыков и разные способы их классификации. В целом навыки можно рассматривать как ориентированные на достижение цели или основанные на болтовне.
Целенаправленные навыки ориентированы на решение конкретных пользовательских задач. Обычно они обычно имеют ряд намерений, которые они могут распознать, с [необязательно] сопутствующими слотами и сущностями, и могут быть или не быть управляемыми сценарием.
Примером целенаправленного навыка является наш Навык технического обслуживания харвестеров. Он может ответить на такие вопросы, как:
- В каком состоянии комбайны? - за которым следует поиск в базе данных
- В каком состоянии комбайн {N}? - который использует заполнение слотов для определения номера комбайна, а затем следует поиск в базе данных
- Подготовьте ровер к поездке, за которым следует фальшивый вызов API ровера, чтобы подготовить его к поездке.
Эти навыки могут быть реализованы с помощью правил, с помощью нейронных сетей или их комбинации.
Вы можете использовать любую структуру для развития своих целеустремленных навыков. Мы предоставляем DFF (Dialog Flow Framework), который позволяет развивать целенаправленные навыки, используя подход, основанный на сценариях. Взгляните на различные dff_*_skill в каталоге /skills
для получения подробной информации.
Навыки часто задаваемых вопросов ориентированы на поддержку стиля беседы в формате вопросов и ответов / часто задаваемых вопросов. Создатель AI Assistant предоставляет кураторский список вопросов и ответов, использует библиотеку DeepPavlov для обучения модели поверх этого списка, а затем использует модель в качестве основы для навыка часто задаваемых вопросов.
Навыки болтовни ориентированы на поддержку общего разговора; он может быть полностью общим или более специфичным для предметной области или темы.
Примером навыка болтовни является наш Навык программы Y. Он поддерживает обсуждение ряда тем, включая, помимо прочего:
- Профиль бота
- Профиль пользователя
- Лунар Индастриз
Эти навыки могут быть реализованы с помощью правил (например, AIML), нейронных моделей (например, seq2seq или seq2word, таких как GPT) и их комбинаций.
Вы можете использовать любую структуру для развития навыков общения в чате.
Вы можете повторно использовать существующие навыки на основе DFF, заменив их содержимое своим собственным кодом. Самый простой способ — использовать dff_template_skill, а затем начать добавлять свою собственную логику в его файл scenario/main.py
вручную или с помощью [DF Designer](https://marketplace .visualstudio.com/items?itemName=deeppavlov.vscode-dd-idde).
// подробности
Вы также можете посмотреть видео-инструкцию на нашем YouTube-канале здесь:
How to build DFF Skills in Dream-based multiskill AI Assistants with DF Designer (BETA)
...
Вы используете наш базовый Harvesters Maintenance Skill, затем удаляете остальное содержимое, оставляя только конечную точку /respond
и шаблонный код приложения Flask по умолчанию:
#!/usr/bin/env python
import logging
import time
import random
import re
import json
from flask import Flask, request, jsonify
from os import getenv
import sentry_sdk
logging.basicConfig(format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", level=logging.INFO)
logger = logging.getLogger(__name__)
app = Flask(__name__)
@app.route("/respond", methods=["POST"])
def respond():
st_time = time.time()
dialogs = request.json["dialogs"]
responses = []
confidences = []
for dialog in dialogs:
sentence = dialog['human_utterances'][-1]['annotations'].get("spelling_preprocessing")
if sentence is None:
logger.warning('Not found spelling preprocessing annotation')
sentence = dialog['human_utterances'][-1]['text']
response = "Hello world!"
confidence = 0.8
responses.append(response)
confidences.append(confidence)
total_time = time.time() - st_time
logger.info(f"harvesters_maintenance_skill exec time = {total_time:.3f}s")
return jsonify(list(zip(responses, confidences)))
if __name__ == "__main__":
app.run(debug=False, host="0.0.0.0", port=3000)
Вам нужно будет соответствующим образом обработать высказывание пользователя, исходящее либо непосредственно от пользователя, либо после обработки аннотатором проверки орфографии, когда он доступен (как показано выше). После этого вам нужно будет обеспечить уверенность в ответе вашего навыка. Наконец, вам нужно будет отправить ответ и доверие агенту DeepPavlov.
- Skills Skills @ ReadTheDoc