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

Февраль 2025

Глава 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