Mistral AI
Los modelos de incrustación deMistral AI son modelos de incrustación de texto diseñados para convertir entradas textuales en vectores numéricos densos, capturando eficazmente el significado subyacente del texto. Estos modelos están altamente optimizados para tareas como la búsqueda semántica, la comprensión del lenguaje natural y las aplicaciones conscientes del contexto, lo que los hace adecuados para una amplia gama de soluciones impulsadas por la IA.
Milvus se integra con los modelos de incrustación de Mistral AI a través de la clase MistralAIEmbeddingFunction. Esta clase proporciona métodos para codificar documentos y consultas utilizando los modelos de incrustación de Mistral AI y devolviendo las incrustaciones como vectores densos compatibles con la indexación de Milvus. Para utilizar esta funcionalidad, obtenga una clave API de Mistral AI.
Para utilizar esta función, instale las dependencias necesarias:
pip install --upgrade pymilvus
pip install "pymilvus[model]"
A continuación, instancie la función 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
)
Parámetros:
model_name
(cadena)El nombre del modelo de incrustación de Mistral AI que se utilizará para la codificación. El valor predeterminado es
mistral-embed
. Para más información, consulte Embeddings.api_key
(cadena)La clave API para acceder a la API de Mistral AI.
Para crear incrustaciones para documentos, utilice el método 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)
El resultado esperado es similar al siguiente:
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,)
Para crear incrustaciones para consultas, utilice el método 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)
El resultado esperado es similar al siguiente:
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,)