PNL DA HKU / instructor-base
Milvus Integrated
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.
Figura Como funciona o modelo do 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 está disponível em três variantes: 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-base
O instructor-base é a variante mais pequena da família de modelos Instructor, concebida para equilibrar a eficiência e o desempenho. É ideal para tarefas que requerem uma incorporação de texto de alta qualidade com uma pegada computacional menor.
Comparando instructor-base, instructor-xl e instructor-large
| Feature | instructor-base | instructor-large | instructor-xl | | | ----------------------- | ------------------- | -------------------- | ----------------- | | Tamanho do parâmetro** | 86 milhões | 335 milhões | 1,5 mil milhões | Dimensão da incorporação** | 768 | 768 | 768 | 768 | | Avg. Pontuação MTEB | 55,9 | 58,4 | 58,8 |
Como criar embeddings com instructor-base
Existem duas maneiras principais de gerar embeddings vetoriais:
- PyMilvus: o Python SDK para Milvus que integra perfeitamente o modelo
instructor-base. - Biblioteca do instrutor: a biblioteca Python
InstructorEmbedding.
Uma vez criados os embeddings vectoriais, estes podem ser armazenados no Zilliz Cloud (um serviço de base de dados vetorial totalmente gerido pelo Milvus) e utilizados para pesquisa de semelhanças semânticas. Aqui estão quatro etapas principais:
- Inscrever-se](https://cloud.zilliz.com/signup) para uma conta Zilliz Cloud gratuitamente.
- Configurar um cluster sem servidor](https://docs.zilliz.com/docs/create-cluster#set-up-a-free-cluster) 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.
Criar embeddings via PyMilvus
from pymilvus.model.dense import InstructorEmbeddingFunction
from pymilvus import MilvusClient
ef = InstructorEmbeddingFunction(
"hkunlp/instructor-base",
query_instruction="Representar a pergunta da Wikipédia para obter documentos de apoio:",
doc_instruction="Representar o documento da Wikipédia para recuperação:")
docs = [
"A inteligência artificial foi fundada como disciplina académica em 1956",
"Alan Turing foi a primeira pessoa a efetuar investigação substancial em IA.",
"Nascido em Maida Vale, Londres, Turing foi criado no sul de Inglaterra."
]
# Gerar embeddings para os documentos
docs_embeddings = ef.encode_documents(docs)
consultas = [ "Quando foi fundada a inteligência artificial",
"Onde nasceu Alan Turing?"]
# Gerar ligações para as consultas
consultas_embeddings = ef.encode_queries(consultas)
cliente = MilvusClient(
uri=ZILLIZ_PUBLIC_ENDPOINT,
token=ZILLIZ_API_KEY)
COLLECTION = "documents" (coleção = "documentos")
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=ef.dim,
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"])
Gerar embeddings vectoriais através da biblioteca InstructorEmbedding
from InstructorEmbedding import INSTRUCTOR
from pymilvus import MilvusClient
model = INSTRUCTOR('hkunlp/instructor-base')
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 é que Alan Turing nasceu?"]]
# 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-base
- Como criar embeddings com **instructor-base**
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

