Основы RAG с Mistral AI

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

О чём урок

Генерация с дополненным поиском (RAG) — это фреймворк ИИ, который объединяет возможности LLM и систем информационного поиска. Он полезен для ответов на вопросы или генерации контента с использованием внешних знаний. В RAG есть два основных шага: 1) поиск (retrieval): извлечение релевантной информации из базы знаний с помощью text embeddings, хранящихся в vector store; 2) генерация: вставка релевантной информации в prompt для LLM, чтобы сгенерировать ответ. В этом руководстве мы рассмотрим очень простой пример RAG с четырьмя реализациями: RAG с нуля с Mistral RAG с Mistral и LangChain RAG с Mistral и LlamaIndex RAG с Mistral и Haystack Этот раздел призван провести вас через процесс создания базового RAG с нуля. У нас две цели: во-первых, предоставить пользователям всестороннее понимание внутренней работы RAG и демистифицировать его основные механизмы; во-вторых, дать вам необходимые основы для создания RAG с использованием минимально требуемых зависимостей. Первый шаг — установить необходимые пакеты mistralai и faiss-cpu и импортировать необходимые пакеты: В этом очень простом примере мы получаем данные из эссе, написанного Полом Грэмом: Мы также можем сохранить эссе в локальный файл: В системе RAG крайне важно разбивать документ на более мелкие части (chunks), чтобы впоследствии было эффективнее идентифицировать и извлекать наиболее релевантную информацию в процессе retrieval. В этом примере мы просто разбиваем наш текст по символам, объединяем 2048 символов в каждый chunk и получаем 37 chunks. Размер chunk: В зависимости от вашего конкретного сценария использования, может потребоваться настроить или поэкспериментировать с различными размерами chunk и перекрытием chunks для достижения оптимальной производительности в RAG. Например, меньшие chunks могут быть более полезны в процессах retrieval, так как более крупные текстовые chunks часто содержат избыточный текст, который может скрывать семантическое представление. Таким образом, использование меньших текстовых chunks в процессе retrieval может позволить системе RAG более эффективно и точно идентифицировать и извлекать релевантную информацию.

План урока

  1. RAG с нуля
  2. Импорт необходимых пакетов
  3. Получение данных
  4. Разделение документа на части (chunks)
  5. Соображения
  6. Создание embeddings для каждого текстового chunk
  7. Загрузка в векторную базу данных
  8. Создание embeddings для вопроса

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

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

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