Глава 4. Семантический поиск, новая версия

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

Цели урока

  • Векторизация документов
  • Векторизация запроса
  • Выполнение семантического поиска
  • Многоязычный семантический поиск
  • Изменение типов сжатия embeddings

О чём урок

Векторные представления текста (text embeddings) — это список чисел, которые представляют контекст или значение внутри фрагмента текста. Это особенно полезно в приложениях поиска или извлечения информации. При использовании text embeddings это называется семантическим поиском. Семантический поиск решает проблему, с которой сталкивается более традиционный подход лексического поиска, который отлично справляется с поиском совпадений по ключевым словам, но с трудом улавливает контекст или значение фрагмента текста. С Cohere вы можете генерировать text embeddings через endpoint Embed (Embed v3 является последней моделью), который поддерживает более 100 языков. В этом учебнике вы узнаете о: Вы освоите это, создавая помощника по адаптации для новых сотрудников. Для начала нам необходимо установить библиотеку cohere и создать клиент Cohere. Endpoint Embed принимает тексты в качестве входных данных и возвращает embeddings в качестве выходных данных. Для семантического поиска существует два типа документов, которые нам нужно преобразовать в embeddings. Список документов, по которым мы хотим выполнить поиск. Запрос, который будет использоваться для поиска по документам. Сейчас мы выполняем первое. Мы вызываем endpoint Embed, используя co.embed(), и передаем следующие аргументы: model: Здесь мы выбираем embed-v4.0 input_type: Мы выбираем search_document, чтобы модель обрабатывала их как документы для поиска texts: Список текстов (FAQ) embedding_types: Мы выбираем float для получения float embeddings. Дополнительная литература: Справочник по API endpoint Embed Документация по endpoint Embed Документация по моделям, доступным на endpoint Embed Модуль LLM University по представлению текста Далее мы добавляем запрос, который спрашивает о том, как оставаться в курсе обновлений компании. Мы выбираем search_query в качестве input_type, чтобы модель обрабатывала это как запрос (вместо документов) для поиска. Теперь мы хотим найти наиболее релевантные документы по запросу. Мы делаем это, вычисляя сходство между embeddings запроса и каждого из документов. Существуют различные подходы к вычислению сходства между embeddings, и мы выберем подход с использованием скалярного произведения.

План урока

  1. Настройка
  2. Векторизация документов
  3. Векторизация запроса
  4. Выполнение семантического поиска
  5. Многоязычный семантический поиск
  6. Заключение

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

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