Декомпозиция AI-системы для оценки
Компоненты системы:
-
Классификатор намерения
- Задача: Определить намерение пользователя: он хочет получить рецепт блюда, просит совета по приготовлению или просто хочет поговорить?
- Выход: Назначение в виде класса (0 - рецепт, 1 - совет, 2 - прочее)
- Необходимость оценки: Да. Влияет на дальнейший путь обработки запроса и, как следствие, итоговый ответ
-
Ветвь формирования рецепта
2.1. Извлечение полезной информации из запроса
- Задача: Определить перечень ингредиентов, кухонной утвари и предпочтений
- Выход: Структура с полями: ингредиенты, кухонная утварь, предпочтения
- Необходимость оценки: Да. Количество и качество извлеченных данных напрямую влияет на выбор кандидатов
2.2. Выбор K наиболее подходящих рецептов
- Задача: Выбрать наиболее релевантные рецепты исходя из извлеченной полезной информации
- Выход: список из K структурированных рецептов (с ингредиентами и степень их совпадения с тем, что указал пользователь, шаги приготовления)
- Необходимость оценки: Да. Полученные кандидаты напрямую влияют на формирование итогового рецепта
2.3. Формирование ответа
- Задача: Сформировать такой ответ, который будет содержать описание адекватного рецепта, приготовление которого не приведет к ущербу для здоровья.
- Выход: Текстовый ответ
- Необходимость оценки: Да, поскольку этот ответ отправится потом к пользователю
-
Ветвь кулинарного совета
3.1. Извлечение полезной информации из запроса
- Задача: Понять характер проблемы пользователя (сколько варить/жарить (время), чем заменить (замена))
- Выход: Структура с мета-информацией
- Необходимость оценки: Да, поскольку непонимание проблемы приведет к непониманию того, что рекомендовать
3.2. Выбор наиболее подходящих рекомендаций
- Задача: Выбрать те кулинарные рекомендации, которые содержат исчерпывающее решение поставленной проблемы.
- Выход: Список рекомендаций
- Необходимость оценки: Да
3.3. Формирование ответа
- Задача: Исходя из набора рекомендаций, сформировать ответ, который без двусмысленности решает поставленную проблему
- Выход: Текстовый ответ
- Необходимость оценки: Да, поскольку этот ответ отправится потом к пользователю
-
Некулинарная ветвь
- Задача: Поддержать диалог, при этом не уйти в светскую беседу, забыв о своей изначальной функции
- Выход: Текстовый ответ
- Необходимость оценки: Скорее да, чем нет. Оценивать среднее число шагов, приводящее к возврату в рамки предметной области (Обрывать сразу не хорошо: "Давай не будем говорить о ..., мы здесь только о кулинарии", но и "Давай в 200 запросов обсуждать ..." тоже не норма)