О чём урок
Этот notebook демонстрирует, как: Индексировать векторный набор данных Wikipedia от OpenAI в Elasticsearch Создать embedding вопроса с помощью `embeddings` endpoint OpenAI Выполнить семантический поиск по индексу Elasticsearch, используя закодированный вопрос ℹ️ Для этого notebook мы используем развертывание Elasticsearch в Elastic Cloud. Если у вас еще нет развертывания Elastic, вы можете зарегистрироваться для получения бесплатной пробной версии Elastic Cloud. Для подключения к Elasticsearch необходимо создать экземпляр клиента, используя Cloud ID и пароль вашего развертывания. Найдите Cloud ID для вашего развертывания, перейдя по ссылке https://cloud.elastic.co/deployments и выбрав ваше развертывание. На этом шаге мы загружаем набор данных embeddings Wikipedia от OpenAI и извлекаем zip-файл. Далее мы используем библиотеку Pandas для чтения распакованного CSV-файла в DataFrame. Этот шаг упрощает массовую индексацию данных в Elasticsearch. Теперь нам необходимо создать индекс Elasticsearch с необходимыми маппингами. Это позволит нам индексировать данные в Elasticsearch. Мы используем тип поля dense_vector для полей title_vector и content_vector. Это специальный тип поля, который позволяет нам хранить плотные векторы в Elasticsearch. Позже нам потребуется нацеливаться на поле dense_vector для kNN поиска. Следующая функция генерирует необходимые bulk-действия, которые могут быть переданы в Bulk API Elasticsearch, чтобы мы могли эффективно индексировать несколько документов за один запрос. Для каждой строки в DataFrame функция возвращает (yields) словарь, представляющий один документ для индексации. Поскольку DataFrame большой, мы будем индексировать данные batch-ами по 100 элементов. Мы индексируем данные в Elasticsearch, используя helpers Python-клиента для Bulk API. Давайте протестируем индекс с помощью простого match-запроса.
План урока
- Установка пакетов и импорт модулей
- Подключение к Elasticsearch
- Загрузка набора данных
- Чтение CSV-файла в Pandas DataFrame
- Создание индекса с маппингом
- Индексация данных в Elasticsearch
Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.