Перейти к содержимому

Глава 14. Продвинутые техники RAG для улучшения результатов

Это продолжение перевода книги Кит Борн. Раскрытие потенциала данных с помощью генеративного ИИ и технологии RAG. В заключительной главе мы рассмотрим несколько продвинутых техник, которые помогут улучшить RAG-приложения. Эти методы выходят за рамки базовых подходов RAG, позволяя решать более сложные задачи и добиваться лучших результатов. Мы начнем с техник, которые уже использовали ранее, рассмотрим их ограничения, а затем добавим новые методы, которые позволят преодолеть эти недостатки и вывести RAG на новый уровень. В ходе этой главы вы получите практический опыт, реализуя продвинутые техники через лабораторные работы.

Темы главы:

  • Наивный RAG и его ограничения
  • Гибридный RAG / мультивекторный RAG для улучшенного поиска
  • Переранжирование (re-ranking) в гибридном RAG
  • Лаборатория кода 14.1 — Расширение запроса (Query Expansion)
  • Лаборатория кода 14.2 — Декомпозиция запроса (Query Decomposition)
  • Лаборатория кода 14.3 — Мультимодальный RAG (MM-RAG)
  • Другие продвинутые техники RAG

Эти методы улучшают процесс поиска и генерации, расширяя запросы, разбивая вопросы на подзадачи и добавляя мультимодальные данные. Мы также рассмотрим индексацию, поиск, генерацию и весь конвейер RAG.

Подробнее »Глава 14. Продвинутые техники RAG для улучшения результатов

Глава 13. Промт инжиниринг для улучшения RAG

Это продолжение перевода книги Кит Борн. Раскрытие потенциала данных с помощью генеративного ИИ и технологии RAG. Быстрый вопрос: что вы используете для генерации контента с помощью большой языковой модели (LLM)? Промт! Очевидно, что промт является ключевым элементом любого приложения на основе генеративного ИИ, а значит, и любого приложения RAG. Системы RAG сочетают в себе возможности поиска информации и генеративных языковых моделей, чтобы повысить качество и релевантность сгенерированного текста. Инженерия промтов в этом контексте означает стратегическое формулирование и корректировку входных промтов для улучшения поиска информации, что, в свою очередь, повышает качество генерации.

Инженерия промтов — это настолько обширная тема, что о ней можно написать целые книги. Существует множество стратегий, направленных на разные аспекты работы с промтами, которые помогают улучшить результаты работы LLM. Однако в этой главе мы сосредоточимся на стратегиях, наиболее применимых к RAG-приложениям. В этой главе мы рассмотрим:

  • Ключевые концепции и параметры инженерии промтов
  • Основы проектирования и оптимизации промтов для RAG-приложений
  • Адаптацию промтов для различных LLM, не только моделей OpenAI
  • Лаборатория кода 13.1 — создание пользовательских шаблонов промтов
  • Лаборатория кода 13.2 — варианты промтов

К концу этой главы вы получите крепкую базу знаний по инженерии промтов для RAG, а также освоите практические методы оптимизации промтов для улучшения поиска информации, генерации качественного текста и адаптации под конкретные сценарии использования.

Подробнее »Глава 13. Промт инжиниринг для улучшения RAG

Глава 12. Объединение RAG с возможностями AI-агентов и LangGraph

Это продолжение перевода книги Кит Борн. Раскрытие потенциала данных с помощью генеративного ИИ и технологии RAG. Эта глава открывает третью часть книги «Реализация продвинутого RAG». В ней вы изучите интеграцию AI-агентов с LangGraph, использование стратегий инженерии промтов для оптимизации поиска и генерации, расширение запросов, декомпозицию запросов и мультимодальный RAG.

Вызов большой языковой модели (LLM) может быть мощным инструментом, но если поместить вашу логику в цикл с целью решения более сложных задач, то разработка RAG (генерации, дополненной поиском) выйдет на новый уровень. Именно в этом заключается концепция агентов. За последний год разработка LangChain была сосредоточена на улучшении поддержки агентных рабочих процессов, добавляя функциональность, которая позволяет более точно управлять поведением и возможностями агентов.

Мы шаг за шагом рассмотрим версию кода, представленную в главе 8. Мы продемонстрируем различные варианты для каждого из ключевых компонентов с использованием LangChain. Мы поговорим о сценариях, в которых тот или иной вариант может быть предпочтительнее. Часть этого прогресса связана с появлением LangGraph — еще одного относительно нового компонента LangChain. В связке агенты и LangGraph образуют мощный подход к улучшению RAG-приложений.

В этой главе мы углубимся в изучение элементов агентов, и рассмотрим, как они могут быть интегрированы в вашу систему:

  • Основы AI-агентов и их интеграция с RAG
  • Графы, AI-агенты и LangGraph
  • Добавление агента LangGraph в RAG-приложение
  • Инструменты и наборы инструментов
  • Состояние агента
  • Основные концепции теории графов

Подробнее »Глава 12. Объединение RAG с возможностями AI-агентов и LangGraph

Глава 11. Использование LangChain для улучшения RAG

