Агентный RAG на LangChain

Урок 18 из 114 курса «Cohere: LLM University»: официальный курс Cohere LLM University (Кохир) на русском языке. Урок входит в платный доступ; первые уроки курса бесплатно.

О чём урок

Задавать вопросы по документам по-прежнему является важной задачей в области генерации с дополненным извлечением (RAG). Однако сложность документа может значительно влиять на общую производительность RAG, особенно когда документы представляют собой PDF-файлы, содержащие смесь текста и таблиц. Таким образом, поиск оптимальной стратегии для анализа этой информации, ее разбиения на фрагменты, встраивания (embedding) и извлечения имеет решающее значение для получения точных результатов. Более того, если вопросы, задаваемые по извлеченным документам, требуют математических рассуждений, то наличие модели, которая может проверять эти операции, весьма полезно. В этом блокноте мы проведем вас через лучшие практики настройки конвейера RAG для обработки документов, содержащих как таблицы, так и текст. Кроме того, мы покажем, как создать агент Cohere ReAct с доступом к инструменту конвейера RAG для повышения точности. Общая структура блокнота такова: рассматриваются отдельные компоненты, связанные с парсингом, извлечением и генерацией для документов со смешанными табличными и текстовыми данными создается объект класса, который может быть использован для создания экземпляра конвейера с параметрическим вводом затем конвейер RAG используется в качестве инструмента для агента Cohere ReAct мы рекомендуем следующее в качестве руководства по полуструктурированному RAG мы рекомендуем этот блокнот для изучения различных методов парсинга PDF-файлов различные поддерживаемые Langchain парсеры Раздел 1 Парсинг Настройка векторного хранилища Конвейер RAG Раздел 2 Класс конвейера RAG Раздел 3 Агент ReAct с инструментом RAG Для повышения производительности RAG на PDF-файлах со смешанными типами данных (текст и таблицы) мы исследовали ряд стратегий парсинга и разбиения на фрагменты из различных библиотек: PyPDFLoader (LC) LlamaParse (Llama-Index) Unstructured IO Мы обнаружили, что лучшим вариантом для парсинга является unstructured.io, поскольку парсер может: отделять таблицы от текста автоматически разбивать таблицы и текст на фрагменты по заголовкам на этапе парсинга, чтобы сгруппировать похожие элементы Существует множество вариантов настройки векторного хранилища. Здесь мы покажем, как настроить его с использованием Chroma и многовекторного извлечения Langchain.

План урока

  1. Мотивация
  2. Цель
  3. Оглавление
  4. Установка зависимостей
  5. Пример
  6. управление историей чата
  7. -------------------------------------------------------

Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.

Полезные гиды