Про извлечение данных у Graphiti.
У фреймворка есть три способа извлечения сущностей (узлов и связей между ними) из входящих эпизодов.
Отличаются эти способы по типу данных, которые мы передаём в эпизоде:
1. Plain Text. Любой неструктурированный текст попадает в этот обработчик.
2. Message. Когда мы производим извлечение из сообщения в диалоге.
3. JSON. Структурированный тип данных, который позволяет извлечь из сообщения больше данных. С ним процесс извлечения становится более предсказуемым.
К сожалению, пока что Graphiti, без форка репозитория, не позволяет явным образом добавить кастомные способы извлечения.
Поэтому довольствуемся тем, что имеем. Благо, с помощью перечисленных способов (передаваемых через аргумент `source=EpisodeType.text`) можно настраивать ожидаемую строгость обработки.
Вывод: лучше всего любое более-менее структурированное сообщение передавать в эпизод либо в формате message, либо в формате JSON. Использовать plain text стоит только в крайних случаях, так как он может снизить качество хранимой в графе информации.

Добавить комментарий