Towards AI описал архитектуру HITL Feedback RAG для хранения и поиска пользовательских исправлений
В материале о HITL Feedback RAG разбирается практическая схема работы систем, которые сохраняют пользовательские исправления и потом возвращают их в контекст LLM через retrieval-механизмы. Как пишет Towards AI, статья сосредоточена на полном пайплайне: от структуры данных и индексации до reranking, формирования prompt и эксплуатации системы.
Автор предлагает хранить каждое исправление в виде объекта FeedbackNote. В него входят поля stable ID, task_type, wrong_answer, correction, lesson, embedding, source, created_at и status. Поле lesson используется при добавлении данных в prompt, остальные нужны для фильтрации, аудита и отладки. В примере status работает как soft-delete-флаг: записи не удаляются полностью, а переводятся в состояние deprecated.
Для ingest-процесса предлагается генерировать embedding в момент записи, а не чтения. Это позволяет не пересчитывать векторы при каждом запросе. Embedding строится на основе комбинации task_type и lesson, затем запись сохраняется через upsert по note.id. Для массовой загрузки автор рекомендует отправлять embedding-запросы пакетами по 64–256 элементов.
Отдельно в тексте объясняется работа semantic retrieval. Embedding описывается как вектор фиксированной длины, например 384, 768 или 1024 измерений, в зависимости от модели. Для сравнения используется cosine similarity со значениями от -1 до 1. Также рассматривается L2-нормализация embedding-векторов: в этом случае cosine similarity можно заменить обычным dot product, чтобы ускорить поиск в vector index.
Ключевые факты
FeedbackNote включает поля id, task_type, wrong_answer, correction, lesson, embedding, source, created_at и status
Embedding создается на этапе записи данных, а сохранение выполняется через upsert по note.id
Для пакетной генерации embedding автор рекомендует размеры batch от 64 до 256 элементов
В статье указаны embedding-векторы размерностью 384, 768 или 1024 измерений и использование cosine similarity со значениями от -1 до 1