«Яндекс.Клауд»Compatible with Milvus 2.6.x
В этой статье описано, как настроить и использовать функции встраивания «Яндекс Клауд» в Milvus.
Выбор модели вложения
Milvus поддерживает модели векторизации текста Yandex Cloud AI Studio через провайдер yc. В параметрах функции задайте значение « model_name » в виде URI модели Yandex Cloud, которую должен вызвать Milvus.
Например, модель «Векторизация текста Яндекса» для документов использует URI модели в формате emb://<folder_ID>/text-search-doc/latest и возвращает 256-мерные векторы. Список доступных URI моделей и размерностей см. в разделе «Модели векторизации текста».
Настройка учетных данных
Прежде чем запрашивать вложения, Milvus должен знать ваш ключ API Yandex Cloud. Вы можете настроить ключ API в файле milvus.yaml или через переменную среды.
Вариант 1: Файл конфигурации
Сохраните ключ API в файле milvus.yaml и укажите провайдеру Yandex Cloud метку с учетными данными.
# milvus.yaml
credential:
yandex_apikey:
apikey: <YOUR_YC_API_KEY>
function:
textEmbedding:
providers:
yc:
credential: yandex_apikey
# url: https://llm.api.cloud.yandex.net/foundationModels/v1/textEmbedding
Вариант 2: Переменная среды
Если в файле milvus.yaml не настроено соответствующее учетное средство, Milvus может считывать ключ API «Яндекс.Клауд» из следующей переменной среды:
Переменная |
Обязательна? |
Описание |
|---|---|---|
|
Да |
Ключ API «Яндекс.Клауд», используемый сервисом Milvus для вызова Yandex Cloud AI Studio. |
Использовать функцию встраивания
После настройки учетных данных определите схему с полем входного текста и полем выходного вектора, а затем добавьте в схему функцию встраивания Yandex Cloud.
from pymilvus import MilvusClient, DataType, Function, FunctionType
client = MilvusClient(uri="http://localhost:19530")
schema = client.create_schema()
schema.add_field("id", DataType.INT64, is_primary=True, auto_id=False)
schema.add_field("document", DataType.VARCHAR, max_length=9000)
schema.add_field("dense", DataType.FLOAT_VECTOR, dim=256)
text_embedding_function = Function(
name="yandex_cloud_embedding",
function_type=FunctionType.TEXTEMBEDDING,
input_field_names=["document"],
output_field_names=["dense"],
params={
"provider": "yc",
"model_name": "emb://<folder_ID>/text-search-doc/latest",
"credential": "yandex_apikey",
"dim": "256",
},
)
schema.add_function(text_embedding_function)
Параметры, специфичные для «Яндекс.Клауд»
Параметр |
Обязателен? |
Описание |
Значение / Пример |
|---|---|---|---|
|
Да |
Поставщик модели встраивания, который следует использовать. |
|
|
Да |
URI модели Yandex Cloud, которую необходимо вызвать. |
|
|
Нет |
Метка учетных данных, определённая в разделе верхнего уровня |
|
|
Нет |
Размерность выходного вектора. Если этот параметр задан, его значение должно совпадать с размерностью поля выходного вектора. |
|
Следующие шаги
После настройки функции вложения ознакомьтесь с разделом «Обзор функции вложения», где приведены инструкции по созданию индексов, вставке данных и выполнению семантического поиска.