我给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-

相关推荐
后端小肥肠7 小时前
放弃漫画内卷!育儿赛道才是黑马,用 Coze 智能体做10w+育儿漫画,成品直接发
人工智能·agent·coze
强哥之神12 小时前
从零理解 KV Cache:大语言模型推理加速的核心机制
人工智能·深度学习·机器学习·语言模型·llm·kvcache
吾鳴13 小时前
扣子(Coze)实战:疯了!从灵感到公众号草稿箱,生活情感漫画创作只需120秒
coze
数据智能老司机13 小时前
使用 OpenAI Agents SDK 构建智能体——记忆与知识
llm·openai·agent
数据智能老司机13 小时前
使用 OpenAI Agents SDK 构建智能体——代理工具与 MCP
llm·openai·agent
风生水气1 天前
vllm部署实践:windows单显卡上部署qwen模型
llm
智泊AI1 天前
AI大模型入门篇 | 完全0基础也能看得懂!轻松入坑AI大模型!
llm
大模型教程1 天前
大模型AI Agent 小白科研路线规划:从入门到精通!(含Agent学习资源)
程序员·llm·agent
大模型教程1 天前
刚入门AI大模型?这6个GitHub教程,连微软都忍不住推荐了
程序员·llm·agent
AI大模型1 天前
别再瞎学大模型了,这份GitHub神级课程火爆全网(附教程)
程序员·llm·agent