milvus-logo
LFAI
Home
  • Modèles

Jina AI

Les modèles d'intégration de Jina AI sont des modèles d'intégration de texte très performants qui peuvent traduire des entrées textuelles en représentations numériques, en capturant la sémantique du texte. Ces modèles excellent dans des applications telles que la recherche dense, la similarité textuelle sémantique et la compréhension multilingue.

Milvus s'intègre aux modèles d'intégration de Jina AI via la classe JinaEmbeddingFunction. Cette classe fournit des méthodes pour coder les documents et les requêtes à l'aide des modèles d'intégration de Jina AI et pour renvoyer les intégrations sous forme de vecteurs denses compatibles avec l'indexation Milvus. Pour utiliser cette fonctionnalité, obtenez une clé API de Jina AI.

Pour utiliser cette fonctionnalité, installez les dépendances nécessaires :

pip install --upgrade pymilvus
pip install "pymilvus[model]"

Ensuite, instanciez l'application JinaEmbeddingFunction:

from pymilvus.model.dense import JinaEmbeddingFunction

jina_ef = JinaEmbeddingFunction(
    model_name="jina-embeddings-v2-base-en", # Defaults to `jina-embeddings-v2-base-en`
    api_key=JINAAI_API_KEY # Provide your Jina AI API key
)

Paramètres:

  • model_name (chaîne)

    Le nom du modèle d'intégration de Jina AI à utiliser pour l'encodage. Vous pouvez spécifier n'importe quel nom de modèle d'intégration Jina AI disponible, par exemple, jina-embeddings-v2-base-en, jina-embeddings-v2-small-en, etc. Si ce paramètre n'est pas spécifié, jina-embeddings-v2-base-en sera utilisé. Pour obtenir la liste des modèles disponibles, reportez-vous à Jina Embeddings.

  • api_key (chaîne)

    La clé API pour accéder à l'API Jina AI.

Pour créer des embeddings pour des documents, utilisez la méthode encode_documents():

docs = [
    "Artificial intelligence was founded as an academic discipline in 1956.",
    "Alan Turing was the first person to conduct substantial research in AI.",
    "Born in Maida Vale, London, Turing was raised in southern England.",
]

docs_embeddings = jina_ef.encode_documents(docs)

# Print embeddings
print("Embeddings:", docs_embeddings)
# Print dimension and shape of embeddings
print("Dim:", jina_ef.dim, docs_embeddings[0].shape)

Le résultat attendu est similaire à ce qui suit :

Embeddings: [array([-4.88487840e-01, -4.28095880e-01,  4.90086500e-01, -1.63274320e-01,
        3.43437800e-01,  3.21476880e-01,  2.83173790e-02, -3.10403670e-01,
        4.76985040e-01, -1.77410420e-01, -3.84803180e-01, -2.19224200e-01,
       -2.52898000e-01,  6.62411900e-02, -8.58173100e-01,  1.05221800e+00,
...
       -2.04462400e-01,  7.14229800e-01, -1.66823000e-01,  8.72551440e-01,
        5.53560140e-01,  8.92506300e-01, -2.39408610e-01, -4.22413560e-01,
       -3.19551350e-01,  5.59153850e-01,  2.44338100e-01, -8.60452100e-01])]
Dim: 768 (768,)

Pour créer des embeddings pour des requêtes, utilisez la méthode encode_queries():

queries = ["When was artificial intelligence founded", 
           "Where was Alan Turing born?"]

query_embeddings = jina_ef.encode_queries(queries)

print("Embeddings:", query_embeddings)
print("Dim", jina_ef.dim, query_embeddings[0].shape)

Le résultat attendu est similaire à ce qui suit :

Embeddings: [array([-5.99164660e-01, -3.49827350e-01,  8.22405160e-01, -1.18632730e-01,
        5.78107540e-01,  1.09789170e-01,  2.91604200e-01, -3.29306450e-01,
        2.93779640e-01, -2.17880800e-01, -6.84535440e-01, -3.79752000e-01,
       -3.47541800e-01,  9.20846100e-02, -6.13804400e-01,  6.31312800e-01,
...
       -1.84993740e-02,  9.38629150e-01,  2.74858470e-02,  1.09396360e+00,
        3.96270750e-01,  7.44445800e-01, -1.95404050e-01, -6.08383200e-01,
       -3.75076300e-01,  3.87512200e-01,  8.11889650e-01, -3.76407620e-01])]
Dim 768 (768,)

Traduit parDeepLogo

Table de contenu
Feedback

Cette page a-t - elle été utile ?