Технология RAG (Retrieval-Augmented Generation) позволяет более эффективно работать со структурированной информацией в базе знаний. При загрузке файла со включенным RAG строится особая векторная структура, по которой системе проще производить поиск нужной информации.
Включить RAG можно с помощью опции Использовать RAG в окне загрузки файла/информации в базу знаний.
Стандартная загрузка:
- Содержимое файлов целиком добавляется к основному промпту.
- Расход входящих токенов сильно увеличивается пропорционально объему информации в базе знаний.
- При большом объеме данных в базе знаний существует высокая вероятность галлюцинаций и заметное снижение скорости ответа.
- При работе с плохо структурированной информацией (например, художественного текста) может давать более точные ответы, чем при использовании RAG, но по возможности рекомендуется структурировать данные вне зависимости от способа загрузки в базу знаний.
Загрузка с использованием RAG:
- Содержимое файлов не добавляется к основному промпту: RAG отдает в LLM только ту информацию, которая требуется для генерации конкретного ответа.
- Расход токенов не увеличивается пропорционально объему информации в базе знаний.
- Объем информации практически не влияет на вероятность галлюцинаций и скорость ответа LLM.
- Если информация не структурирована, LLM может возвращать неполные или некорректные ответы.
- RAG предназначен для работы со справочной информацией – если файл будет содержать какие-либо инструкции для агента, агент не будет их выполнять.
- Агент работает только с текстовой информацией – любая другая информация, например картинки, будет игнорироваться.
- Объем текста в файле не должен превышать 65000 символов. Если файл превышает лимит, то он будет игнорироваться при генерации ответов.
- В файле не могут использоваться таблицы, даже таблицы Markdown. Агент видит таблицы не как человек, и может некорректно читать их и придумывать свои данные.
- Не рекомендуется загружать дубликаты одного и того же файла и дублировать информацию в них. Наличие повторяющихся данных может негативно повлиять на точность ответов, а также увеличить стоимость запросов в LLM-модель.
- Наполнение файла должно быть максимально ёмким и структурированным: рекомендуется выстроить структуру из заголовков и подзаголовков, и разделять информацию на пункты там, где это возможно. Отсутствие структуры в данных также может негативно повлиять на точность ответов и стоимость запросов.
- В файле не нужно прописывать инструкцию для агента – она задается отдельно в поле Промпт диалога редактора агента.
- Рекомендуется разделять данные на несколько файлов, согласно их назначению. Например, в один файл можно внести информацию о компании, в другой – часто задаваемые вопросы, в следующий – информацию о продуктах компании.
- Схожую информацию рекомендуется оформлять в виде одного пункта в файле, если это возможно. Если такой возможности нет, то схожие данные должны находиться максимально близко друг к другу в рамках файла.
Объявлять файлы базы знаний в промпте не требуется – система это делает автоматически при загрузке файлов.