PNL DA HKU / instructor-large
Tarefa: Incorporação
Modalidade: Texto
Métrica de Similaridade: Cosseno
Licença: Apache 2.0
Dimensões: 768
Tokens Máximos de Entrada: 512
Preço: Grátis
Introdução à família de modelos do instrutor
O modelo Instructor da NKU NLP é um modelo de incorporação de texto aperfeiçoado com instruções. Cria incorporações específicas de tarefas (para classificação, recuperação, agrupamento, avaliação de texto, etc.) em vários domínios (como ciência e finanças) fornecendo apenas instruções de tarefas - não é necessário um ajuste fino adicional. Obteve resultados de ponta em 70 tarefas de incorporação!
Figura Como funciona o modelo de instrutor] (https://assets.zilliz.com/Figure_How_the_Instructor_Model_works_2b174dc8aa.png)
Figura: Como funciona o modelo do instrutor (imagem de NKU NLP)
O modelo de instrutor apresenta-se em três variações: instructor-base, instructor-xl e instructor-large. Cada versão oferece diferentes níveis de desempenho e escalabilidade para atender a várias necessidades de incorporação.
Introdução ao instructor-large
Instructor-large é o modelo de incorporação de texto de tamanho médio na família de modelos Instructor. Pode gerar texto incorporado específico de uma tarefa e adaptado a um domínio, fornecendo instruções em linguagem natural sem mais afinações. É ideal para quaisquer tarefas (por exemplo, classificação, recuperação, agrupamento, avaliação de texto, etc.) e domínios (por exemplo, ciência, finanças, etc.). O instructor-large alcança SOTA em 70 tarefas de incorporação diversas na referência MTEB.
O seu desempenho é melhor do que o do instructor-base, mas pior do que o do instructor-xl.
Comparação entre o instructor-base, instructor-xl e instructor-large:
| Recurso | instructor-base | instructor-large | instructor-xl | |
|---|---|---|---|---|
| Tamanho do parâmetro | 86 milhões | 335 milhões | 1,5 bilhão | |
| Dimensão de incorporação | 768 | 768 | 768 | 768 |
| Pontuação média Pontuação MTEB | 55,9 | 58,4 | 58,8 |
Como criar embeddings de vetor com o modelo instructor-large
Recomendamos o uso da biblioteca InstructorEmbedding para criar embeddings vetoriais.
Uma vez gerados os embeddings vectoriais, podem ser armazenados no Zilliz Cloud (um serviço de base de dados vetorial totalmente gerido pela Milvus) e utilizados para pesquisa de similaridade semântica. Aqui estão quatro etapas principais:
- Inscreva-se para obter uma conta Zilliz Cloud gratuitamente.
- Configurar um cluster sem servidor e obter o Ponto de extremidade público e chave de API.
- Crie uma coleção de vectores e insira os seus embeddings vectoriais.
- Execute uma pesquisa semântica nos embeddings armazenados.
Gerar embeddings vectoriais através da InstructorEmbedding Library e inseri-los no Zilliz Cloud para pesquisa semântica
from InstructorEmbedding import INSTRUCTOR
from pymilvus import MilvusClient
model = INSTRUCTOR('hkunlp/instructor-large')
docs = [["Representar o documento da Wikipédia para recuperação: ", "A inteligência artificial foi fundada como disciplina académica em 1956."],
["Representar o documento da Wikipédia para recuperação: ", "Alan Turing foi a primeira pessoa a efetuar investigação substancial em IA."],
["Representar o documento da Wikipédia para recuperação: ", "Nascido em Maida Vale, Londres, Turing foi criado no sul de Inglaterra."]]
# Gerar embeddings para documentos
docs_embeddings = model.encode(docs, normalize_embeddings=True)
queries = [["Representar a pergunta da Wikipédia para obter documentos de apoio: ", "Quando é que a inteligência artificial foi fundada"],
["Representar a pergunta da Wikipédia para obter documentos de apoio: ", "Onde nasceu Alan Turing?"]]
# Gerar ligações para as consultas
consultas_embeddings = model.encode(consultas, normalize_embeddings=True)
# Ligar ao Zilliz Cloud com o ponto de extremidade público e a chave da API
cliente = MilvusClient(
uri=ZILLIZ_PUBLIC_ENDPOINT,
token=ZILLIZ_API_KEY)
COLLECTION = "documents" (coleção)
if client.has_collection(nome_da_colecção=COLLECTION):
client.drop_collection(nome_da_colecção=COLLECTION)
client.create_collection(
nome_da_colecção=COLLECTION,
dimension=768,
auto_id=True)
for doc, embedding in zip(docs, docs_embeddings):
client.insert(COLLECTION, {"text": doc, "vetor": embedding})
resultados = cliente.search(
nome_da_colecção=COLLECTION,
data=query_embeddings,
consistency_level="Strong",
output_fields=["text"])
- Introdução à família de modelos do instrutor
- Introdução ao instructor-large
- Como criar embeddings de vetor com o modelo instructor-large
Conteúdo
Fluxos de trabalho de IA sem interrupções
De embeddings a busca escalável de IA—Zilliz Cloud permite armazenar, indexar e recuperar embeddings com velocidade e eficiência incomparáveis.
Experimente o Zilliz Cloud grátis

