Comment intégrer l’API d’embedding OpenAI avec Zilliz Cloud
En 2018, Zilliz a développé la base de données vectorielle Milvus pour transformer la façon dont nous gérons la recherche et le stockage (nous avons précédemment abordé l’impact des embeddings et des bases de données vectorielles). Initialement, Milvus s’est concentré sur la fourniture des fonctionnalités de base essentielles à une base de données vectorielle, en mettant l’accent sur l’amélioration de l’expérience utilisateur, la garantie de la fiabilité et l’amélioration des performances et de l’évolutivité. Cette approche a entraîné une croissance substantielle au sein de la communauté Milvus, notamment des utilisateurs, des contributeurs et des étoiles—qui approchent désormais les 30 000.
Récemment, en particulier avec la sortie de Milvus 2.4, la communauté a exprimé un fort intérêt pour l’élargissement de l’écosystème des bases de données vectorielles afin d’inclure davantage d’outils, de visualisations et de connecteurs. Une demande clé a été une intégration plus étroite avec les modèles d’embedding. Ces retours reflètent l’évolution des besoins des utilisateurs et l’importance croissante des modèles d’embedding dans le paysage des bases de données vectorielles.
Intégrations de modèles d’embedding
Pour répondre à cette demande croissante, nous sommes ravis de présenter les intégrations de modèles d’embedding, qui connecteront de manière transparente votre base de données Milvus ou Zilliz Cloud à des modèles open source et commerciaux. Ces intégrations sont conçues pour prendre en charge la grande diversité de modèles de machine learning disponibles aujourd’hui, répondant à différents types de données et cas d’utilisation. Que vous travailliez avec du texte, des images ou d’autres types de données, cette fonctionnalité vous garantit de pouvoir exploiter facilement la puissance des modèles d’embedding pour améliorer vos capacités de recherche par similarité sémantique.
En réponse à l’évolution du paysage des modèles d’embedding et des besoins des utilisateurs, nous proposerons deux ensembles d’intégrations parallèles. Le premier ensemble se concentre sur les modèles d’embedding open source populaires, offrant flexibilité et rentabilité aux utilisateurs qui préfèrent les solutions portées par la communauté. Le second ensemble inclut des intégrations avec des modèles d’embedding premium et commerciaux, offrant des fonctionnalités avancées et des performances améliorées aux utilisateurs ayant des exigences plus spécialisées. Cette double approche garantit que tous les utilisateurs, quels que soient leurs besoins en embedding ou leur budget, ont accès à des outils puissants pour optimiser leurs bases de données Milvus ou Zilliz Cloud.
Pourquoi l’intégration avec Zilliz Cloud est essentielle
L’intégration de l’API OpenAI Embedding avec Zilliz Cloud est importante pour les développeurs qui cherchent à améliorer leurs capacités de recherche vectorielle, comme le traitement du langage naturel. En combinant les embeddings puissants et pré-entraînés d’OpenAI avec la base de données vectorielle haute performance de Zilliz Cloud, vous pouvez créer des systèmes de recherche et de récupération plus précis et plus efficaces. Les embeddings d’OpenAI capturent des relations sémantiques complexes dans vos données, tandis que Zilliz Cloud fournit l’évolutivité et la vitesse nécessaires pour gérer de grands volumes de données vectorielles. Cette intégration permet aux développeurs d’exploiter des modèles d’IA avancés pour une meilleure pertinence des résultats de recherche, facilitant la création d’applications qui comprennent les requêtes des utilisateurs et y répondent avec une plus grande précision.
De plus, cette intégration simplifie le processus de développement en offrant une manière rationalisée de gérer et de rechercher dans des jeux de données massifs. Avec Zilliz Cloud qui gère l’infrastructure backend et l’API OpenAI Embedding qui fournit les représentations de données sophistiquées, les développeurs peuvent se concentrer davantage sur la création de leurs applications et moins sur les complexités de la gestion des données. Cette configuration améliore non seulement les performances, mais réduit également le temps de développement, permettant
Exemples dans Zilliz Cloud
Le premier ensemble d’intégrations est une série d’exemples prêts pour POC et de scripts exécutables utilisant Milvus et Zilliz Cloud. Ces exemples sont conçus pour fournir un point de départ entièrement personnalisable aux ingénieurs logiciels afin de créer des applications couvrant une variété de cas d’utilisation. La plupart de ces exemples seront des scripts assez simples combinant des modèles d’embedding en amont et le SDK Milvus. Vous pouvez les trouver dans nos notebooks, où chaque exemple pourrait ressembler à ceci (fortement simplifié pour plus de lisibilité) :
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])
...
Bien que les petits scripts d’exemple soient adaptés à un usage général, nous avons constaté qu’il y avait une réutilisation importante d’un script à l’autre ; l’inférence de modèle et l’interrogation de base de données, par exemple, sont deux actions exécutées dans presque tous les exemples. Pour résoudre ce problème récurrent, nous avons lancé Towhee, un projet Zilliz au sein de l’écosystème Milvus. Towhee intègre des centaines de modèles open source, d’API d’embedding et de modèles internes, offrant aux praticiens du ML la possibilité d’assembler des pipelines de recherche de bout en bout soutenus par Milvus ou Zilliz Cloud en seulement quelques lignes de code. Un exemple de pipeline pour vectoriser des titres de livres (en utilisant l’API d’embedding d’OpenAI) et les insérer dans Milvus pourrait ressembler à ceci :
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()
)
Vous pouvez voir davantage d’exemples Towhee dans le bootcamp Milvus, ainsi qu’un guide complet dans la documentation Towhee.
Contactez-nous
Pour faire court ; nous avons accompli beaucoup de progrès en cinq ans, mais il nous reste encore beaucoup de chemin à parcourir. Zilliz continuera d’être un soutien clé et la principale force motrice derrière le projet Milvus, mais nous nous concentrerons également sur les intégrations et les partenariats avec l’écosystème plus large du machine learning à l’avenir.
Si vous êtes un contributeur open source et souhaitez discuter d’une intégration potentielle, veuillez nous contacter ou nous envoyer un message sur Twitter. Nous avons hâte de vous compter parmi les membres de la communauté !
Continuer à lire

Introducing Loon: A New Storage Engine for Vector Data That Never Stops Changing
Loon is a new storage engine for Milvus 3.0 and Zilliz Vector Lakebase, built to manage evolving vector datasets with ColumnGroups, row ID alignment, and Manifests.

Zilliz Cloud Update: Tiered Storage, Business Critical Plan, Cross-Region Backup, and Pricing Changes
This release offers a rebuilt tiered storage with lower costs, a new Business Critical plan for enhanced security, and pricing updates, among other features.

1 Table = 1000 Words? Foundation Models for Tabular Data
TableGPT2 automates tabular data insights, overcoming schema variability, while Milvus accelerates vector search for efficient, scalable decision-making.



