Поиск с фильтрами в Zilliz

Урок 293 из 299 курса «OpenAI Cookbook»: официальный курс OpenAI Academy (ОпенАИ) на русском языке. Урок входит в платный доступ; первые уроки курса бесплатно.

О чём урок

В этом notebook мы рассмотрим генерацию embedding'ов описаний фильмов с помощью OpenAI и использование этих embedding'ов в Zilliz для поиска релевантных фильмов. Чтобы сузить результаты поиска и попробовать что-то новое, мы будем использовать фильтрацию для поиска по метаданным. Набор данных в этом примере взят из HuggingFace datasets и содержит чуть более 8 тысяч записей о фильмах. Начнем с загрузки необходимых библиотек для этого notebook: openai используется для связи с сервисом embedding'ов OpenAI pymilvus используется для связи с сервером Zilliz datasets используется для загрузки набора данных tqdm используется для индикаторов прогресса Чтобы запустить Zilliz, ознакомьтесь с информацией здесь. После настройки вашей учетной записи и базы данных, установите следующие значения: URI: URI, на котором работает ваша база данных USER: Имя пользователя вашей базы данных PASSWORD: Пароль вашей базы данных COLLECTION_NAME: Имя, которое будет присвоено коллекции в Zilliz DIMENSION: Размерность embedding'ов OPENAI_ENGINE: Какую модель embedding'ов использовать openai.api_key: Ключ вашей учетной записи OpenAI INDEX_PARAM: Настройки индекса для использования в коллекции QUERY_PARAM: Параметры поиска для использования BATCH_SIZE: Сколько текстов embedding'ов вставлять за один раз Когда Zilliz запущен и работает, мы можем начать получать наши данные. Hugging Face Datasets — это хаб, который содержит множество различных пользовательских наборов данных, и для этого примера мы используем набор данных netflix-shows от HuggingLearners. Этот набор данных содержит фильмы и их метаданные для более чем 8 тысяч фильмов. Мы будем создавать embedding для каждого описания и хранить его в Zilliz вместе с его title, type, release_year и rating. Теперь, когда данные находятся на нашей машине, мы можем начать создавать их embedding'и и вставлять их в Zilliz. Функция embedding'а принимает текст и возвращает embedding'и в формате списка. Этот следующий шаг выполняет фактическую вставку. Мы итерируем по всем записям и создаем batch'и, которые вставляем, как только достигаем заданного размера batch'а.

План урока

  1. Находим ваш следующий фильм
  2. Набор данных
  3. Вставка данных
  4. Запрос к базе данных

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

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

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