Урок 08

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

  1. SimilaritySearch находит 20 документов
  2. Reranking оставляет 5 самых релевантных
  3. Агент генерирует ответ на основе 5

Провайдеры

  • Cohere
  • VoyageAI
  • Jina

Требует API-ключа соответствующего провайдера.

Итоги

  • Reranking для точности
  • Reranking::of()->rerank()
  • Возвращает отсортированный список
  • Дороже, но точнее
  • Комбинируй с SimilaritySearch