来源:互联网 更新时间:2026-08-23 13:57
HuixiangDou 这个项目,定位是群聊场景下的 LLM 知识助手。群聊里人多口杂,机器人显然不能每条消息都回复,它的设计哲学就三条:

在上篇文章里,我们用真实的群聊数据做了一轮测试,对比了多种方法和参数调优,最终把拒答的 F1 score 干到了 75.88。
今天这篇,要聊的是如何把知识图谱和稠密检索混着用,让 F1 进一步攀升到 77.57。
先把目前测试过的所有方法做个对比:
方法 | F1 score | 备注 |
| BCE+KG混合(本文) | 77.57 | KG 权重约 20% |
| BCE | 75.88 | 需配合特定 splitter |
| BGE | 72.23 | 使用 bge-large-zh-v1.5 |
| BGE-M3 | 70.62 | 测试数据 token 不足 8192,无法评估能力 |
| M3 稠密+稀疏混合 | 63.85 | 使用 milvus hybrid_search 测试,WeightedRanker 中稀疏占比越大效果越差 |
本文方法的本质,其实就是在稠密检索的过程中,给那些高频词汇加个权重。这么做有几个好处:
考虑到读者的背景可能不太一样,先把文里涉及的关键词捋一遍:
RAG 为什么需要 KG?或者更直接点,KG 能给 HuixiangDou 带来什么?
理想状态下,KG 应该能带来三样东西:
本文用的 KG,是以属性为中心来连接 chunk 的。
举个具体的例子,拿 MMDeploy 和 MMPose 这两个项目的 README 来说,它们的交集会落在 “mmpose” 和 “ncnn” 这类术语上。如果一个名词(比如 “ncnn”)能关联到大量文档,那说明它要么很重要,要么很常见。本文的核心假设就是:这类高频词汇,在 RAG 中理应获得更大的权重。
这里用了 qwen1.5-110B 来做 NER。为了控制成本,调的是 silicon cloud 的 API。知识库方面,用的还是 OpenMMLab 那 9 个算法库。
建库过程大概需要 14M token,单并发跑下来要 12 个小时以上,费用差不多 50 元。
python3 -m huixiangdou.service.kg --build
建库成功后,workdir/kg 目录下会出现 jsonl 格式的节点和关系文件。
此时可以试试检索效果,比如问一下怎么安装 MMPose:
python3 -m huixiangdou.service.kg --query 如何安装mmpose?
考虑到 API 欠费、网络断开这些不可控因素,代码里会记录已完成的部分,支持断点续建。
在 HuixiangDou 里,知识图谱的存储用的是 jsonl,图计算则靠 networkx。为了白嫖 neo4j 的可视化能力,我们也支持把 jsonl 转到 neo4j 里。
python3 -m huixiangdou.service.kg --dump-neo4j --neo4j-uri ${URI} --neo4j-user ${USER} --neo4j-passwd ${PWD}
# 30 万节点和关系数据,远程通信预计耗时 4 小时
下面是部分节点可视化的例子,看起来就像蒲公英一样:
检索的过程和建库类似,先用 LLM 提取实体词,然后去匹配候选文档。
关于 score 的计算,我们事先统计了所有命中个数的分布。多数问题关联不了 100 个文档。考虑到后续还要缩放分值,就简单做了个拍脑袋的处理:
score = min(100, count(docs)) / 100
这里的阈值也是候选文档个数。举个例子,如果对某条用户输入,检索到 5 个以上的候选文档,就判定为 True,机器人会继续处理这句话,不拒绝。
测试结果很直观:随着阈值提高,知识图谱的检索结果会越来越保守,很多正类样本会被错误地归到负类里去。
不过话说回来,
这种保守的特质,很适合用来计算正值 [0, +1],然后叠加到稠密检索的结果上,让原来的分布方差变得更大。
本文用的混合检索,说白了就是“考试加分”。具体公式如下:
final_score = dense_score + 0.2 * kg_score
这样一来,在实现层面就相当于变相改了阈值,而不用动稠密检索的代码。具体流程是:
这样一来,知识图谱就变成了一个可开关的选项,和旧版本的特征库完美兼容!
总的来说,这套基于知识图谱和稠密检索的混合方案,本质就是在稠密检索过程中给高频词汇加权,最终带来了不到 2 个点的精度提升。
当然,现阶段实现得还有点糙,只支持 markdown 和纯文本格式。速度方面也没做任何优化,KG-LLM 的完整能力还没发挥出来。
接下来会继续完善代码,并在更多领域里跑一轮测试。
腾讯ima怎么把微信内容一键导入知识库?
黄金价格不断创新高!黄金稳定币XAU、PAXG市值达11亿美元
腾讯ima怎么创建共享知识库?
Celestia价格预测2026-2032:TIA币能否引领山寨币上涨行情?历史价格回顾
新浪互联网热点小时报丨2026年07月26日16时_今日实时互联网热点速递
比特币(BTC)核心周期指标复刻历史走势 价格或跌破5.8万美元关键支撑位
新浪机器学习热点小时报丨2026年07月25日18时_今日实时机器学习热点速递
WorkBuddy微信版怎么获得积分?
新浪人工智能热点小时报丨2026年07月30日18时_今日实时人工智能热点速递
比特币 2025 年价格预测:BTC 的未来走势
车载冰箱重置到出厂设置几步?
5000元起的鼠标哪个最值得入手?
管线机怎么接云米净水器
短剧《史上最强洪荒修为》剧情介绍
Aptos(APT)2026-2032年价格预测与历史走势梳理
笔记本移动电源推荐哪款?
结婚家电首选:Leader懒人三筒Ultra热泵洗烘一体
kimi提示词专家使用方法新手指南
短剧《仙人跳获透视,古玩玉器我全拿捏》剧情介绍
腾讯ima知识库怎么分类管理?
手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc