
Lychee-Rerank实操手册使用curl命令行调用本地API进行自动化测试1. 工具简介Lychee-Rerank是一个专门用于检索相关性评分的本地工具它基于Qwen2.5-1.5B模型开发完全复现了Lychee官方的推理逻辑。这个工具的核心功能是帮你判断查询语句和文档之间的匹配程度给出一个精确的相关性分数。想象一下这样的场景你有一个搜索系统用户输入查询词系统返回一堆文档但你需要知道哪些文档才是真正相关的。Lychee-Rerank就是解决这个问题的利器——它能自动给每个文档打分告诉你哪些文档最符合用户的搜索意图。核心特点纯本地运行所有计算都在你的机器上完成不需要联网数据绝对安全可视化结果用颜色和进度条直观展示评分结果一眼就能看出好坏批量处理可以一次性评估多个文档大大提高工作效率灵活定制支持自定义评分指令适应不同的业务场景2. 环境准备与API启动2.1 确保工具正常运行首先你需要确保Lychee-Rerank已经正确安装并运行。如果你还没有安装可以通过以下命令快速启动# 使用docker快速启动推荐 docker run -p 8501:8501 lychee-rerank-image # 或者从源码启动 python app.py启动成功后你应该在终端看到类似这样的信息You can now view your Streamlit app in your browser. Local URL: http://localhost:8501 Network URL: http://192.168.1.x:85012.2 验证API接口Lychee-Rerank不仅提供可视化界面还内置了完整的API接口。默认情况下API服务会在http://localhost:8501运行。我们可以用简单的curl命令测试API是否正常curl -X GET http://localhost:8501/health如果返回{status:healthy}说明API服务正常运行。3. 理解API请求结构在使用curl进行测试之前我们需要了解Lychee-Rerank API的请求格式。每个API调用都需要包含三个核心部分3.1 请求参数详解{ instruction: 基于查询检索相关文档, query: 你的查询语句, documents: [ 文档1内容, 文档2内容, 文档3内容 ] }instruction评分指令告诉模型如何判断相关性query用户的查询语句比如如何安装Pythondocuments待评分的文档列表可以包含多个文档3.2 响应数据结构API调用成功后你会收到这样的响应{ results: [ { document: 文档内容, score: 0.923456, rank: 1 } ] }score相关性分数0-1之间越高越相关rank排名序号按分数从高到低排列4. 使用curl进行API测试现在我们来学习如何使用curl命令行工具进行自动化测试。4.1 基础API调用最简单的调用方式是这样的curl -X POST http://localhost:8501/api/rerank \ -H Content-Type: application/json \ -d { instruction: 基于查询检索相关文档, query: 什么是人工智能, documents: [ 人工智能是计算机科学的一个分支, 篮球比赛的规则和技巧, 机器学习是人工智能的重要分支 ] }这个命令会返回三个文档的相关性评分按分数从高到低排列。4.2 高级调用示例对于更复杂的测试场景你可以使用文件来存储请求数据# 首先创建请求数据文件 cat request.json EOF { instruction: 判断文档是否与技术相关, query: Python编程入门, documents: [ Python是一种高级编程语言易于学习, 今天天气很好适合出去散步, 机器学习算法包括监督学习和无监督学习, 烹饪中餐需要掌握火候和调味技巧 ] } EOF # 然后使用文件进行API调用 curl -X POST http://localhost:8501/api/rerank \ -H Content-Type: application/json \ -d request.json4.3 处理API响应为了更好地分析结果我们可以将响应输出到文件并进行处理# 保存响应结果 curl -X POST http://localhost:8501/api/rerank \ -H Content-Type: application/json \ -d { instruction: 基于查询检索相关文档, query: 深度学习框架, documents: [ TensorFlow是Google开发的深度学习框架, PyTorch由Facebook开发研究常用, 今天的股票市场行情分析 ] } response.json # 使用jq工具解析结果需要先安装jq cat response.json | jq .results[] | 排名\(.rank): 分数\(.score) - \(.document[:50])...5. 自动化测试脚本对于大规模的自动化测试我们可以编写shell脚本来自动完成整个过程。5.1 基础测试脚本#!/bin/bash # test_rerank.sh API_URLhttp://localhost:8501/api/rerank TEST_DATA( {query:编程语言,documents:[Python是一种编程语言,Java是另一种编程语言,今天天气很好]} {query:机器学习,documents:[深度学习是机器学习的分支,烹饪技巧分享,神经网络模型详解]} ) for data in ${TEST_DATA[]}; do echo 测试数据: $data curl -X POST $API_URL \ -H Content-Type: application/json \ -d $data | jq .results[0] | 最高分: \(.score) - \(.document[:30])... echo -------------------------------- done5.2 带验证的测试脚本#!/bin/bash # validate_rerank.sh API_URLhttp://localhost:8501/api/rerank # 测试数据期望第一个文档最相关 TEST_JSON{ instruction: 基于查询检索相关文档, query: 数据分析工具, documents: [ Pandas是Python中常用的数据分析库, 如何种植玫瑰花技巧, Excel也可以进行基本的数据分析 ] } response$(curl -s -X POST $API_URL \ -H Content-Type: application/json \ -d $TEST_JSON) # 检查最高分是否大于0.5认为相关 top_score$(echo $response | jq .results[0].score) if (( $(echo $top_score 0.5 | bc -l) )); then echo ✓ 测试通过最高分 $top_score else echo ✗ 测试失败最高分只有 $top_score exit 1 fi6. 常见问题与解决方案在实际测试过程中可能会遇到一些问题这里提供一些解决方案。6.1 连接问题如果遇到连接拒绝错误# 检查服务是否运行 netstat -an | grep 8501 # 如果端口被占用可以更换端口 python app.py --port 85026.2 性能优化对于大量文档的测试可以考虑分批处理# 分批处理大量文档 process_batch() { local batch_data$1 curl -s -X POST http://localhost:8501/api/rerank \ -H Content-Type: application/json \ -d $batch_data | jq .results[] | {score, document} } # 分批调用API process_batch {query:测试,documents:[文档1,文档2,文档3]} process_batch {query:测试,documents:[文档4,文档5,文档6]}6.3 结果验证技巧为了确保评分结果的准确性可以设置一些验证用例# 验证明显相关的内容应该得高分 curl -X POST http://localhost:8501/api/rerank \ -H Content-Type: application/json \ -d { query: 苹果, documents: [ 苹果是一种水果富含维生素, 苹果公司生产iPhone手机, 足球比赛规则介绍 ] } | jq .results[] | select(.score 0.7)7. 总结通过本文的学习你应该已经掌握了使用curl命令行工具测试Lychee-Rerank API的方法。这种自动化测试方式特别适合批量测试一次性测试大量查询-文档对持续集成将相关性测试集成到你的CI/CD流程中性能监控定期测试API的响应时间和准确性质量保障确保评分模型的一致性关键要点回顾使用curl -X POST发起API请求正确设置Content-Type: application/json头部请求体包含instruction、query和documents三个字段可以使用jq工具解析和过滤响应结果通过shell脚本实现自动化测试现在你可以开始创建自己的测试用例验证Lychee-Rerank在不同场景下的表现确保它能够为你的应用提供准确的相关性评分。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。