Как создать RAG, базу знаний, память для ИИ агентов с LLM. Мой взгляд.

🌟 Рассказываю как создаю архитектуру и последовательность RAG системы для базы знаний от ответов на вопросы. Пишу полезное в блоге Telegram:
⏱ TIMECODES 00:00 - Начало 01:00 - Что такое RAG 03:40 - Как работает поиск 06:00 - Входящие данные 07:00 - Пайплайн данных 12:00 - Валидация данных 13:00 - Базы данных 16:00 - Переранжирование ответов 18:00 - Проверка ответов 20:00 - Советы 👨🏻‍💻 Кто я? Бизнес аналитик. Создаю автоматизацию через чат-боты, LLM агенты и RAG (базу знаний) Мой путь это 10 лет инженерного опыта, диплом MBA, управление процессами на заводе IKEA и 3 года бизнес-анализа в 15 компаниях. Ключевые пункты Ключевые аспекты RAG-систем RAG-система в базовом представлении — это система поиска документов по запросу, позволяющая LLM отвечать на вопросы с использованием знаний, которых у модели нет. Общая архитектура RAG включает LLM (языковую модель), входной промт, базу данных и Python-скрипт (worker) для обработки запросов. Существует два основных типа поиска: векторный (семантический) и полнотекстовый (обычный), оптимальным считается гибридный подход. Векторный поиск работает путем сравнения числовых представлений (векторов) текста, определяя степень их сходства от 0 до 1. Гибридный поиск помогает снизить "шум" и повысить релевантность результатов либо путем предварительной фильтрации по ключевым словам, либо последующей обработкой векторных результатов. Данные в RAG делятся на два типа: документы (для текстовой информации) и таблицы (для числовых и структурированных данных). Процесс преобразования документов включает конвертацию PDF в Markdown, разбивку на чанки, а затем возможное преобразование в JSON с метаданными. Для полноценной RAG-системы рекомендуется использовать JSON для документов и SQL для таблиц, что обеспечивает более гибкий гибридный поиск. Необходим пайплайн обработки данных для автоматического преобразования и добавления новых документов в систему. Валидация данных важна на двух этапах: при преобразовании входящих документов в JSON и при проверке выходных результатов. Для хранения данных используются базы данных (SQL или NoSQL типа MongoDB), а отдельно хранятся векторные представления. Для сложных поисков с большим количеством документов требуются специализированные поисковые системы (например, Elasticsearch или OpenSearch). Переранжирование результатов — дополнительный шаг для уточнения релевантности найденных фрагментов с помощью LLM. Улучшение поиска возможно через преобразование исходного запроса с учетом дополнительного контекста о пользователе. Для оценки качества RAG-системы необходим эталонный набор вопросов-ответов для сравнения и автоматической оценки точности. #llm #RAG #tutorial

Смотрите также