Поиск по документам с помощью эмбеддингов

Урок 34 из 80 курса «Gemini API: примеры использования»: официальный курс Gemini API Cookbook (Гугл Джемини) на русском языке. Урок входит в платный доступ; первые уроки курса бесплатно.

О чём урок

Примечание: Для корректной работы этого notebook требуются лимиты скорости платного уровня. (см. цены для получения более подробной информации). Этот пример демонстрирует, как использовать Gemini API для создания embeddings, чтобы вы могли выполнять поиск документов. Вы будете использовать клиентскую библиотеку Python для создания word embedding, которая позволит вам сравнивать поисковые запросы или вопросы с содержимым документов. В этом tutorial вы будете использовать embeddings для выполнения поиска документов по набору документов, чтобы задавать вопросы, связанные с Google Car. Чтобы запустить следующую cell, ваш API key должен быть сохранен в Colab Secret с именем GEMINI_API_KEY. Если у вас еще нет API key или вы не знаете, как создать Colab Secret, см. quickstart по аутентификации для примера. В этом разделе вы увидите, как генерировать embeddings для фрагмента текста, используя embeddings из Gemini API. См. quickstart по Embeddings, чтобы узнать больше о параметре task_type, используемом ниже. Вот три примера текстов, которые можно использовать для создания базы данных embeddings. Вы будете использовать Gemini API для создания embeddings каждого из документов. Преобразуйте их в dataframe для лучшей визуализации. Организуйте содержимое словаря в dataframe для лучшей визуализации. Получите embeddings для каждого из этих фрагментов текста. Добавьте эту информацию в dataframe. Теперь, когда embeddings сгенерированы, давайте создадим систему Q&A для поиска этих документов. Вы зададите вопрос о hyperparameter tuning, создадите embedding вопроса и сравните его с коллекцией embeddings в dataframe. Embedding вопроса будет вектором (списком значений с плавающей запятой), который будет сравниваться с вектором документов с использованием скалярного произведения. Этот вектор, возвращаемый из API, уже нормализован. Скалярное произведение представляет собой сходство в направлении между двумя векторами. Значения скалярного произведения могут варьироваться от -1 до 1 включительно. Если скалярное произведение между двумя векторами равно 1, то векторы направлены в одном направлении.

План урока

  1. Обзор
  2. Настройка
  3. Генерация embeddings
  4. Создание базы данных embeddings
  5. Поиск документов с помощью Q&A
  6. Приложение для вопросов и ответов
  7. Следующие шаги

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

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