PNL HKU / instructor-base
Milvus Integrated
Tarea: Inserción
Modalidad: Texto
Métrica de Similitud: Coseno
Licencia: Apache 2.0
Dimensiones: 768
Tokens de Entrada Máximos: 512
Precio: Gratis
Introducción a la familia de modelos de instructor
El modelo Instructor de NKU NLP es un modelo de incrustación de texto ajustado con instrucciones. Crea incrustaciones de tareas específicas (para clasificación, recuperación, agrupación, evaluación de texto, etc.) en varios dominios (como ciencia y finanzas) simplemente proporcionando instrucciones para la tarea, sin necesidad de ajustes adicionales.
Figura Funcionamiento del modelo de instructor](https://assets.zilliz.com/Figure_How_the_Instructor_Model_works_2b174dc8aa.png)
Figura: Funcionamiento del modelo de instructor (imagen de NKU NLP)
El modelo Instructor tiene tres variantes: instructor-base, instructor-xl, e instructor-large. Cada versión ofrece distintos niveles de rendimiento y escalabilidad para adaptarse a diversas necesidades de incrustación.
Introducción a instructor-base
instructor-base es la variante más pequeña de la familia de modelos Instructor, diseñada para equilibrar eficiencia y rendimiento. Es ideal para tareas que requieren incrustaciones de texto de alta calidad con una huella computacional menor.
Comparación entre instructor-base, instructor-xl e instructor-large.
Instructor-base | Instructor-large | Instructor-xl | Feature | instructor-base | instructor-large | instructor-xl | | ----------------------- | ------------------- | -------------------- | ----------------- | | Tamaño de los parámetros: 86 millones, 335 millones, 1.500 millones. | Dimensión de la incrustación | 768 | 768 | 768 | 768 | 768 Puntuación MTEB media MTEB | 55.9 | 58.4 | 58.8 | **Puntuación media MTEB
Cómo crear incrustaciones con instructor-base
Hay dos formas principales de generar incrustaciones vectoriales:
- PyMilvus](https://github.com/milvus-io/pymilvus): el SDK de Python para Milvus que integra perfectamente el modelo
instructor-base. - Librería Instructor: la librería Python
InstructorEmbedding.
Una vez creadas las incrustaciones vectoriales, pueden almacenarse en Zilliz Cloud (un servicio de base de datos vectorial totalmente gestionado e impulsado por Milvus) y utilizarse para la búsqueda de similitud semántica. 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
from pymilvus.model.dense import InstructorEmbeddingFunction
from pymilvus import MilvusClient
ef = InstructorEmbeddingFunction(
"hkunlp/instructor-base",
query_instruction="Representar la pregunta de Wikipedia para recuperar documentos de apoyo:",
doc_instruction="Representar el documento de Wikipedia para la recuperación:")
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 = ef.encode_documents(docs)
queries = ["¿Cuándo se fundó la inteligencia artificial?
"¿Dónde nació Alan Turing?"]
# Generar incrustaciones para las consultas
incrustaciones_consulta = ef.codificar_consultas(consultas)
cliente = 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"])
Generar incrustaciones vectoriales mediante la biblioteca InstructorEmbedding
from InstructorEmbedding import INSTRUCTOR
from pymilvus import MilvusClient
model = INSTRUCTOR('hkunlp/instructor-base')
docs = [["Representar el documento de Wikipedia para su recuperación: ", "La inteligencia artificial se fundó como disciplina académica en 1956"],
["Representa el documento de Wikipedia para su recuperación: ", "Alan Turing fue la primera persona en llevar a cabo una investigación sustancial en IA."],
["Representar el documento de Wikipedia para su recuperación: ", "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 = [["Representar la pregunta de Wikipedia para recuperar documentos de apoyo: ", "¿Cuándo se fundó la inteligencia artificial?]
["Representar la pregunta de Wikipedia para recuperar documentos de apoyo: ", "¿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"])
- Introducción a la familia de modelos de instructor
- Introducción a instructor-base
- Cómo crear incrustaciones con **instructor-base**
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

