Reranking: переранжирование
После векторного поиска результаты можно переранжировать по релевантности.
Зачем
Векторный поиск быстрый, но не всегда точный. Reranking использует более дорогую модель для точного ранжирования.
Использование
use Laravel\Ai\Reranking;
$response = Reranking::of([
'Django is Python.',
'Laravel is PHP.',
'React is JS.',
])->rerank('PHP frameworks');
$response->first()->document; // "Laravel is PHP."
С документами
$response = Reranking::of($documents)
->rerank($query);
foreach ($response as $item) {
$item->document;
$item->score;
}
Комбинация с RAG
- SimilaritySearch находит 20 документов
- Reranking оставляет 5 самых релевантных
- Агент генерирует ответ на основе 5
Провайдеры
- Cohere
- VoyageAI
- Jina
Требует API-ключа соответствующего провайдера.
Итоги
- Reranking для точности
Reranking::of()->rerank()- Возвращает отсортированный список
- Дороже, но точнее
- Комбинируй с SimilaritySearch