Jina AI / jina-embeddings-v2-base-code
Milvus Integrated
Tâche: Intégration
Modalité: Texte
Métrique de similarité: Tous (normalisés)
Licence: Apache 2.0
Dimensions: 768
Tokens d'entrée max: 8192
Prix: Gratuit
Introduction aux modèles Jina Embedding v2
Les modèles Jina Embeddings v2 sont conçus pour traiter de longs documents avec une taille d'entrée maximale étendue à 8 192 tokens. En octobre 2024, Jina AI Embedding V2 dispose des variantes suivantes, chacune répondant à des besoins d'intégration différents.
Qu'est-ce que jina-embeddings-v2-base-code ?
jina-embeddings-v2-base-code est un modèle d'intégration multilingue qui comprend l'anglais et 30 langages de programmation populaires, supportant des séquences jusqu'à 8192 tokens. Il utilise une architecture basée sur BERT, en particulier JinaBERT, qui inclut une variante bidirectionnelle symétrique d'ALiBi pour gérer les séquences plus longues. Initialement pré-entraîné sur l'ensemble de données de code de GitHub, ce modèle a été amélioré avec la vaste collection de Jina AI de plus de 150 millions de paires de questions-réponses de codage et de paires de code source de docstring provenant de divers domaines.
Comparaison de jina-embeddings-v2-base-code avec d'autres modèles d'intégration de Jina.
| Modèle d'intégration - Taille des paramètres - Dimension d'intégration - Texte - Modèle d'intégration - Taille des paramètres - Dimension d'intégration - Texte - Modèle d'intégration - Dimension d'intégration | ---------------------------- | -------------- | --------------------------------------- | ----------------------------------------------------------- | | jina-embeddings-v3 | 570M | taille d'intégration flexible (par défaut : 1024) | intégration de texte multilingue ; prise en charge de 94 langues en tout | jina-embeddings-v2-small-fr | 33M | 512 | Embarquements monolingues en anglais | jina-embeddings-v2-base-fr | 137M | 768 | Embarquements monolingues en anglais | jina-embeddings-v2-base-fr | jina-embeddings-v2-base-zh | 161M | 768 | Embarquements bilingues chinois-anglais | jina-embeddings-v2-base-de | 161M | 768 | Bases de données bilingues allemand-anglais | jina-embeddings-v2-base-de | 161M | 768 | Bases de données bilingues allemand-anglais | jina-embeddings-v2-base-code | 161M | 768 | Anglais et langages de programmation |
Comment créer des embeddings à l'aide de jina-embeddings-v2-base-code
Il existe deux façons principales de générer des embeddings vectoriels :
- PyMilvus : le SDK Python pour Milvus qui intègre de manière transparente le modèle
jina-embeddings-v2-base-code. - SentenceTransformer library : la bibliothèque Python
sentence-transformer.
Une fois que les embeddings vectoriels sont créés, ils peuvent être stockés dans une base de données vectorielle comme [Zilliz Cloud] (https://zilliz.com/cloud) (une base de données vectorielle entièrement gérée par Milvus) et utilisés pour [la recherche de similarité sémantique] (https://zilliz.com/glossary/semantic-search).
Voici les quatre étapes clés :
- S'inscrire pour un compte Zilliz Cloud gratuit.
- Configurez un cluster sans serveur (https://docs.zilliz.com/docs/create-cluster#set-up-a-free-cluster) et obtenez le point de terminaison public et la clé API (https://docs.zilliz.com/docs/on-zilliz-cloud-console#free-cluster-details).
- Créez une collection de vecteurs et insérez vos embeddings vectoriels.
- Exécutez une recherche sémantique sur les encastrements stockés.
Créer des embeddings via PyMilvus et les insérer dans Zilliz Cloud pour la recherche sémantique.
from pymilvus.model.dense import SentenceTransformerEmbeddingFunction
from pymilvus import MilvusClient
ef = SentenceTransformerEmbeddingFunction("jinaai/jina-embeddings-v2-base-code", trust_remote_code=True)
docs = [
"L'intelligence artificielle a été fondée en tant que discipline universitaire en 1956",
"Alan Turing a été la première personne à mener des recherches substantielles sur l'intelligence artificielle,
"Né à Maida Vale, Londres, Turing a grandi dans le sud de l'Angleterre."
]
# Générer des embeddings pour les documents
docs_embeddings = ef(docs)
queries = ["Quand l'intelligence artificielle a-t-elle été créée",
"Où est né Alan Turing ?"]
# Génère des embeddings pour les requêtes
query_embeddings = ef(queries)
# Se connecter à Zilliz Cloud avec le point de terminaison public et la clé API
client = MilvusClient(
uri=ZILLIZ_PUBLIC_ENDPOINT,
token=ZILLIZ_API_KEY)
COLLECTION = "documents"
if client.has_collection(collection_name=COLLECTION) :
client.drop_collection(nom_de_la_collection=COLLECTION)
client.create_collection(
nom_de_la_collection=COLLECTION,
dimension=ef.dim,
auto_id=True)
for doc, embedding in zip(docs, docs_embeddings) :
client.insert(COLLECTION, {"text" : doc, "vector" : embedding})
results = client.search(
nom_de_la_collection=COLLECTION,
data=query_embeddings,
niveau de cohérence="Fort",
output_fields=["text"])
Pour plus de détails, reportez-vous à la [documentation du modèle d'intégration PyMilvus](Pour plus d'informations, reportez-vous à la documentation du modèle d'intégration PyMilvus.).
Créer des embeddings via la bibliothèque SentenceTransformer et les insérer dans Zilliz Cloud pour la recherche sémantique
from sentence_transformers import SentenceTransformer
from pymilvus import MilvusClient
model = SentenceTransformer("jinaai/jina-embeddings-v2-base-code", trust_remote_code=True)
docs = [
"L'intelligence artificielle a été fondée en tant que discipline universitaire en 1956,
"Alan Turing a été la première personne à mener des recherches substantielles sur l'intelligence artificielle,
"Né à Maida Vale, Londres, Turing a grandi dans le sud de l'Angleterre."
]
# Générer des embeddings pour les documents
docs_embeddings = model.encode(docs, normalize_embeddings=True)
queries = ["query : Quand l'intelligence artificielle a-t-elle été fondée ?
"requête : Wo wurde Alan Turing geboren ?" ]
# Générer des embeddings pour les requêtes
query_embeddings = model.encode(queries, normalize_embeddings=True)
# Se connecter au nuage Zilliz avec le point de terminaison public et la clé API
client = MilvusClient(
uri=ZILLIZ_PUBLIC_ENDPOINT,
token=ZILLIZ_API_KEY)
COLLECTION = "documents"
if client.has_collection(collection_name=COLLECTION) :
client.drop_collection(nom_de_la_collection=COLLECTION)
client.create_collection(
nom_de_la_collection=COLLECTION,
dimension=768,
auto_id=True)
pour doc, embedding dans zip(docs, docs_embeddings) :
client.insert(COLLECTION, {"text" : doc, "vector" : embedding})
results = client.search(
nom_de_la_collection=COLLECTION,
data=query_embeddings,
niveau de cohérence="Fort",
output_fields=["text"])
- Introduction aux modèles Jina Embedding v2
- Qu'est-ce que jina-embeddings-v2-base-code ?
- Comment créer des embeddings à l'aide de jina-embeddings-v2-base-code
Contenu
Workflows IA fluides
Des embeddings à la recherche IA évolutive - Zilliz Cloud vous permet de stocker, indexer et récupérer des embeddings avec une vitesse et une efficacité inégalées.
Essayer Zilliz Cloud gratuitement

