Mistral AI

Mistral AI / mistral-embed

Um modelo de incorporação especializado para dados de texto com uma janela de contexto de 8.000 tokens. Optimizado para recuperação por semelhança e aplicações RAG. Pontuação de recuperação MTEB: 55,26.

Introdução ao mistral-embed

  • Um modelo de incorporação especializado para dados de texto com uma janela de contexto de 8.000 tokens.
  • Optimizado para aplicações de [pesquisa semântica] (https://zilliz.com/glossary/semantic-search) e [RAG] (https://zilliz.com/learn/Retrieval-Augmented-Generation).
  • Pontuação de recuperação MTEB: 55,26.

Como criar embeddings com mistral-embed

Recomendamos o uso da Mistral AI Library, o SDK Python oferecido pela Mistral AI, para criar embeddings vetoriais.

Uma vez gerados os embeddings vectoriais, podem ser armazenados em Zilliz Cloud (um serviço de base de dados vetorial totalmente gerido por Milvus) e utilizados para pesquisa de semelhança semântica. Eis quatro passos fundamentais:

  1. Inscreva-se para obter uma conta Zilliz Cloud gratuitamente.
  2. Configurar um cluster sem servidor e obter o Ponto de extremidade público e chave de API.
  3. Crie uma coleção de vectores e insira os seus embeddings vectoriais.
  4. Execute uma pesquisa semântica nos embeddings armazenados.

Gerar embeddings vectoriais através do SDK da Mistral AI e inseri-los no Zilliz Cloud para pesquisa semântica

from pymilvus import MilvusClient
from mistralai import Mistral

MISTRALAI_API_KEY = "your-mistral-api-key"
cliente = Mistral(api_key=MISTRALAI_API_KEY)
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 documentos
resultados = client.embeddings.create(inputs=docs, model="mistral-embed")
docs_embeddings = [data.embedding for data in results.data]

queries = ["Quando foi fundada a inteligência artificial",
          "Onde nasceu Alan Turing?"]
# Gerar embeddings para as consultas
response = client.embeddings.create(inputs=queries, model="mistral-embed")
query_embeddings = [data.embedding for data in response.data]

# Ligar ao Zilliz Cloud com o ponto final público e a chave 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=1024,
    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"])

Para obter mais informações, consulte a Mistral AI documentation.