Это продолжение перевода книги Кит Борн. Раскрытие потенциала данных с помощью генеративного ИИ и технологии RAG. Мы уже неоднократно упоминали LangChain и рассмотрели множество примеров кода, включая использование LangChain Expression Language (LCEL) — специфичного языка выражений LangChain. Теперь, когда вы знакомы с различными способами генерации, дополненной поиском (RAG) с LangChain, самое время углубиться в его дополнительные возможности, которые помогут сделать ваш RAG-конвейер еще более эффективным. В этой главе мы рассмотрим менее известные, но крайне важные компоненты LangChain, которые могут улучшить RAG-приложение. Мы затронем следующие темы:

  • Загрузчики документов для получения и обработки данных из различных источников
  • Сплиттеры текста для разбиения документов на фрагменты, удобные для поиска
  • Парсеры вывода для структурирования ответов языковой модели

Подробнее »Глава 11. Использование LangChain для улучшения RAG

Глава 10. Ключевые компоненты RAG в LangChain

Это продолжение перевода книги Кит Борн. Раскрытие потенциала данных с помощью генеративного ИИ и технологии RAG. В этой главе рассматриваются ключевые технические компоненты, связанные с LangChain и генерацией, дополненной поиском (RAG):

  • Хранилища векторов (vector stores).
  • Ретриверы (извлекатели, retrievers).
  • Большие языковые модели (LLMs).

Мы шаг за шагом рассмотрим версию кода, представленную в главе 8. Мы продемонстрируем различные варианты для каждого из ключевых компонентов с использованием LangChain. Мы поговорим о сценариях, в которых тот или иной вариант может быть предпочтительнее.

Подробнее »Глава 10. Ключевые компоненты RAG в LangChain

Assistant Manager – новая фишка Fantasy Premier League

С GW24 сезона 2024/25 в арсенале менеджеров появляется новая фишка Assistant Manager. В этой заметке я расскажу о правилах и стратегии использования фишки. Я проанализирую, сколько очков можно было бы заработать с фишкой в сезоне 2023/24 и в начале сезона 2024/25. Отвечу на вопрос, на ком играть фишку: на дорогом менеджере премиальной команды, или на бюджетном менеджере «темной лошадки». Какое окно возможностей наилучшим образом подойдет для использования фишки в сезоне 2024/25.

Подробнее »Assistant Manager – новая фишка Fantasy Premier League

Глава 9. Оценка RAG количественно и с использованием визуализаций

Это продолжение перевода книги Кит Борн. Раскрытие потенциала данных с помощью генеративного ИИ и технологии RAG. Оценка играет важную роль в создании и поддержке систем генерации, дополненной поиском (RAG). Во время построения конвейера оценка помогает выявлять области для улучшения, оптимизировать производительность системы и измерять влияние улучшений. После развертывания системы RAG оценка обеспечивает ее эффективность, надежность и производительность. В этой главе будут рассмотрены следующие темы:

  • Оценка на этапе создания приложения RAG
  • Оценка приложения RAG после развертывания
  • Стандартизированные структуры оценки
  • Эталонные данные
  • Лаборатория кода 9.1: ragas
  • Дополнительные методы оценки для систем RAG

Подробнее »Глава 9. Оценка RAG количественно и с использованием визуализаций

Глава 8. Поиск сходства с помощью векторов

Это продолжение перевода книги Кит Борн. Раскрытие потенциала данных с помощью генеративного ИИ и технологии RAG. Мы обсудим компонент Извлечение (retrieval) в рамках Генерации, дополненной поиском (RAG). Рассмотрим четыре темы, связанные с поиском сходства: индексация, метрики расстояния, алгоритмы сходства и сервисы векторного поиска. В этой главе вы изучите:

  • Метрики расстояния, алгоритмы сходства и векторный поиск
  • Векторное пространство
  • Лаборатория кода 8.1: Метрики семантического расстояния
  • Разные парадигмы поиска: разреженный, плотный, гибридный
  • Лаборатория кода 8.2: Гибридный поиск с пользовательской функцией
  • Лаборатория кода 8.3: Гибридный поиск с использованием LangChain’s EnsembleRetriever
  • Алгоритмы семантического поиска
  • Улучшение поиска с помощью методов индексации
  • Варианты векторного поиска

Подробнее »Глава 8. Поиск сходства с помощью векторов

Глава 7. Ключевая роль векторов и векторных хранилищ в RAG

Это продолжение перевода книги Кит Борн. Раскрытие потенциала данных с помощью генеративного ИИ и технологии RAG. Векторы являются ключевым компонентом генерации, дополненной поиском (RAG). В этой главе мы вернемся к коду из предыдущих глав, уделяя внимание тому, как векторы влияют на него. Мы поговорим о том, что такое вектор, как они создаются и где их хранить. Мы сосредоточимся на том, как векторы связаны с RAG, но мы призываем вас потратить больше времени на более глубокое понимания векторов. Чем лучше вы понимаете векторы, тем эффективнее будут ваши конвейеры RAG. Обсуждение векторов настолько важно, что мы посвятим ему две главы. В этой главе мы рассмотрим вектора и векторные хранилища, а в главе 8 – векторный поиск, то есть то, как векторы используются в системе RAG. В этой главе мы рассмотрим следующие темы:

  • Основы векторов
  • Где в вашем коде скрываются векторы
  • Объем текста, который вы векторизуете, имеет значение!
  • Не все семантики одинаково хороши!
  • Лаборатория кода 7.1 – Распространенные методы векторизации
  • Факторы выбора варианта векторизации
  • Начало работы с векторными хранилищами
  • Векторные хранилища
  • Выбор векторного хранилища

Подробнее »Глава 7. Ключевая роль векторов и векторных хранилищ в RAG