RAG с нуля: вторая версия

Урок 7 из 114 курса «Cohere: LLM University»: официальный курс Cohere LLM University (Кохир) на русском языке. Урок входит в платный доступ; первые уроки курса бесплатно.

О чём урок

Retrieval-Augmented Generation (RAG) — это техника, которая сочетает в себе сильные стороны предварительно обученных языковых моделей со способностью извлекать информацию из большого корпуса документов. RAG позволяет языковой модели давать более информированные, точные и контекстуально релевантные ответы, чем если бы она полагалась только на свои предварительно обученные знания. В Cohere все вызовы RAG сопровождаются... точными цитатами! 🎉 Модель цитирует, какие группы слов из фрагментов RAG были использованы для генерации окончательного ответа.Эти цитаты позволяют легко проверить, откуда берутся утверждения, сгенерированные моделью, и помогают пользователям получить представление о логике работы модели. RAG состоит из 3 шагов: Шаг 1: Индексирование и, при наличии пользовательского запроса, извлечение релевантных фрагментов из индекса Шаг 2: Опционально, переранжирование извлеченных фрагментов Шаг 3: Генерация окончательного ответа модели с точными цитатами, на основе извлеченных и переранжированных фрагментов В этом примере мы будем использовать недавний фрагмент текста, который не входил в обучающие данные: страницу Википедии о фильме "Дюна 2". На практике RAG обычно применяется к гораздо более длинному тексту, который не помещается в контекстное окно модели. Мы индексируем документ в векторной базе данных. Это включает получение документов, их разбиение на фрагменты (chunking), создание эмбеддингов (embedding) и индексирование в векторной базе данных. Затем мы извлекаем релевантные результаты на основе запроса пользователя. Эмбеддинги Cohere являются передовыми. Мы используем простейшую векторную базу данных: словарь Python, использующий np.array(). Эмбеддинги Cohere являются передовыми. Мы используем косинусное сходство для поиска наиболее похожих фрагментов Мы переранжируем 10 фрагментов, извлеченных из векторной базы данных. Переранжирование повышает точность извлечения. Переранжирование позволяет нам перейти от 10 фрагментов, извлеченных из векторной базы данных, к 3 наиболее релевантным фрагментам. Примечание: это действительно тот ответ, который вы ожидали, и вот отрывок текста из Википедии, объясняющий его!

План урока

  1. Шаг 0 - Импорты и получение данных
  2. Шаг 1 - Индексирование и, при наличии пользовательского запроса, извлечение релевантных фрагментов из индекса
  3. Мы разбиваем документ на фрагменты примерно по 512 слов
  4. Создаем эмбеддинги для каждого фрагмента текста
  5. Сохраняем эмбеддинги в векторной базе данных
  6. При наличии пользовательского запроса извлекаем релевантные фрагменты из векторной базы данных
  7. Определяем вопрос пользователя
  8. Создаем эмбеддинг для вопроса пользователя

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

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

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