Airbyte and Zilliz Cloud Integration
Airbyte and Zilliz Cloud integrate to streamline data ingestion for AI applications, combining Airbyte's open-source data movement infrastructure with 350+ pre-built connectors alongside Zilliz Cloud's high-performance vector database for automated data extraction, embedding, and similarity search.
Utilisez cette intégration gratuitementQu’est-ce qu’Airbyte
Airbyte est une infrastructure open-source de déplacement de données pour créer des pipelines de données d’extraction et de chargement (EL). Elle est conçue pour la polyvalence, l’évolutivité et la facilité d’utilisation. Le catalogue de connecteurs d’Airbyte propose « prêt à l’emploi » plus de 350 connecteurs préconstruits pouvant être utilisés pour commencer à répliquer des données d’une source vers une destination en seulement quelques minutes. Il comprend également un No-Code Connector Builder, une plateforme gérée dans le cloud et plusieurs interfaces, notamment UI, PyAirbyte (bibliothèque Python), API et Terraform Provider.
En s’intégrant à Zilliz Cloud (Milvus entièrement géré), Airbyte permet un flux de données fluide depuis des centaines de sources de données — notamment des bases de données, des entrepôts de données et des produits SaaS — vers une base de données vectorielle évolutive, en prenant en charge l’ingestion de données, le découpage en segments, le formatage, la vectorisation, l’indexation et la recherche de similarité dans un pipeline automatisé pour créer des applications RAG, de la recherche sémantique et des systèmes de recommandation.
Avantages de l’intégration Airbyte + Zilliz Cloud
- Connectivité étendue aux sources de données : Airbyte se connecte à plus de 350 sources de données, notamment des bases de données, des API et des produits SaaS comme Zendesk, Salesforce et GitHub, permettant un flux de données fluide vers Zilliz Cloud pour les applications de recherche vectorielle.
- Segmentation et embedding automatisés : Le connecteur de destination Milvus divise automatiquement les enregistrements en segments de texte, génère des embeddings vectoriels à l’aide de modèles préentraînés (OpenAI, Cohere) et les charge dans Zilliz Cloud — aucun code personnalisé requis.
- Synchronisation incrémentielle : Le mode de synchronisation "Incremental | Append + Deduped" d’Airbyte maintient Zilliz Cloud à jour avec les changements des données sources tout en transférant un minimum de données, garantissant que votre base de données vectorielle reste à jour.
- Pipeline de données de bout en bout : De l’extraction à l’embedding puis à l’indexation, Airbyte gère l’ensemble du pipeline de déplacement des données, permettant aux développeurs de se concentrer sur la création d’applications plutôt que sur la gestion de l’infrastructure de données.
- Déploiement flexible : Airbyte est disponible en version cloud gérée ou autogérée, s’associant à la base de données vectorielle gérée de Zilliz Cloud pour une stack entièrement gérée, ou à Milvus auto-hébergé pour les exigences sur site.
Fonctionnement de l’intégration
Airbyte sert de couche de déplacement des données, extrayant les données depuis des connecteurs sources configurés (bases de données, API, produits SaaS), les traitant via découpage et formatage, générant des embeddings vectoriels à l’aide de modèles comme text-embedding-ada-002 d’OpenAI, et chargeant les résultats dans la base de données vectorielle de destination.
Zilliz Cloud sert de destination de base de données vectorielle, stockant et indexant les données découpées et intégrées depuis Airbyte. Il fournit une recherche de similarité haute performance, permettant aux applications de récupérer du contenu sémantiquement lié à partir des données ingérées.
Ensemble, Airbyte et Zilliz Cloud créent un pipeline automatisé des données vers la recherche : Airbyte extrait les données depuis n’importe lequel de ses plus de 350 connecteurs sources, découpe le texte, génère des embeddings et les charge dans Zilliz Cloud. Les applications peuvent ensuite effectuer une recherche de similarité sur ces données afin d’alimenter des cas d’utilisation tels que la recherche sémantique pour le support client, les chatbots basés sur RAG, les moteurs de recommandation et la récupération dans une base de connaissances.
Guide étape par étape
1. Prérequis
Vous aurez besoin de :
- Un compte de source de données (par exemple, Zendesk) ou une autre source depuis laquelle vous souhaitez synchroniser des données
- Un compte Airbyte ou une instance locale
- Une clé API OpenAI
- Un cluster Milvus
- Python 3.10 installé localement
2. Configurer le cluster Milvus
Si vous avez déjà déployé un cluster K8s pour la production, vous pouvez ignorer cette étape et passer directement à déployer Milvus Operator. Sinon, vous pouvez suivre les étapes pour déployer un cluster Milvus avec Milvus Operator.
Créez une collection avec un nom approprié et définissez la Dimension sur 1536 afin de correspondre à la dimensionnalité vectorielle générée par le service d’embeddings OpenAI. Après la création, notez le point de terminaison et les informations d’authentification.
3. Configurer la source dans Airbyte
Inscrivez-vous pour obtenir un compte cloud Airbyte sur cloud.airbyte.com ou lancez une instance locale. Cliquez sur "New connection" et choisissez votre connecteur source (par exemple, "Zendesk Support"). Après avoir cliqué sur "Test and Save", Airbyte vérifiera si la connexion peut être établie.
4. Configurer la destination Milvus dans Airbyte
Choisissez le connecteur "Milvus" comme destination. Le connecteur Milvus remplit trois fonctions :
- Segmentation et mise en forme — Divise les enregistrements en texte et métadonnées. Si le texte dépasse la taille de segment spécifiée, les enregistrements sont divisés en plusieurs parties chargées individuellement.
- Embedding — À l’aide de modèles d’apprentissage automatique, transforme les segments de texte en embeddings vectoriels. Fournissez la clé API OpenAI et Airbyte enverra chaque segment à OpenAI et ajoutera le vecteur résultant.
- Indexation — Charge les segments vectorisés dans votre cluster Milvus. Insérez le point de terminaison et les informations d’authentification issus de la configuration de votre cluster.
5. Configurer le flux de synchronisation des streams
Sélectionnez les "streams" à synchroniser (par exemple, "tickets" et "articles" pour Zendesk). Choisissez le mode de synchronisation "Incremental | Append + Deduped" afin que les exécutions ultérieures maintiennent vos données synchronisées tout en transférant un minimum de données.
6. Créer une application Streamlit
Installez les packages requis et créez une application de formulaire de support qui interroge la collection Milvus :
pip install streamlit pymilvus openaiimport streamlit as st import os import pymilvus import openai with st.form("my_form"): st.write("Submit a support case") text_val = st.text_area("Describe your problem?") submitted = st.form_submit_button("Submit") if submitted: org_id = 360033549136 pymilvus.connections.connect(uri=os.environ["MILVUS_URL"], token=os.environ["MILVUS_TOKEN"]) collection = pymilvus.Collection("zendesk") embedding = openai.Embedding.create(input=text_val, model="text-embedding-ada-002")['data'][0]['embedding'] results = collection.search(data=[embedding], anns_field="vector", param={}, limit=2, output_fields=["_id", "subject", "description"], expr=f'status == "new" and organization_id == {org_id}') st.write(results[0]) if len(results[0]) > 0 and results[0].distances[0] < 0.35: matching_ticket = results[0][0].entity st.write(f"This case seems very similar to {matching_ticket.get('subject')} (id #{matching_ticket.get('_id')}). Make sure it has not been submitted before") else: st.write("Submitted!")Exécutez l’application :
export MILVUS_TOKEN=... export MILVUS_URL=https://... export OPENAI_API_KEY=sk-... streamlit run app.pyEn savoir plus
- Airbyte : infrastructure open source de déplacement de données — Tutoriel officiel de Milvus pour l’intégration avec Airbyte
- Utiliser Milvus et Airbyte pour la recherche de similarité sur toutes vos données — Blog Zilliz sur la recherche de similarité avec Airbyte
- Une meilleure efficacité des flux de données avec l’intégration de Zilliz Upsert, Kafka et Airbyte — Blog Zilliz sur l’intégration d’Airbyte
- Documentation Airbyte — Documentation officielle d’Airbyte
- Connecteur de destination Airbyte Milvus — Documentation du connecteur Milvus d’Airbyte


