PNL HKU / instructor-large
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 textos, etc.) en varios dominios (como la ciencia y las finanzas) simplemente proporcionando instrucciones para la tarea, sin necesidad de ajustes adicionales. Ha obtenido los mejores resultados en 70 tareas de incrustación.
Figura Cómo funciona el 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-large
instructor-large es el modelo de incrustación de texto de tamaño medio de la familia de modelos Instructor. Puede generar incrustaciones de texto específicas para cada tarea y adaptadas a cada dominio, proporcionando instrucciones en lenguaje natural sin necesidad de ajustes adicionales. Es ideal para cualquier tarea (por ejemplo, clasificación, recuperación, agrupación, evaluación de textos, etc.) y dominio (por ejemplo, ciencias, finanzas, etc.). instructor-large alcanza SOTA en 70 tareas de incrustación diversas en el benchmark MTEB.
Sus resultados son mejores que los de instructor-base, pero peores que los de instructor-xl.
Comparación entre instructor-base, instructor-xl e instructor-large:
| Característica | instructor-base | instructor-large | instructor-xl |
|---|---|---|---|
| Tamaño de los parámetros: 86 millones, 335 millones y 1.500 millones. | |||
| Dimensión de incrustación 768 768 | |||
| Puntuación MTEB media Puntuación MTEB 55,9 58,4 58,8 |
Cómo crear incrustaciones vectoriales con el modelo instructor-large
Recomendamos utilizar la librería InstructorEmbedding para crear incrustaciones vectoriales.
Una vez generadas las incrustaciones vectoriales, pueden almacenarse en Zilliz Cloud (un servicio de base de datos vectorial totalmente gestionado por Milvus) y utilizarse para la búsqueda de similitud semántica. He aquí cuatro pasos clave:
- Inscríbete para obtener una cuenta de Zilliz Cloud de forma gratuita.
- Configura un clúster sin servidor y obtén 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.
Generar incrustaciones vectoriales a través de InstructorEmbedding Library e insertarlas en Zilliz Cloud para la búsqueda semántica.
from InstructorEmbedding import INSTRUCTOR
from pymilvus import MilvusClient
model = INSTRUCTOR('hkunlp/instructor-large')
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-large
- Cómo crear incrustaciones vectoriales con el modelo instructor-large
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

