46.5kЗаказать демоВойтиНачать бесплатно

Как интегрировать OpenAI Embedding API с Zilliz Cloud

Jan 11, 20234 min read

В 2018 году Zilliz разработала векторную базу данных Milvus, чтобы изменить подход к обработке поиска и хранения (ранее мы уже обсуждали влияние эмбеддингов и векторных баз данных). Изначально Milvus была сосредоточена на предоставлении ключевых функций, необходимых для векторной базы данных, с акцентом на улучшение пользовательского опыта, обеспечение надежности, а также повышение производительности и масштабируемости. Такой подход привел к значительному росту сообщества Milvus, включая пользователей, контрибьюторов и звезды — сейчас их число приближается к 30 000.

В последнее время, особенно с выпуском Milvus 2.4, сообщество выразило большой интерес к расширению экосистемы векторных баз данных за счет включения большего количества инструментов, визуализаций и коннекторов. Одним из ключевых запросов стала более тесная интеграция с моделями эмбеддингов. Эта обратная связь отражает меняющиеся потребности пользователей и растущую значимость моделей эмбеддингов в сфере векторных баз данных.

Интеграции моделей эмбеддингов

Чтобы удовлетворить этот растущий спрос, мы рады представить интеграции моделей эмбеддингов, которые позволят бесшовно связать вашу базу данных Milvus или Zilliz Cloud как с open-source, так и с коммерческими моделями. Эти интеграции разработаны с учетом разнообразия доступных сегодня моделей машинного обучения и подходят для различных типов данных и сценариев использования. Работаете ли вы с текстом, изображениями или другими типами данных, эта функция гарантирует, что вы сможете легко использовать возможности моделей эмбеддингов для улучшения своих возможностей семантического поиска по сходству.

В ответ на меняющийся ландшафт моделей эмбеддингов и потребностей пользователей мы предложим два параллельных набора интеграций. Первый набор ориентирован на популярные open-source модели эмбеддингов, обеспечивая гибкость и экономическую эффективность для пользователей, предпочитающих решения, развиваемые сообществом. Второй набор включает интеграции с премиальными коммерческими моделями эмбеддингов, предлагая расширенные функции и повышенную производительность для пользователей с более специализированными требованиями. Такой двойной подход гарантирует, что все пользователи, независимо от их потребностей в эмбеддингах или бюджета, получат доступ к мощным инструментам для оптимизации своих баз данных Milvus или Zilliz Cloud.

Почему интеграция с Zilliz Cloud является ключевой

Интеграция OpenAI Embedding API с Zilliz Cloud важна для разработчиков, стремящихся расширить свои возможности векторного поиска, например в области обработки естественного языка. Объединяя мощные предварительно обученные эмбеддинги OpenAI с высокопроизводительной векторной базой данных Zilliz Cloud, вы можете создавать более точные и эффективные системы поиска и извлечения. Эмбеддинги OpenAI улавливают сложные семантические связи в ваших данных, а Zilliz Cloud обеспечивает масштабируемость и скорость, необходимые для обработки больших объемов векторных данных. Эта интеграция позволяет разработчикам использовать передовые модели ИИ для повышения релевантности результатов поиска, упрощая создание приложений, которые понимают запросы пользователей и отвечают на них с большей точностью.

Более того, эта интеграция упрощает процесс разработки, предлагая оптимизированный способ обработки и поиска по огромным наборам данных. Благодаря тому, что Zilliz Cloud управляет серверной инфраструктурой, а OpenAI’s Embedding API предоставляет сложные представления данных, разработчики могут больше сосредоточиться на создании своих приложений и меньше — на сложностях обработки данных. Такая схема не только повышает производительность, но и сокращает время разработки, позволяя

Примеры в Zilliz Cloud

Первый набор интеграций представляет собой серию готовых к POC примеров и исполняемых скриптов, использующих Milvus и Zilliz Cloud. Эти примеры предназначены для предоставления полностью настраиваемой отправной точки для инженеров-программистов, чтобы создавать приложения для различных пользовательских сценариев. Большинство этих примеров будут довольно простыми скриптами, объединяющими вышестоящие модели эмбеддингов и Milvus SDK. Вы можете найти их в наших notebooks, где каждый пример может выглядеть примерно так (значительно упрощено для удобочитаемости):

from pymilvus import connections, Collection
import openai

...

connections.connect(uri=URI, user=USER, password=PASSWORD, secure=True)
collection = Collection(name=COLLECTION_NAME, schema=schema)
collection.create_index(field_name="embedding", index_params=index_params)

...

for text in document:
    embedding =  openai.Embedding.create(
            input=text, 
            engine=OPENAI_ENGINE)["data"][0]["embedding"]
    collection.insert([embedding])

...

Хотя небольшие примерные скрипты хороши для использования общего назначения, мы обнаружили, что в каждом скрипте было значительное повторное использование; например, инференс модели и запросы к базе данных — это два действия, выполняемые почти во всех примерах. Чтобы решить эту повторяющуюся проблему, мы запустили Towhee, проект Zilliz в экосистеме Milvus. Towhee интегрирует сотни open-source моделей, API эмбеддингов и собственных моделей, предоставляя ML-практикам возможность собирать сквозные поисковые пайплайны на базе Milvus или Zilliz Cloud всего в несколько строк кода. Пример пайплайна для векторизации названий книг (с использованием API эмбеддингов OpenAI) и вставки их в Milvus может выглядеть примерно так:

pipeline = (
    pipe.input('id', 'text')
    .map(
        ops.text_embedding.openai(
            engine='embedding-engine',
            api_key='my-api-key'
        )
    )
    .map(
        ops.ann_insert.milvus_client(
            host='my-vector-database.url', 
            port='19530', 
            collection_name='my-collection'
        )
    )                             
    .output()
)

Вы можете увидеть больше примеров Towhee в Milvus bootcamp, а также полное руководство в документации Towhee.

Свяжитесь с нами

Короче говоря, за пять лет мы добились большого прогресса, но нам еще предстоит пройти долгий путь. Zilliz продолжит быть ключевым спонсором и главной движущей силой проекта Milvus, но в дальнейшем мы также будем сосредоточены на интеграциях и партнерствах с более широкой экосистемой машинного обучения.

Если вы контрибьютор open source и хотите обсудить потенциальную интеграцию, пожалуйста, свяжитесь с нами или напишите нам в Twitter. Мы будем рады видеть вас частью сообщества!

Обновлено Jul 09, 2026