Mistral AI
Модели встраиванияMistral AI- это модели встраивания текста, предназначенные для преобразования текстовых данных в плотные числовые векторы, эффективно передающие глубинный смысл текста. Эти модели оптимизированы для таких задач, как семантический поиск, понимание естественного языка и контекстно-зависимые приложения, что делает их подходящими для широкого спектра решений на базе ИИ.
Milvus интегрируется с моделями встраивания Mistral AI через класс MistralAIEmbeddingFunction. Этот класс предоставляет методы для кодирования документов и запросов с помощью моделей встраивания Mistral AI и возвращает вложения в виде плотных векторов, совместимых с индексацией Milvus. Чтобы воспользоваться этой функцией, получите API-ключ от Mistral AI.
Чтобы воспользоваться этой функцией, установите необходимые зависимости:
pip install --upgrade pymilvus
pip install "pymilvus[model]"
Затем инстанцируйте функцию 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
)
Параметры:
model_name
(строка)Имя модели встраивания Mistral AI, которую следует использовать для кодирования. По умолчанию используется значение
mistral-embed
. Дополнительную информацию см. в разделе "Встраивание".api_key
(строка)Ключ API для доступа к API Mistral AI.
Чтобы создать вкрапления для документов, используйте метод 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)
Ожидаемый результат будет похож на следующий:
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,)
Для создания вкраплений для запросов используйте метод 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)
Ожидаемый результат похож на следующий:
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,)