Jina AI / jina-embeddings-v2-base-code
Milvus Integrated
Tarea: Inserción
Modalidad: Texto
Métrica de Similitud: Cualquiera (Normalizado)
Licencia: Apache 2.0
Dimensiones: 768
Tokens de Entrada Máximos: 8192
Precio: Gratis
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-code
jina-embeddings-v2-base-code" es un modelo de incrustación multilingüe que comprende el inglés y 30 lenguajes de programación populares, y admite secuencias de hasta 8192 tokens de longitud. Utiliza una arquitectura basada en BERT, concretamente JinaBERT, que incluye una variante bidireccional simétrica de ALiBi para gestionar secuencias más largas. Inicialmente preentrenado en el conjunto de datos de código de GitHub, este modelo se ha mejorado aún más con la amplia colección de Jina AI de más de 150 millones de pares de preguntas-respuestas de codificación y pares de código fuente docstring de varios dominios.
Comparación de jina-embeddings-v2-base-code con otros modelos de incrustación de Jina.
| Modelo, tamaño de parámetro, dimensión de 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-v2 | 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 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-code
Hay dos formas principales de generar incrustaciones vectoriales:
- PyMilvus: el SDK de Python para Milvus que integra perfectamente el modelo
jina-embeddings-v2-base-code. - 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-code", 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.
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-code", 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"])
- Introducción a los modelos Jina Embedding v2
- Qué es jina-embeddings-v2-base-code
- Cómo crear incrustaciones con jina-embeddings-v2-base-code
Contenido
Flujos de trabajo de IA sin interrupciones
Desde incrustaciones hasta búsqueda de IA escalable—Zilliz Cloud te permite almacenar, indexar y recuperar incrustaciones con una velocidad y eficiencia inigualables.
Prueba Zilliz Cloud Gratis

