LLM应用实战:当KBQA集成LLM

文章详细描述了一项利用LLM实现的知识图谱KBQA项目,涉及对齐、解析、多轮问答等环节,展示了整体架构、优点与挑战,并分享了项目成果和优化策略。

1. 背景

应项目需求,本qiang~这两周全身心投入了进去。

项目是关于一个博物馆知识图谱,上层做KBQA应用。实现要求是将传统KBQA中的部分模块,如NLU、指代消解、实体对齐等任务,完全由LLM实现,本qiang~针对该任务还是灰常感兴趣的,遂开展了项目研发工作。

注意,此篇是纯纯的干货篇,除了源码没有提供外,整体核心组件均展示了出来。也是这两周工作的整体总结,欢迎大家查阅以及加关注(不强求哈~)

2. 整体框架

整体思想还是遵循RAG策略,从图谱召回候选背景知识,让LLM进行润色回答

具体的流程如下:

(1) 用户提问:已发现的体重最大的肉食性恐龙是什么

(2) 对齐模块。

对齐模块的主要作用是针对问题与知识图谱中的实体、概念、关系、属性进行对齐。

其中候选概念、候选属性、候选关系在图谱中的数量是少量有限的,而实体的数量可多可少,因此候选概念、候选属性、候选关系可以在查询hugegraph后,直接拼到对齐prompt中(对齐的prompt预留了占位符),而实体则需要进行预筛选,筛选的方式是通过问题query与实体名进行语义相似度比较,通过语义相似度引擎实现,比如simbert, bge, gte等开源模型,预筛选后的少量实体可以拼接到对齐prompt。

对齐的prompt增加要求和few-shot示例,可以解决常见对齐问题,比如实体、概念、属性、关系存在缺字、多字、相似字等情况。

(3) 对齐模块经过LLM进行对齐,输出对齐结果。

本示例的对齐结果为:(属性-等于-体重)(属性值-等于-最大); (属性-等于-食性)(属性值-等于-肉食性);(概念-等于-恐龙)

(4) 对齐校准模块。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mengrennwpu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值