О чём урок
Задавать вопросы по документам по-прежнему является важной задачей в области генерации с дополненным извлечением (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.
План урока
- Мотивация
- Цель
- Оглавление
- Установка зависимостей
- Пример
- управление историей чата
- -------------------------------------------------------
Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.