Jina AI

Jina AI / jina-embeddings-v2-base-de

Uma ferramenta de incorporação de texto bilingue (alemão/inglês) que pode processar até 8192 tokens por sequência.

Introdução aos modelos Jina Embedding v2

Os modelos Jina Embeddings v2 foram concebidos para lidar com documentos longos com um tamanho máximo de entrada alargado de 8.192 tokens. A partir de outubro de 2024, o Jina AI Embedding V2 tem as seguintes variantes, cada uma atendendo a diferentes necessidades de embedding.

O que é o jina-embeddings-v2-base-de

O jina-embeddings-v2-base-de é uma ferramenta de incorporação de texto bilingue (alemão/inglês) que pode processar até 8192 tokens por sequência. Foi construída sobre uma arquitetura BERT especializada (chamada JinaBERT) para aplicações monolingues e multilingues com entrada mista alemão-inglês sem preconceitos.

Comparação do jina-embeddings-v2-base-de com outros modelos de embedding do Jina.

ModeloTamanho do parâmetroDimensão de incorporaçãoTexto
jina-embeddings-v3570Mtamanho de embedding flexível (Padrão: 1024)embeddings de texto multilíngüe; suporta 94 idiomas no total
jina-embeddings-v2-small-en33M512embeddings monolingues em inglês
jina-embeddings-v2-base-en137M768Embeddings monolingues em inglês
jina-embeddings-v2-base-zh161M768Embeddings bilingues chinês-inglês
jina-embeddings-v2-base-de161M768Embeddings bilingues alemão-inglês
jina-embeddings-v2-base-code161M768Inglês e linguagens de programação

Como criar embeddings usando jina-embeddings-v2-base-de

Existem duas formas principais de gerar embeddings vectoriais:

  1. PyMilvus: o Python SDK para Milvus que integra perfeitamente o modelo jina-embeddings-v2-base-de.
  2. Biblioteca SentenceTransformer: a biblioteca Python sentence-transformer.

Uma vez criados os embeddings vectoriais, estes podem ser armazenados numa base de dados vetorial como a Zilliz Cloud (uma base de dados vetorial totalmente gerida pela Milvus) e utilizada para pesquisa de similaridade semântica.

Aqui estão quatro etapas principais:

  • Inscrever-se](https://cloud.zilliz.com/signup) para uma conta Zilliz Cloud gratuitamente.
  • Configurar um cluster sem servidor](https://docs.zilliz.com/docs/create-cluster#set-up-a-free-cluster) e obter o Ponto de extremidade público e chave de API.
  • Crie uma coleção de vectores e insira os seus embeddings vectoriais.
  • Execute uma pesquisa semântica nos embeddings armazenados.

Crie embeddings via PyMilvus e insira-os no Zilliz Cloud para pesquisa semântica

from pymilvus.model.dense import SentenceTransformerEmbeddingFunction
from pymilvus import MilvusClient

ef = SentenceTransformerEmbeddingFunction("jinaai/jina-embeddings-v2-base-de", trust_remote_code=True)

docs = [
   "Die Künstliche Intelligenz wurde 1956 als akademische Disziplin gegründet.",
   "Alan Turing foi a primeira pessoa a desenvolver investigação científica na área da inteligência artificial",
   "Geboren in Maida Vale, London, wuchs Turing in Südengland auf."
]
# Gerar embeddings para os documentos
docs_embeddings = ef(docs)

consultas = [ "Quando é que a inteligência artificial foi criada?",
          "Wo wurde Alan Turing geboren?"]
# Gerar ligações para as consultas
consultas_embeddings = ef(consultas)

# Ligar ao Zilliz Cloud com o ponto final público e a chave da API
cliente = MilvusClient(
    uri=ZILLIZ_PUBLIC_ENDPOINT,
    token=ZILLIZ_API_KEY)

COLLECTION = "documents" (coleção)
if client.has_collection(nome_da_colecção=COLLECTION):
    client.drop_collection(nome_da_colecção=COLLECTION)
client.create_collection(
    nome_da_colecção=COLLECTION,
    dimension=ef.dim,
    auto_id=True)

for doc, embedding in zip(docs, docs_embeddings):
    client.insert(COLLECTION, {"text": doc, "vetor": embedding})
    
resultados = cliente.search(
    nome_da_colecção=COLLECTION,
    data=query_embeddings,
    consistency_level="Strong",
    output_fields=["text"])

Para obter detalhes, consulte a nossa [PyMilvus Embedding Model documentation](Para obter mais informações, consulte a nossa PyMilvus Embedding Model documentation.).

Criar embeddings através da biblioteca SentenceTransformer e inseri-los no Zilliz Cloud para pesquisa semântica

from sentence_transformers import SentenceTransformer
from pymilvus import MilvusClient

model = SentenceTransformer("jinaai/jina-embeddings-v2-base-de", trust_remote_code=True)

docs = [
   "Die Künstliche Intelligenz wurde 1956 als akademische Disziplin gegründet.",
   "Alan Turing foi a primeira pessoa a desenvolver investigação científica na área da inteligência artificial",
   "Geboren in Maida Vale, London, wuchs Turing in Südengland auf."
]
# Gerar embeddings para documentos
docs_embeddings = model.encode(docs, normalize_embeddings=True)

queries = ["Wann wurde die Künstliche Intelligenz gegründet?",
          "Wo wurde Alan Turing geboren?"]
# Gerar ligações para as consultas
consultas_embeddings = model.encode(consultas, normalize_embeddings=True)

# Ligar ao Zilliz Cloud com o ponto final público e a chave da API
cliente = MilvusClient(
    uri=ZILLIZ_PUBLIC_ENDPOINT,
    token=ZILLIZ_API_KEY)

COLLECTION = "documents" (coleção)
if client.has_collection(nome_da_colecção=COLLECTION):
    client.drop_collection(nome_da_colecção=COLLECTION)
client.create_collection(
    nome_da_colecção=COLLECTION,
    dimension=768,
    auto_id=True)

for doc, embedding in zip(docs, docs_embeddings):
    client.insert(COLLECTION, {"text": doc, "vetor": embedding})
    
resultados = cliente.search(
    nome_da_colecção=COLLECTION,
    data=query_embeddings,
    consistency_level="Strong",
    output_fields=["text"])