«Яндекс.Клауд»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 «Яндекс.Клауд» из следующей переменной среды:

Переменная

Обязательна?

Описание

MILVUS_YC_API_KEY

Да

Ключ 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)

Параметры, специфичные для «Яндекс.Клауд»

Параметр

Обязателен?

Описание

Значение / Пример

provider

Да

Поставщик модели встраивания, который следует использовать.

"yc"

model_name

Да

URI модели Yandex Cloud, которую необходимо вызвать.

"emb://<folder_ID>/text-search-doc/latest"

credential

Нет

Метка учетных данных, определённая в разделе верхнего уровня credential: на странице milvus.yaml.

"yandex_apikey"

dim

Нет

Размерность выходного вектора. Если этот параметр задан, его значение должно совпадать с размерностью поля выходного вектора.

"256"

Следующие шаги

После настройки функции вложения ознакомьтесь с разделом «Обзор функции вложения», где приведены инструкции по созданию индексов, вставке данных и выполнению семантического поиска.

ПереведеноDeepL

Попробуйте Managed Milvus бесплатно

Zilliz Cloud работает без проблем, поддерживается Milvus и в 10 раз быстрее.

Начать
Обратная связь

Была ли эта страница полезной?