Адаптивный RAG на LangChain

Урок 129 из 148 курса «Mistral AI Cookbook»: официальный курс Mistral AI Cookbook (Мистраль) на русском языке. Урок входит в платный доступ; первые уроки курса бесплатно.

О чём урок

Адаптивный RAG — это стратегия для RAG, которая использует анализ запросов для маршрутизации вопросов к различным подходам RAG в зависимости от их сложности. Мы позаимствуем некоторые идеи из статьи, показанные красным (ниже): Выполнять анализ запросов для маршрутизации вопросов Мы также будем развивать идеи из статьи Corrective RAG, показанные синим (ниже), и статьи Self-RAG, показанные красным: Маршрутизация между нашим индексом (vectorstore) и веб-поиском Оценка релевантности извлечённых документов пользовательскому вопросу Оценка сгенерированных LLM ответов на предмет соответствия документам (например, отсутствие галлюцинаций) Оценка сгенерированных LLM ответов на предмет полезности для вопроса (например, отвечает ли он на вопрос) Мы реализуем эти идеи с нуля, используя Mistral и LangGraph: Мы используем граф для представления потока управления Состояние графа включает информацию (вопрос, документы и т. д.), которую мы хотим передавать между узлами Каждый узел графа изменяет состояние Каждое ребро графа определяет, какой узел посетить следующим Убедитесь, что ваш Mistral API key установлен. Для поиска мы используем Tavily — поисковую систему, оптимизированную для LLM и RAG. При желании вы можете использовать LangSmith для трассировки. Давайте проиндексируем 3 записи блога с помощью Mistral embeddings. Мы можем использовать функцию вызова Mistral для получения структурированных выходных данных в определённых узлах. Будет использоваться следующий поток: Мы строим описанный выше рабочий процесс в виде графа, используя LangGraph. Схема state графа содержит ключи, которые мы хотим: Передавать каждому узлу в нашем графе При необходимости изменять в каждом узле нашего графа Концептуальную документацию см. здесь. Каждый узел в нашем графе — это просто функция, которая: (1) Принимает state в качестве входных данных (2) Изменяет state (3) Записывает изменённый state в схему состояния (словарь) Концептуальную документацию см. здесь. Каждое ребро маршрутизирует между узлами в графе. Концептуальную документацию см. здесь.

План урока

  1. Индекс
  2. LLM
  3. Инструмент веб-поиска
  4. Состояние графа
  5. Построение графа

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

Урок входит в темы

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