DashScope RankerCompatible with Milvus 2.6.x
DashScope Ranker позволяет Milvus вызывать модели переранжирования Alibaba Cloud DashScope для переупорядочения результатов поиска по семантической релевантности.
Необходимые условия
Перед использованием DashScope Ranker убедитесь, что у вас есть:
Коллекция Milvus с полем «
VARCHAR», содержащим текст для переранжирования.Действительный ключ API DashScope.
Доступ к модели переранжирования DashScope, например
gte-rerank-v2.
Информацию о доступных моделях переранжирования и региональных конечных точках см. в документации по API переранжирования текста в Alibaba Cloud Model Studio.
Настройте учетные данные
Прежде чем Milvus сможет отправить запрос на переранжирование в DashScope, ему необходимо знать ваш ключ API DashScope. Вы можете настроить ключ API в milvus.yaml или с помощью переменной среды.
Вариант 1: Файл конфигурации
Сохраните ключ API в milvus.yaml и укажите провайдеру переранжирования DashScope метку учетных данных.
# milvus.yaml
credential:
dashscope_apikey:
apikey: <YOUR_DASHSCOPE_API_KEY>
function:
rerank:
model:
providers:
ali:
credential: dashscope_apikey
# url: https://dashscope.aliyuncs.com/api/v1/services/rerank/text-rerank/text-rerank
Вариант 2: Переменная среды
Если в файле milvus.yaml не настроено соответствующее учетное средство, Milvus может считывать ключ API DashScope из следующей переменной среды:
Переменная |
Обязательна? |
Описание |
|---|---|---|
|
Да |
Ключ API DashScope, используемый службой Milvus для вызова Alibaba Cloud DashScope. |
Создание функции ранжирования DashScope
Чтобы использовать ранжировщик DashScope, создайте объект Function, в котором укажите модель переранжирования DashScope и текст запроса. Для переранжирования с помощью DashScope используйте функцию provider: "ali".
from pymilvus import Function, FunctionType
dashscope_ranker = Function(
name="dashscope_semantic_ranker",
input_field_names=["document"],
function_type=FunctionType.RERANK,
params={
"reranker": "model",
"provider": "ali",
"model_name": "gte-rerank-v2",
"queries": ["renewable energy developments"],
"max_client_batch_size": 128,
"credential": "dashscope_apikey",
},
)
Параметры, специфичные для рангера DashScope
Параметр |
Обязателен? |
Описание |
Значение / Пример |
|---|---|---|---|
|
Да |
Должно быть установлено в значение « |
|
|
Да |
Поставщик услуг модели, который будет использоваться для переранжирования. Для DashScope используйте |
|
|
Да |
Модель переранжирования DashScope, которую следует использовать. |
|
|
Да |
Список строк запроса, используемых моделью переранжирования для расчёта показателей релевантности. Количество строк запроса должно соответствовать количеству запросов в поисковом запросе. |
|
|
Нет |
Максимальное количество документов, отправляемых в службу модели за один запрос. |
|
|
Нет |
Метка учетных данных, определённая в разделе верхнего уровня |
|
Общие параметры, общие для всех ранжеров моделей, такие как provider и queries, см. в разделе «Создание ранжера моделей».
Применение к стандартному векторному поиску
Чтобы применить DashScope Ranker к стандартному векторному поиску, передайте функцию ранжера в параметр search().
results = client.search(
collection_name="your_collection",
data=[your_query_vector],
anns_field="dense_vector",
limit=5,
output_fields=["document"],
ranker=dashscope_ranker,
consistency_level="Bounded",
)