Мультимодальный поиск с gemini-embedding-2

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

Цели урока

  • Настроить SDK google-genai и аутентифицироваться с помощью вашего API key.
  • Создать смешанный набор данных с намеренно вводящими в заблуждение именами файлов, чтобы подчеркнуть мощь семантического поиска.
  • Загрузить файлы различных типов и подготовить их для генерации embedding-ов.
  • Сгенерировать мультимодальные embedding-и как для текстового, так и для графического контента, используя gemini-embedding-2.
  • Выполнить поиск семантического сходства, используя косинусное сходство.

О чём урок

Автор: @NaveenKumarG-dev Этот notebook демонстрирует мультимодальный семантический поиск и кросс-модальный поиск с использованием модели gemini-embedding-2 и официального Python SDK google-genai. Вы узнаете, как: Выполнить кросс-модальный поиск с запросами на естественном языке. Визуализировать полученные результаты и сравнить семантический поиск с поиском по ключевым словам. Актуальную информацию можно найти на странице с ценами и в документации по модели. Для запуска следующей ячейки ваш API key должен быть сохранен в Colab Secret под именем GEMINI_API_KEY. Если у вас еще нет API key, или вы не знаете, как создать Colab Secret, см. краткое руководство Аутентификация для пошаговых инструкций. Вы будете использовать gemini-embedding-2, которая отображает текст и изображения в общее векторное пространство, обеспечивая кросс-модальные сравнения. Чтобы подчеркнуть мощь семантического поиска, вы создадите небольшой локальный набор данных с намеренно вводящими в заблуждение именами файлов. Например, изображение собаки сохраняется как cat_image.png, в то время как текстовый файл об океане называется space_facts.txt. Традиционный поиск по ключевым словам для «cat» найдет cat_image.png из-за его имени. Однако семантический поиск анализирует сам контент — поэтому запрос «dog» правильно извлекает cat_image.png, потому что его содержимое — собака. Изображения ниже взяты с Wikimedia Commons и лицензированы под Creative Commons (CC-BY-SA или аналогичной). Точные детали лицензирования см. на страницах отдельных файлов Wikimedia Commons. Текстовые документы являются оригинальным контентом. Загрузите каждый файл и определите его MIME-тип. Изображения открываются как объекты PIL.Image; текстовые файлы считываются как обычные строки. Используйте client.models.embed_content для генерации вектора для каждого файла. Модель gemini-embedding-2 является мультимодальной. Для сценариев использования, связанных с поиском, модель использует структурированные префиксы задач во входных данных для устранения асимметрии между запросами и документами.

План урока

  1. Настройка
  2. Установка SDK
  3. Настройка вашего API key
  4. Выбор модели embedding-ов
  5. Импорт библиотек
  6. Создание набора данных
  7. Загрузка файлов
  8. Генерация embedding-ов

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

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

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