Mistral AI
I modelli di embedding diMistral AI sono modelli di text embedding progettati per convertire gli input testuali in vettori numerici densi, catturando efficacemente il significato sottostante del testo. Questi modelli sono altamente ottimizzati per compiti quali la ricerca semantica, la comprensione del linguaggio naturale e le applicazioni context-aware, rendendoli adatti a un'ampia gamma di soluzioni basate sull'intelligenza artificiale.
Milvus si integra con i modelli di embedding di Mistral AI attraverso la classe MistralAIEmbeddingFunction. Questa classe fornisce metodi per codificare documenti e query utilizzando i modelli di embedding di Mistral AI e restituendo gli embeddings come vettori densi compatibili con l'indicizzazione di Milvus. Per utilizzare questa funzionalità, è necessario ottenere una chiave API da Mistral AI.
Per utilizzare questa funzione, installare le dipendenze necessarie:
pip install --upgrade pymilvus
pip install "pymilvus[model]"
Quindi, istanziare la funzione MistralAIEmbeddingFunction:
from pymilvus.model.dense import MistralAIEmbeddingFunction
ef = MistralAIEmbeddingFunction(
model_name="mistral-embed", # Defaults to `mistral-embed`
api_key="MISTRAL_API_KEY" # Provide your Mistral AI API key
)
Parametri:
model_name
(stringa)Il nome del modello di incorporamento di Mistral AI da usare per la codifica. Il valore predefinito è
mistral-embed
. Per ulteriori informazioni, consultare Embeddings.api_key
(stringa)La chiave API per accedere all'API di Mistral AI.
Per creare le incorporazioni per i documenti, utilizzare il metodo encode_documents()
:
docs = [
"Artificial intelligence was founded as an academic discipline in 1956.",
"Alan Turing was the first person to conduct substantial research in AI.",
"Born in Maida Vale, London, Turing was raised in southern England.",
]
docs_embeddings = ef.encode_documents(docs)
# Print embeddings
print("Embeddings:", docs_embeddings)
# Print dimension and shape of embeddings
print("Dim:", ef.dim, docs_embeddings[0].shape)
Il risultato atteso è simile al seguente:
Embeddings: [array([-0.06051636, 0.03207397, 0.04684448, ..., -0.01618958,
0.02442932, -0.01302338]), array([-0.04675293, 0.06512451, 0.04290771, ..., -0.01454926,
0.0014801 , 0.00686646]), array([-0.05978394, 0.08728027, 0.02217102, ..., -0.00681305,
0.03634644, -0.01802063])]
Dim: 1024 (1024,)
Per creare embeddings per le query, utilizzare il metodo encode_queries()
:
queries = ["When was artificial intelligence founded",
"Where was Alan Turing born?"]
query_embeddings = ef.encode_queries(queries)
print("Embeddings:", query_embeddings)
print("Dim", ef.dim, query_embeddings[0].shape)
L'output previsto è simile al seguente:
Embeddings: [array([-0.04916382, 0.04568481, 0.03594971, ..., -0.02653503,
0.02804565, 0.00600815]), array([-0.05938721, 0.07098389, 0.01773071, ..., -0.01708984,
0.03582764, 0.00366592])]
Dim 1024 (1024,)