重排序使用示例与说明
本章节提供了重排序使用示例与说明。
重排序可以选择直接从 Huggingface 下载对应的 Rerank 模型,或者使用 VLLM 部署已有的 Rerank 模型
1. 通过 Huggingface 下载对应的 Rerank 模型
Rerank模型下载
列出可用模型
python src/model_setup.py --list_models
下载特定模型(如果不存在)
python src/model_setup.py --model_name bge-reranker-large
# 下载好的模型文件会默认保存在 src/rerank/model_path
强制重新下载模型
python src/model_setup.py --model_name bge-reranker-large --force_download
推荐模型
bge-reranker-large
bge-reranker-v2-m3
bge-reranker-v2-gemma
ms-marco-TinyBERT-L-2-v2
ms-marco-MiniLM-L-12-v2
使用
命令行执行
python tests/rerank/test_rerank_huggingface.py \
--root_path src/resources/data \
--parent_document_retrieval \
--top_n_retrieval 14 \
--rerank_model bge-reranker-large \
--rerank_model_path src/rerank/model_path \
--rerank_sample_size 36
参数解释
root_path 项目根目录
parent_document_retrieval 是否使用父文档检索(chunk所在page均设为检索结果),默认使用
top_n_retrieval 保留的top_n
rerank_model 参考推荐模型
rerank_model_path 模型路径,默认src/rerank/model_path
rerank_sample_size 重排序前采样数,需大于top_n_retrieval
2. 使用 VLLM 部署 Rerank 模型
Rerank 模型部署
客户需要安装vllm
# 避免环境冲突,可新建环境使用vllm
conda create -n h-tag-vllm python=3.10
conda activate h-tag-vllm
pip install vllm -U
将对应的模型权重文件(如:
qwen2.5_hot_mus_sft\)放在src/rerank路径下面使用以下脚本启动部署服务端。具体的模型路径与创建的端口均可在
src/rerank/deploy.sh中更改
bash src/rerank/deploy.sh
使用
命令行执行
python tests/rerank/test_rerank_VLLM.py \
--root_path src/resources/data \
--parent_document_retrieval \
--top_n_retrieval 14 \
--rerank_api http://127.0.0.1:8005/v1 \
--vector_db milvus
参数解释
root_path 项目根目录
parent_document_retrieval 是否使用父文档检索(chunk所在page均设为检索结果),默认使用
top_n_retrieval 保留的top_n
rerank_api
src/rerank/deploy.sh中创建的端口,默认 http://127.0.0.1:8005/v1rerank_sample_size 重排序前采样数,需大于top_n_retrieval