rerank 重排序
(ctx context.Context, query string, items []*RetrievalItem)
| 420 | |
| 421 | // rerank 重排序 |
| 422 | func (r *RAG) rerank(ctx context.Context, query string, items []*RetrievalItem) []*RetrievalItem { |
| 423 | switch r.config.RerankerType { |
| 424 | case RerankerTypeCrossEncoder: |
| 425 | return r.rerankWithCrossEncoder(ctx, query, items) |
| 426 | case RerankerTypeBM25: |
| 427 | return r.rerankWithBM25(ctx, query, items) |
| 428 | case RerankerTypeHybrid: |
| 429 | return r.rerankHybrid(ctx, query, items) |
| 430 | default: |
| 431 | return items |
| 432 | } |
| 433 | } |
| 434 | |
| 435 | // rerankWithCrossEncoder 使用交叉编码器重排序 |
| 436 | func (r *RAG) rerankWithCrossEncoder(_ context.Context, _ string, items []*RetrievalItem) []*RetrievalItem { |
no test coverage detected