字节跳动 Coze (扣子)使用初探,和 Chatopera 云服务比较,上线聊天机器人
字节跳动 Coze (扣子)使用初探
意图识别
coze完全依托于llm,通过编排(prompt)指导大语言模型做事情
优点:不需要编程知识,人人皆可开发聊天机器人
缺点:prompt也就是自然语言描述会有歧义,调试困难,差之分毫,失之千里。很长一段时间,我都在学习怎么和机器人好好说话(到现在学的还不太好)。
多轮对话
coze没有此功能,但可以通过工作流完成复杂的任务。我尝试在工作流里让机器人询问消息,但没有成功。官网给的工作流例子是处理数据的,没有涉及对话。
优点:不用设计机器人说什么
缺点:机器人的回答不可控,你不知道他会回答些什么,说不定机器人会更推荐竞争对手的产品,有人在群里反馈机器人客服在对话中给了竞争对手的链接(尴尬)。官方说可以申请api内测,我申请了没通过。
工作流
coze通过拖拽、链接、输入参数输出参数的方式配置流程。
优点:简单
缺点:
- 操作复杂,我一直在不停的放大屏幕缩小屏幕来配置卡片。
- 调试困难,错误信息不明确。
很多次验证不通过但是找不到原因,然后我尝试先将这个卡片从流程中拿出来,再测试一下以便定位出问题的卡片。
但是不可以,不用的卡片即使没连接也会报错,必须删掉,我想定位是哪个卡片的问题就在不停地删除、新增再重新配置,好烦躁。
知识库
不同于chatopera的faq形式,coze是用分段的方式管理知识库。上传文件后,系统会自动分段,然后根据用户的问题自动选择合适的内容回复
丰富的数据源
扣子支持通过以下方式上传文本内容或结构化的表格数据到知识库中用来响应用户问题。
- 本地文件:你可以将存储在.txt、.pdf、.docx、.csv和.xlsx格式中的本地内容上传到知识库中。
- 在线网站:你可以将指定网站上的线上内容添加到知识库中。
- API:你可以通过 API 方式将 JSON 数据上传至知识库。
- 自定义:你可以手动将自己的数据上传到知识库。
灵活的内容分割
知识库分段是一条独立的信息或特定的内容块。上传到知识库中的内容会被自动分割成多段,然后通过向量召回,召回最相关的片段,帮助模型提高回答的准确性。
此外,扣子也支持通过自定义的方式进行内容分割,例如通过分段标识符、字符长度等方式进行内容分割。
知识库由大到小可分为:
- 知识库:一整套领域知识,是 Bot 加载的最小单位。
- 单元:知识库的一部分,可上传的最小内容单位可以是一个.txt、.pdf、.csv文件或一个网页。
- 分段:一个单元切分成多个分段,模型查询的最小单位。分段内容的完整度和准确性度会影响模型回答问题的准确性。
优点:简单,不需要整理成faq列表,机器人会自动分隔进行搜索
缺点:暂时没发现,需要后续测试命中率
插件
用自然语言的方式调用插件,丰富机器人的能力
优点:简单
缺点?:如果你想完成类似打车的服务,向订单系统发订单,你需要为你的订单系统申请域名、备案配置https服务,然后注册为插件。我卡在的这些问题上,所以没有调通(这也可能是我的缺点)。
二者的区别
相同点:都是一出生就习得万物的小精灵
不同点:
- 一个刚刚创建的coze机器人(或者大多数市面上的大语言模型),能力强大却不受约束,思维活跃、天马行空;他不会只为你服务,你需要用魔法(prompt)去约束他的能力,让他能为你服务,不要随性而为。
- 一个刚刚创建的chatopera机器人,是一个天生就知道如何为你服务的小精灵,他本能的遵循你的安排,完成相应任务,心无旁骛。