Cara de abrazo / all-mpnet-base-v2
Milvus Integrated
Tarea: Inserción
Modalidad: Texto
Métrica de Similitud: Cualquiera (Normalizado)
Licencia: Apache 2.0
Dimensiones: 768
Tokens de Entrada Máximos: 384
Precio: Gratis
Descripción del modelo
El modelo "all-mpnet-base-v2" es un codificador de frases y párrafos cortos que transforma el texto de entrada en un vector de 768 dimensiones. Es una versión refinada del modelo microsoft/mpnet-base, afinado en un conjunto de datos de 1.000 millones de pares de frases utilizando un objetivo de aprendizaje contrastivo. El modelo all-mpnet-base-v2 es perfecto para tareas como la recuperación de información, la agrupación y la similitud de frases.
Para más detalles, consulte este post: All-Mpnet-Base-V2: Enhancing Sentence Embedding with AI
Cómo crear incrustaciones con all-mpnet-base-v2
Hay dos formas principales de generar incrustaciones vectoriales:
- PyMilvus: el SDK de Python para Milvus que integra perfectamente el modelo
all-mpnet-base-v2. - 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("sentence-transformers/all-mpnet-base-v2")
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"])
Consulte esta documentación para más detalles sobre PyMilvus integration with all-mpnet-base-v2.
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("sentence-transformers/all-mpnet-base-v2")
docs = [
"La inteligencia artificial se fundó como disciplina académica en 1956",
"Alan Turing fue la primera persona en realizar 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 = ["¿Cuándo se fundó la inteligencia artificial?
"¿Dónde nació Alan Turing?"]
# 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"])
Lectura adicional
- Elegir el modelo de incrustación adecuado para sus datos](https://zilliz.com/blog/choosing-the-right-embedding-model-for-your-data)
- Evaluación del modelo de incrustación](https://zilliz.com/learn/evaluating-your-embedding-model)
- Entrenamiento de su propio modelo de incrustación de texto](https://zilliz.com/learn/training-your-own-text-embedding-model)
- Guía para principiantes sobre fragmentación e incrustación de sitios web para sus aplicaciones RAG](https://zilliz.com/learn/beginner-guide-to-website-chunking-and-embedding-for-your-genai-applications)
- ¿Qué es el GAR?](https://zilliz.com/learn/Retrieval-Augmented-Generation)
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

