Skip to content

ru Skills

dilyararimovna edited this page May 9, 2023 · 2 revisions

Навыки

Навыки являются ключевой частью многофункциональных помощников ИИ. 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 для получения подробной информации.

FAQ Навыки

Навыки часто задаваемых вопросов ориентированы на поддержку стиля беседы в формате вопросов и ответов / часто задаваемых вопросов. Создатель AI Assistant предоставляет кураторский список вопросов и ответов, использует библиотеку DeepPavlov для обучения модели поверх этого списка, а затем использует модель в качестве основы для навыка часто задаваемых вопросов.

Навыки общения в чате

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

Примером навыка болтовни является наш Навык программы Y. Он поддерживает обсуждение ряда тем, включая, помимо прочего:

  • Профиль бота
  • Профиль пользователя
  • Лунар Индастриз

Эти навыки могут быть реализованы с помощью правил (например, AIML), нейронных моделей (например, seq2seq или seq2word, таких как GPT) и их комбинаций.

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

Развитие собственного навыка DFF

Вы можете повторно использовать существующие навыки на основе 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.

Ссылки

Clone this wiki locally