Перейти к основному содержимому

Rerank

Rerank-модели сортируют текстовые отрывки / документы по семантической релевантности к определенному запросу. Они часто используются для сортировки результатов поиска, возвращаемых существующим поисковым решением.

Попробуем выделить 3 самых релевантных документа для конкретного вопроса:

import requests

def rerank_openai(query, documents, api_base, model, api_key=None, top_n=None):
url = f"{api_base}/v1/rerank"
headers = {
"Content-Type": "application/json"
}
if api_key:
headers["Authorization"] = f"Bearer {api_key}"
payload = {
"model": model,
"query": query,
"documents": documents,
}
if top_n is not None:
payload["top_n"] = top_n

response = requests.post(url, headers=headers, json=payload)
response.raise_for_status()
return response.json()

Пользу реранжирования проще понять при работе с большим массивом документов. Мы подготовили специальный гайд, в котором улучшаем точность поиска по ключевым словам при помощи CompressaRerank.