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

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

Глава 6. Добавляем пользовательский интерфейс RAG с помощью Gradio

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

В этой главе мы предоставим практическое руководство по созданию интерактивного приложения на основе RAG с использованием Gradio в качестве пользовательского интерфейса. Мы настроим среду Gradio, интегрируем модель RAG, создадим web-интерфейс, и разместим приложения в Интернете. Вы узнаете, как быстро создавать прототипы и развертывать приложения на базе RAG.

Подробнее »Глава 6. Добавляем пользовательский интерфейс RAG с помощью Gradio

Глава 5. Управление безопасностью в приложениях RAG

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

  • Как RAG может быть использована в качестве решения для обеспечения безопасности
  • Проблемы безопасности RAG
  • Красная команда
  • Общие зоны для целей с красными командами
  • Лаборатория кода 5.1 – Защита ключей
  • Лаборатория кода 5.2 – Атака красной команды!
  • Лаборатория кода 5.3 – Синяя команда защищается!

Подробнее »Глава 5. Управление безопасностью в приложениях RAG

Глава 4. Компоненты системы RAG

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

  • Обзор ключевых компонентов
  • Индексация
  • Извлечение и генерация
  • Создание промтов
  • Определение языковой модели
  • Пользовательский интерфейс
  • Оценка

Подробнее »Глава 4. Компоненты системы RAG