Jina AI

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

Modelo de incrustación especializado para textos en inglés y documentos largos; admite secuencias de hasta 8192 tokens.

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:

  • jina-embeddings-v2-small-es](https://zilliz.com/ai-models/jina-embeddings-v2-small-en)
  • jina-embeddings-v2-base-es](https://zilliz.com/ai-models/jina-embeddings-v2-base-en)
  • jina-embeddings-v2-base-zh](https://zilliz.com/ai-models/jina-embeddings-v2-base-zh)
  • jina-embeddings-v2-base-de](https://zilliz.com/ai-models/jina-embeddings-v2-base-de)
  • jina-embeddings-v2-base-code](https://zilliz.com/ai-models/jina-embeddings-v2-base-code)

Introducción a jina-embeddings-v2-base-es

jina-embeddings-v2-base-es es un modelo de incrustación monolingüe en inglés para una longitud de secuencia de hasta 8192 tokens. Es la variante mediana o básica de la familia Jina Embeddings v2, que ha sido entrenada con 137 millones de parámetros y genera incrustaciones de 768 dimensiones.

Comparación de jina-embeddings-v2-small-es 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 (Por defecto: 1024) | incrustación de texto multilingüe; soporta 94 idiomas en total | | 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-es

Hay dos formas principales de utilizar el modelo jina-embeddings-v2-base-es para generar incrustaciones vectoriales:

    1. PyMilvus: el SDK de Python para Milvus que integra perfectamente el modelo jina-embeddings-v2-base-en.
  1. SentenceTransformer library: la biblioteca python sentence-transformer.

Generar incrustaciones vectoriales mediante 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-es", trust_remote_code=True)

docs = [
   "La inteligencia artificial se fundó como disciplina académica en 1956",
   "Alan Turing fue la primera persona en llevar a cabo una investigación sustancial en IA",
   "Nacido en Maida Vale, Londres, Turing se crió en el sur de Inglaterra."
]
# Generar incrustaciones para documentos
docs_embeddings = ef(docs)

queries = ["¿Cuándo se fundó la inteligencia artificial?
          "¿Dónde nació Alan Turing?"]
# Generar incrustaciones para consultas
incrustaciones_consulta = ef(consultas)

# 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=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.

Generar incrustaciones vectoriales mediante 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-es", trust_remote_code=True)

docs = [
   "La inteligencia artificial se fundó como disciplina académica en 1956",
   "Alan Turing fue la primera persona en llevar a cabo una investigación sustancial en IA",
   "Nacido en Maida Vale, Londres, Turing se crió en el sur de Inglaterra."
]
# Generar incrustaciones para documentos
docs_embeddings = model.encode(docs, normalize_embeddings=True)

queries = ["query: ¿Cuándo se fundó la inteligencia artificial?
           "query: Wo wurde Alan Turing geboren?" ]
# 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=768,
    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 la documentación de SentenceTransformer.