Lychee-Rerank实操手册:将评分结果导出为CSV/JSON并接入BI可视化看板
Lychee-Rerank实操手册:将评分结果导出为CSV/JSON并接入BI可视化看板
1. 工具简介与核心价值
Lychee-Rerank是一个基于Qwen2.5-1.5B模型的本地检索相关性评分工具,专门用于评估查询语句与文档内容之间的匹配程度。这个工具的最大特点是完全本地运行,不需要网络连接,确保数据隐私安全,同时提供直观的可视化评分结果。
在实际应用中,我们经常需要将评分结果进行进一步分析和展示。本文将重点介绍如何将Lychee-Rerank的评分结果导出为CSV和JSON格式,并接入常见的BI可视化工具,帮助你构建完整的数据分析流程。
为什么需要导出和可视化?
- 长期保存评分结果,便于后续分析和对比
- 与其他数据源整合,进行更全面的分析
- 通过可视化发现评分模式和趋势
- 制作专业的分析报告和看板
2. 环境准备与工具启动
2.1 基础环境要求
确保你的系统满足以下要求:
- Python 3.8或更高版本
- 至少8GB内存(推荐16GB)
- 足够的存储空间存放模型文件(约3GB)
2.2 安装与启动
通过以下命令快速启动Lychee-Rerank:
# 克隆项目仓库 git clone https://github.com/your-repo/lychee-rerank.git cd lychee-rerank # 安装依赖 pip install -r requirements.txt # 启动应用 streamlit run app.py启动成功后,控制台会显示访问地址(通常是http://localhost:8501),在浏览器中打开即可使用评分工具。
3. 基础评分操作指南
3.1 输入配置说明
在使用评分功能前,需要配置三个核心参数:
指令(Instruction):定义评分规则,默认是"基于查询检索相关文档",你可以根据具体场景自定义指令。
查询语句(Query):输入你想要匹配的关键词或问题,例如:"人工智能的发展趋势"或"What is machine learning?"
候选文档集:每行输入一个待评分的文档内容,支持批量输入。系统默认提供了5条测试文档,你可以清空后输入自己的内容。
3.2 执行评分与查看结果
点击"🚀 计算相关性分数"按钮后,系统会开始处理所有文档。处理过程中可以看到实时进度,完成后右侧会显示评分结果。
结果展示特点:
- 按分数从高到低排序(最相关的排在前面)
- 分数保留6位小数,精确度高
- 颜色编码:绿色(>0.8)、橙色(0.4-0.8)、红色(<0.4)
- 进度条直观显示分数占比
- 文档内容以代码块形式清晰展示
4. 结果导出为结构化数据
4.1 导出为CSV格式
CSV格式适合在Excel、数据库或各种分析工具中使用。以下是导出步骤:
import pandas as pd import json def export_to_csv(results, filename="rerank_results.csv"): """ 将评分结果导出为CSV文件 参数: results: 评分结果列表 filename: 输出文件名 """ # 构建数据框 df = pd.DataFrame({ 'rank': [i+1 for i in range(len(results))], 'score': [result['score'] for result in results], 'document': [result['document'] for result in results], 'color_category': ['high' if score > 0.8 else 'medium' if score > 0.4 else 'low' for score in [result['score'] for result in results]] }) # 保存为CSV df.to_csv(filename, index=False, encoding='utf-8') print(f"结果已导出到 {filename}")导出的CSV文件包含以下列:
- rank: 排名(从1开始)
- score: 相关性分数(0-1之间)
- document: 文档内容
- color_category: 颜色分类(high/medium/low)
4.2 导出为JSON格式
JSON格式适合在Web应用或API中使用,保持数据结构完整性:
def export_to_json(results, filename="rerank_results.json"): """ 将评分结果导出为JSON文件 参数: results: 评分结果列表 filename: 输出文件名 """ # 构建结构化数据 output_data = { "metadata": { "export_time": pd.Timestamp.now().isoformat(), "total_documents": len(results), "average_score": sum([result['score'] for result in results]) / len(results) }, "results": [ { "rank": i+1, "score": result['score'], "document": result['document'], "relevance_category": "high" if result['score'] > 0.8 else "medium" if result['score'] > 0.4 else "low" } for i, result in enumerate(results) ] } # 保存为JSON with open(filename, 'w', encoding='utf-8') as f: json.dump(output_data, f, ensure_ascii=False, indent=2) print(f"结果已导出到 {filename}")JSON文件包含更丰富的信息,包括元数据和每个结果的详细属性。
5. 接入BI可视化看板
5.1 使用Excel/Power BI可视化
Excel操作步骤:
- 导入CSV文件到Excel
- 使用条件格式为分数列添加颜色梯度
- 创建柱状图展示分数分布
- 使用筛选器按分类查看结果
Power BI操作步骤:
# 生成Power BI友好的数据格式 def prepare_powerbi_data(results): """准备用于Power BI的数据""" df = pd.DataFrame(results) df['rank'] = range(1, len(results)+1) df['relevance_level'] = pd.cut(df['score'], bins=[0, 0.4, 0.8, 1], labels=['low', 'medium', 'high']) return df在Power BI中,你可以:
- 创建分数分布直方图
- 制作排名变化趋势图
- 建立文档内容关键词云图
- 设置交互式筛选器
5.2 使用Tableau可视化
Tableau能够提供更专业的可视化效果:
- 连接数据源:直接连接CSV文件或通过JSON连接器
- 创建基础视图:
- 分数分布直方图
- 排名条形图
- 分类饼图
- 添加交互元素:
- 参数控制筛选器
- 悬停提示显示文档内容
- 动态筛选器
5.3 自定义Web可视化
如果你需要嵌入到Web应用中,可以使用ECharts或D3.js:
// 使用ECharts创建分数分布图 function createScoreChart(data) { const chart = echarts.init(document.getElementById('chart-container')); const option = { title: { text: '相关性分数分布' }, tooltip: {}, xAxis: { type: 'category', data: data.map(d => `文档${d.rank}`) }, yAxis: { type: 'value', min: 0, max: 1 }, series: [{ data: data.map(d => ({ value: d.score, itemStyle: { color: d.score > 0.8 ? '#4caf50' : d.score > 0.4 ? '#ff9800' : '#f44336' } })), type: 'bar' }] }; chart.setOption(option); }6. 实际应用案例
6.1 电商产品搜索优化
某电商平台使用Lychee-Rerank评估用户查询与产品描述的匹配度:
# 模拟电商搜索场景 queries = ["轻薄笔记本电脑", "游戏手机", "家用打印机"] product_descriptions = [ "华为MateBook X Pro 13.9英寸轻薄笔记本...", "iPhone 15 Pro Max 6.7英寸智能手机...", "联想拯救者Y9000P游戏笔记本...", # ...更多产品描述 ] # 批量处理并导出结果 for query in queries: results = lychee_rerank_score(query, product_descriptions) export_to_csv(results, f"电商搜索_{query}_结果.csv")通过分析导出的数据,他们发现:
- 某些产品的描述与常见查询匹配度较低
- 高匹配度的产品转化率明显更高
- 可以据此优化产品描述和搜索算法
6.2 学术文献检索系统
研究机构使用该工具构建文献推荐系统:
- 将用户研究兴趣作为查询
- 数据库中的论文摘要作为候选文档
- 导出高分文献列表供研究人员参考
- 定期分析评分趋势,发现研究热点
6.3 客服知识库优化
客服团队使用评分工具:
- 将客户问题作为查询
- 知识库文章作为候选文档
- 找出匹配度低的文章进行优化
- 通过BI看板监控知识库覆盖度
7. 总结
通过本文的介绍,你应该已经掌握了如何将Lychee-Rerank的评分结果导出为结构化的CSV和JSON格式,并接入各种BI工具进行可视化分析。这套流程不仅适用于Lychee-Rerank,也可以借鉴到其他类似的数据处理和可视化场景中。
关键收获:
- 掌握了结果导出的两种标准格式(CSV和JSON)
- 学会了如何准备数据用于不同BI工具
- 了解了实际应用场景和案例分析
- 获得了可复用的代码示例
下一步建议:
- 尝试将自己的数据接入Lychee-Rerank进行评分
- 练习使用不同的BI工具创建可视化看板
- 探索更复杂的分析场景,如时间序列分析、多维度对比等
- 考虑将整个流程自动化,定期生成分析报告
通过将Lychee-Rerank与数据分析和可视化工具结合,你能够充分发挥相关性评分的价值,为各种应用场景提供数据支持和决策依据。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。
