我给Coze工作流和知识库调试提个建议

近期看到Coze开源刷屏,Star已经10K+了,不由想起之前一直困扰的问题,笔者在Coze上配置的"杭州中考小助手",按分数查询可以报考的学校,检索结果总是为空,在掘金上也发过该问题求助的帖子《为啥扣子工作流中知识检索节点不起作用?》,也一直没找到解决方法。

最近找"柚子大哥"做了个验证,终于搞清楚主要还是因为在Coze知识库中没有检索到相应结果,本文展开剖析,供有需要同学参考借鉴,顺便给Coze提个小小的建议,咱也试试看能不能蹭一把最近"Coze开源"的热点哈。

知识库中检索结果为空的排查过程

首先回顾一下问题现象,我的这个"杭州中考小助手"智能体中,主要是引用了一个工作流如下图: 在这个工作流中当判断用户意图如果是"要根据分数查询可报考学校"时,就走到"知识库检索_1"节点,在这个节点中配置了4个知识库,分别对应了4种不同类型的学校录取分数线表格,然后用大模型节点,对检索结果做一个格式整理再输出。


现在问题是调试过程中发现,针对用户输入的分数,Coze知识库检索节点会基于NL2SQL方式,将其转换为相应的SQL:

转换结果SQL看着逻辑也是正确的,但最终检索节点结果就是为空。

因为用户意图如果是另外一个分支"按学校名查询录取分数线"时,每次都很准确地查到结果了,所以就一直没想到是我的知识库本身有问题,总以为是Coze的"知识库检索"节点配置有问题,或者是它的执行机制有问题。

所以试着把"知识库检索节点"的几个选项挨个调整了一遍,发现不起作用,换成"大模型节点"再搭配"技能"中选择知识库,然后写提示词要求大模型查询知识库,结果调试发现也查不到结果。

尝试了多次无果,只能搁置,一放就是2个月过去了,最近找"柚子大哥"做了个验证,结果发现是我知识库本身有问题,比如其中有个"民办高中录取分数线"的知识库表格中,其"最后一位录取考生的投档信息"字段的内容是这样一串文本字符串,并不仅仅是一个具体分数值:

所以导致Coze生成的这段SQL,虽然NL2SQL之后的字段名、条件判断逻辑、union组合逻辑等都匹配得很准,但其实执行肯定是出错了,所以没有查询出结果。

sql 复制代码
SELECT '高中学校名' FROM '2024年杭州中考普通高中录取分数线' WHERE '分数线'<=600 
UNION 
SELECT '招生学校' FROM '2024年杭州中考中本一体化录取分数线' WHERE '分数线'<= 600 
UNION 
SELECT '学校名称' FROM '2024年杭州中考民办高中录取分数线' WHERE '最后一位录取考生的投档信息'<= 600 
UNION 
SELECT '学校名称' FROM '2024年杭州中考职高+技校+中专投档线' WHERE '最后一位录取考生的投档信息'<=600

建议Coze知识库增加检索/召回的测试能力

这么一个简单问题困扰了这么久,现在回想起来当时调试最大的痛苦,就是不知道为啥没有查询出结果,NL2SQL也生成对了,但就是看不到执行结果,也没有任何报错信息,就返回一个空的结果集,生成的SQL也没有地方可以去测试执行,只能各种改动验证。

建议Coze工作流调试时,最好能输出知识库检索节点的出错信息,同时Coze知识库中增加相应的召回/检索测试,方便我们定位排查问题,Dify和RAGFlow的知识库中都有类似机制:

-end-

相关推荐
大模型教程14 分钟前
大模型系统学习教程(四)- 模型训练与微调(下)
程序员·llm·agent
阿里云大数据AI技术2 小时前
【新模型速递】PAI-Model Gallery云上一键部署gpt-oss系列模型
人工智能·gpt·llm
药研猿4 小时前
剑桥大学最新研究:基于大语言模型(LLM)的分子动力学模拟框架,是MD的GPT时刻还是概念包装?
人工智能·llm·md
Goboy6 小时前
迷宫逃脱:Trae 一句话生成的“烧脑冒险”
llm·ai编程·trae
AI大模型19 小时前
Coze工作流实战:快速搭建网站的智能客服助手
程序员·llm·coze
ai2things1 天前
MemoryOS 代码解析
算法·llm·agent
聚客AI1 天前
💡大模型智能体应用评估揭秘:指标、框架与落地实践
人工智能·llm·agent
深度学习机器1 天前
Deep Research的架构演进:从Multi Agent到Supervisor-Researcher模式的技术实践
人工智能·llm·agent
Spider_Man1 天前
AI图片识别英语学习神器开发实录——让单词和图片一起飞!
前端·react.js·llm