Jina AI and Zilliz Cloud Integration
Jina AI and Zilliz Cloud integrate to power semantic search and retrieval applications, combining Jina AI's cutting-edge embedding models and rerankers with Zilliz Cloud's high-performance vector database for efficient multilingual, multimodal, and code similarity search at scale.
Utiliser cette intégration gratuitementQu’est-ce que Jina AI
Jina AI, fondée en 2020 à Berlin, est une entreprise d’IA pionnière qui se consacre à révolutionner l’avenir de l’intelligence artificielle grâce à sa base de recherche. Spécialisée dans l’IA multimodale, les embeddings de pointe de Jina AI affichent des performances de premier plan avec un modèle d’une longueur de 8192 tokens, idéal pour une représentation complète des données. Offrant une prise en charge multilingue et une intégration transparente avec les principales plateformes, leur Search Foundation comprend des embeddings, des rerankers, des opérations de prompt et des composants d’infrastructure conçus pour améliorer les expériences de recherche.
En s’intégrant à Zilliz Cloud (Milvus entièrement géré), les embeddings de Jina AI sont ajoutés à la bibliothèque de modèles PyMilvus, ce qui simplifie les flux de travail des développeurs en permettant un stockage et une recherche efficaces des embeddings haute performance de Jina via une base de données vectorielle entièrement gérée, alimentant des applications telles que la recherche sémantique, la découverte de contenu multilingue, la navigation dans le code et la génération augmentée par récupération à grande échelle.
Avantages de l’intégration Jina AI + Zilliz Cloud
- Intégration transparente avec PyMilvus : les embeddings de Jina AI sont intégrés directement à la bibliothèque de modèles PyMilvus via
JinaEmbeddingFunction, ce qui réduit les besoins en outils supplémentaires et simplifie le flux de travail des développeurs. - Prise en charge multilingue et bilingue : Jina AI propose des modèles bilingues pour les traductions allemand-anglais et chinois-anglais, Zilliz Cloud stockant et récupérant efficacement ces embeddings interlingues pour les applications de recherche mondiales.
- Prise en charge des embeddings de code : le modèle d’embeddings de code de Jina AI prend en charge l’anglais et 30 langages de programmation populaires, permettant la navigation dans le code, la revue de code et la recherche dans la documentation, avec le stockage vectoriel de Zilliz Cloud en arrière-plan.
- Dimensions d’embeddings flexibles :
jina-embeddings-v3prend en charge des tailles d’embeddings flexibles (32, 64, 128, 256, 512, 768, 1024), permettant la troncature pour s’adapter aux besoins des applications, tandis que Zilliz Cloud gère efficacement le stockage et la récupération. - Reranking pour une récupération améliorée : les rerankers de Jina AI améliorent encore la qualité de la récupération après la recherche vectorielle initiale dans Zilliz Cloud, en évaluant la pertinence requête-document pour des résultats plus précis.
- Intégration transparente avec PyMilvus : les embeddings de Jina AI sont intégrés directement à la bibliothèque de modèles PyMilvus via
Fonctionnement de l’intégration
Jina AI sert de couche d'embedding et de reranking, convertissant le texte, le contenu multilingue et le code en embeddings vectoriels de grande dimension à l’aide de modèles comme
jina-embeddings-v3. Il fournit des types de tâches distincts pour les documents (retrieval.passage) et les requêtes (retrieval.query) afin d’optimiser la précision de la récupération, ainsi que des rerankers commejina-reranker-v1-base-enpour affiner les résultats de recherche.Zilliz Cloud sert de couche de base de données vectorielle, stockant et indexant les embeddings générés par les modèles de Jina AI. Il fournit une recherche de similarité haute performance avec une faible latence, permettant une récupération rapide des résultats les plus pertinents à partir de grandes collections d’embeddings de texte, multilingues et de code.
Ensemble, Jina AI et Zilliz Cloud créent une solution de recherche sémantique de bout en bout : les documents sont transformés en embeddings à l’aide des modèles de Jina AI via
JinaEmbeddingFunctionet stockés dans Zilliz Cloud. Lorsqu’un utilisateur soumet une requête, Jina AI génère l’embedding du texte de la requête, Zilliz Cloud effectue une recherche de similarité pour trouver les correspondances les plus proches, et le reranker de Jina AI affine éventuellement les résultats pour une pertinence accrue — le tout via un workflow PyMilvus simplifié.Guide étape par étape
1. Installer les packages requis
$ pip install -U pymilvus $ pip install "pymilvus[model]"2. Embeddings à usage général
Utilisez le modèle d'embedding principal de Jina AI pour la recherche sémantique et la classification de contenu :
from pymilvus.model.dense import JinaEmbeddingFunction jina_api_key = "<YOUR_JINA_API_KEY>" ef = JinaEmbeddingFunction( "jina-embeddings-v3", jina_api_key, task="retrieval.passage", dimensions=1024 ) query = "what is information retrieval?" doc = "Information retrieval is the process of finding relevant information from a large collection of data or documents." qvecs = ef.encode_queries([query]) # This method uses `retrieval.query` as the task dvecs = ef.encode_documents([doc]) # This method uses `retrieval.passage` as the task3. Embeddings bilingues
Utilisez les modèles bilingues de Jina AI pour la découverte de contenu interlingue :
from pymilvus.model.dense import JinaEmbeddingFunction jina_api_key = "<YOUR_JINA_API_KEY>" ef = JinaEmbeddingFunction("jina-embeddings-v2-base-de", jina_api_key) query = "what is information retrieval?" doc = "Information Retrieval ist der Prozess, relevante Informationen aus einer großen Sammlung von Daten oder Dokumenten zu finden." qvecs = ef.encode_queries([query]) dvecs = ef.encode_documents([doc])4. Embeddings de code
Utilisez le modèle d'embedding de code de Jina AI prenant en charge l'anglais et 30 langages de programmation populaires :
from pymilvus.model.dense import JinaEmbeddingFunction jina_api_key = "<YOUR_JINA_API_KEY>" ef = JinaEmbeddingFunction("jina-embeddings-v2-base-code", jina_api_key) query = "function to calculate average in Python." doc = """ def calculate_average(numbers): total = sum(numbers) count = len(numbers) return total / count """ qvecs = ef.encode_queries([query]) dvecs = ef.encode_documents([doc])5. Recherche sémantique avec Jina et Milvus
Combinez les embeddings de Jina AI avec la base de données vectorielle Milvus pour effectuer une recherche sémantique :
from pymilvus.model.dense import JinaEmbeddingFunction from pymilvus import MilvusClient jina_api_key = "<YOUR_JINA_API_KEY>" DIMENSION = 1024 ef = JinaEmbeddingFunction( "jina-embeddings-v3", jina_api_key, task="retrieval.passage", dimensions=DIMENSION, ) doc = [ "In 1950, Alan Turing published his seminal paper, 'Computing Machinery and Intelligence,' proposing the Turing Test as a criterion of intelligence, a foundational concept in the philosophy and development of artificial intelligence.", "The Dartmouth Conference in 1956 is considered the birthplace of artificial intelligence as a field; here, John McCarthy and others coined the term 'artificial intelligence' and laid out its basic goals.", "In 1951, British mathematician and computer scientist Alan Turing also developed the first program designed to play chess, demonstrating an early example of AI in game strategy.", "The invention of the Logic Theorist by Allen Newell, Herbert A. Simon, and Cliff Shaw in 1955 marked the creation of the first true AI program, which was capable of solving logic problems, akin to proving mathematical theorems.", ] dvecs = ef.encode_documents(doc) data = [ {"id": i, "vector": dvecs[i], "text": doc[i], "subject": "history"} for i in range(len(dvecs)) ] milvus_client = MilvusClient("./milvus_jina_demo.db") COLLECTION_NAME = "demo_collection" if milvus_client.has_collection(collection_name=COLLECTION_NAME): milvus_client.drop_collection(collection_name=COLLECTION_NAME) milvus_client.create_collection(collection_name=COLLECTION_NAME, dimension=DIMENSION) res = milvus_client.insert(collection_name=COLLECTION_NAME, data=data) print(res["insert_count"])En ce qui concerne l’argument de
MilvusClient: définir l’uricomme un fichier local, par exemple./milvus.db, est la méthode la plus pratique, car elle utilise automatiquement Milvus Lite pour stocker toutes les données dans ce fichier. Si vous avez un grand volume de données, vous pouvez mettre en place un serveur Milvus plus performant sur Docker ou Kubernetes. Si vous souhaitez utiliser Zilliz Cloud, le service cloud entièrement géré pour Milvus, ajustez l’uriet letoken, qui correspondent au Public Endpoint et à l’API Key dans Zilliz Cloud.Effectuez une recherche sémantique en générant un embedding vectoriel pour la requête :
queries = "What event in 1956 marked the official birth of artificial intelligence as a discipline?" qvecs = ef.encode_queries([queries]) res = milvus_client.search( collection_name=COLLECTION_NAME, data=[qvecs[0]], limit=3, output_fields=["text", "subject"], )[0] for result in res: print(result)6. Jina Reranker
Utilisez les rerankers de Jina AI pour améliorer davantage la qualité de la récupération après une recherche utilisant des embeddings :
from pymilvus.model.reranker import JinaRerankFunction jina_api_key = "<YOUR_JINA_API_KEY>" rf = JinaRerankFunction("jina-reranker-v1-base-en", jina_api_key) query = "What event in 1956 marked the official birth of artificial intelligence as a discipline?" documents = [ "In 1950, Alan Turing published his seminal paper, 'Computing Machinery and Intelligence,' proposing the Turing Test as a criterion of intelligence, a foundational concept in the philosophy and development of artificial intelligence.", "The Dartmouth Conference in 1956 is considered the birthplace of artificial intelligence as a field; here, John McCarthy and others coined the term 'artificial intelligence' and laid out its basic goals.", "In 1951, British mathematician and computer scientist Alan Turing also developed the first program designed to play chess, demonstrating an early example of AI in game strategy.", "The invention of the Logic Theorist by Allen Newell, Herbert A. Simon, and Cliff Shaw in 1955 marked the creation of the first true AI program, which was capable of solving logic problems, akin to proving mathematical theorems.", ] rf(query, documents)En savoir plus
- Intégrer Milvus avec Jina AI — Tutoriel officiel de Milvus pour l’intégration avec Jina AI
- Jina AI Embed dans Milvus — Documentation de Milvus sur les fonctions d’embedding Jina AI
- Jina AI Rerankers dans Milvus — Documentation de Milvus sur les fonctions de reranker Jina AI
- Entraîner des embeddings de texte avec Jina AI — Blog de Zilliz sur l’entraînement d’embeddings de texte avec Jina AI
- Que sont les rerankers et comment ils améliorent la recherche d’information — Tutoriel de Zilliz sur les rerankers


