milvus-logo
LFAI
Home
  • Modelos

Jina AI

Os modelos de incorporação da Jina AI são modelos de incorporação de texto de alto desempenho que podem traduzir entradas textuais em representações numéricas, capturando a semântica do texto. Estes modelos destacam-se em aplicações como a recuperação densa, a similaridade textual semântica e a compreensão multilingue.

O Milvus integra-se com os modelos de incorporação do Jina AI através da classe JinaEmbeddingFunction. Esta classe fornece métodos para codificar documentos e consultas utilizando os modelos de incorporação da Jina AI e devolvendo as incorporações como vectores densos compatíveis com a indexação Milvus. Para utilizar esta funcionalidade, obtenha uma chave API da Jina AI.

Para utilizar esta funcionalidade, instale as dependências necessárias:

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

De seguida, instanciar o 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
)

Parâmetros:

  • model_name (string)

    O nome do modelo de incorporação do Jina AI a utilizar para a codificação. Pode especificar qualquer um dos nomes de modelos de incorporação Jina AI disponíveis, por exemplo, jina-embeddings-v2-base-en, jina-embeddings-v2-small-en, etc. Se deixar este parâmetro não especificado, será utilizado jina-embeddings-v2-base-en. Para obter uma lista dos modelos disponíveis, consulte Jina Embeddings.

  • api_key (string)

    A chave API para aceder à API Jina AI.

Para criar embeddings para documentos, utilize o método 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)

O resultado esperado é semelhante ao seguinte:

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,)

Para criar embeddings para consultas, utilize o método 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)

A saída esperada é semelhante à seguinte:

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,)

Traduzido porDeepLogo

Tabela de conteúdos

Try Zilliz Cloud for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
Feedback

Esta página foi útil?