Documentation
¶
Overview ¶
Package reranker implements LLM-as-judge reranking strategy.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type LLMReranker ¶
type LLMReranker struct {
// contains filtered or unexported fields
}
@sk-task reranker-llm-based#T1.1: LLMReranker — публичный тип (AC-001, AC-002) LLMReranker предоставляет LLM-as-judge zero-shot переранжирование retrieval-результатов.
func NewLLMReranker ¶
func NewLLMReranker(llm domain.LLMProvider, promptTemplate string, batchSize, maxRetries int) (*LLMReranker, error)
@sk-task reranker-llm-based#T1.2: NewLLMReranker — конструктор с параметрами (AC-001, AC-002) NewLLMReranker создаёт LLMReranker. llm — обязательный LLMProvider. promptTemplate — опциональный system prompt (пустая строка = дефолтный). batchSize — количество чанков в одном LLM-вызове (<= 0 = default 10). maxRetries — количество повторных попыток при ошибке LLM (< 0 = default 1).
func (*LLMReranker) Rerank ¶
func (r *LLMReranker) Rerank(ctx context.Context, query string, chunks []domain.RetrievedChunk) ([]domain.RetrievedChunk, error)
@sk-task reranker-llm-based#T1.1: Rerank — переранжирование чанков через LLM (AC-001, AC-002, AC-004, AC-005)
func (*LLMReranker) RerankBatch ¶
func (r *LLMReranker) RerankBatch(ctx context.Context, queries []string, chunks []domain.RetrievedChunk) ([][]domain.RetrievedChunk, error)
@sk-task reranker-llm-based#T2.2: RerankBatch — batch rerank для multi-query режима (AC-006)