Jina AI

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

Herramienta de incrustación de texto bilingüe (chino/inglés) que puede procesar hasta 8192 tokens por secuencia.

Introducción a los modelos Jina Embedding v2

Los modelos Jina Embeddings v2 están diseñados para manejar documentos largos con un tamaño de entrada máximo ampliado de 8.192 tokens. A partir de octubre de 2024, Jina AI Embedding V2 tiene las siguientes variantes, cada una de las cuales satisface diferentes necesidades de incrustación.

Qué es jina-embeddings-v2-base-zh

jina-embeddings-v2-base-zh es una herramienta de incrustación de texto bilingüe (chino/inglés) que puede procesar hasta 8192 tokens por secuencia. Se basa en una arquitectura BERT especializada (denominada JinaBERT) para aplicaciones monolingües y multilingües.

Comparación de jina-embeddings-v2-base-zh con otros modelos de incrustación de Jina.

| Modelo, tamaño de los parámetros, dimensión de la incrustación, texto. | ---------------------------- | -------------- | --------------------------------------- | ----------------------------------------------------------- | | jina-embeddings-v3 | 570M | tamaño de incrustación flexible (Predeterminado: 1024) | incrustación de texto multilingüe; soporta 94 idiomas en total | | jina-embeddings-v3 | jina-embeddings-v2-small-es | 33M | 512 | incrustaciones monolingües en inglés | jina-embeddings-v2-small-es | 33M | 512 | incrustaciones monolingües en inglés | jina-embeddings-v2-base-es](https://zilliz.com/ai-models/jina-embeddings-v2-base-en) 137M | 768 | Inclusiones monolingües en inglés | jina-embeddings-v2-base-zh | 161M | 768 | Chino-Inglés Bilingüe embeddings | | jina-embeddings-v2-base-de | 161M | 768 | Integraciones bilingües alemán-inglés | jina-embeddings-v2-base-de | 161M | 768 | Integraciones bilingües alemán-inglés | jina-embeddings-v2-base-code | 161M | 768 | Inglés y lenguajes de programación |

Cómo crear incrustaciones con jina-embeddings-v2-base-zh

Hay dos formas principales de generar incrustaciones vectoriales:

  1. **PyMilvus: el SDK de Python para Milvus que integra perfectamente el modelo jina-embeddings-v2-base-zh.
  2. Librería SentenceTransformer: la librería Python sentence-transformer.

Una vez creadas las incrustaciones vectoriales, pueden almacenarse en una base de datos vectorial como Zilliz Cloud (una base de datos vectorial totalmente gestionada por Milvus) y utilizarse para semantic similarity search.

He aquí cuatro pasos clave:

  • Regístrate](https://cloud.zilliz.com/signup) para obtener una cuenta gratuita de Zilliz Cloud.
  • Configurar un clúster sin servidor](https://docs.zilliz.com/docs/create-cluster#set-up-a-free-cluster) y obtener el Public Endpoint and API Key.
  • Crea una colección de vectores e inserta tus incrustaciones vectoriales.
  • Ejecuta una búsqueda semántica en las incrustaciones almacenadas.

Crear incrustaciones a través de PyMilvus e insertarlas en Zilliz Cloud para la búsqueda semántica.

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

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

docs = [
   "人工智能于1956年作为一门学术学科成立。",
   "艾伦-图灵是第一位在人工智能领域进行实质性研究的人。",
   "图灵出生于伦敦的梅达韦尔,在英格兰南部长大。"
]
# Generar incrustaciones para los documentos
docs_embeddings = ef(docs)

queries = ["人工智能是什么时候创立的?",
          "艾伦-图灵出生在哪里?"]
# Generar incrustaciones para las consultas
query_embeddings = ef(consultas)

# Conectarse a la nube de Zilliz con el punto final público y la clave de API
client = MilvusClient(
    uri=ZILLIZ_PUBLIC_ENDPOINT,
    token=ZILLIZ_API_KEY)

COLECCIÓN = "documentos"
if client.has_collection(nombre_coleccion=COLECCION):
    client.drop_collection(nombre_coleccion=COLECCION)
client.create_collection(
    nombre_colección=COLECCIÓN,
    dimensión=ef.dim,
    auto_id=True)

for doc, embedding in zip(docs, docs_embeddings):
    client.insert(COLLECTION, {"texto": doc, "vector": incrustación})
    
resultados = client.search(
    nombre_colección=COLECCIÓN,
    datos=consulta_incrustaciones,
    consistency_level="Strong",
    output_fields=["text"])

Para más información, consulte nuestra Documentación sobre el modelo de incrustación de PyMilvus.

Crear incrustaciones mediante la biblioteca SentenceTransformer e insertarlas en Zilliz Cloud para la búsqueda semántica.

from sentence_transformers import SentenceTransformer
from pymilvus import MilvusClient

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

docs = [
   "人工智能于1956年作为一门学术学科成立。",
   "艾伦-图灵是第一位在人工智能领域进行实质性研究的人。",
   "图灵出生于伦敦的梅达韦尔,在英格兰南部长大。"
]
# Generar incrustaciones para los documentos
docs_embeddings = model.encode(docs, normalize_embeddings=True)

consultas = ["人工智能是什么时候创立的?",
          "艾伦-图灵出生在哪里?"]
# Generar incrustaciones para las consultas
query_embeddings = model.encode(queries, normalize_embeddings=True)

# Conectarse a Zilliz Cloud con el punto final público y la clave API
client = MilvusClient(
    uri=ZILLIZ_PUBLIC_ENDPOINT,
    token=ZILLIZ_API_KEY)

COLECCIÓN = "documentos"
if client.has_collection(nombre_coleccion=COLECCION):
    client.drop_collection(nombre_coleccion=COLECCION)
client.create_collection(
    nombre_colección=COLECCIÓN,
    dimensión=512,
    auto_id=True)

for doc, embedding in zip(docs, docs_embeddings):
    client.insert(COLLECTION, {"texto": doc, "vector": incrustación})
    
resultados = client.search(
    nombre_colección=COLECCIÓN,
    datos=consulta_incrustaciones,
    consistency_level="Strong",
    output_fields=["text"])