coze初体验,搭建一个自己的bot

起因

因为现在不是流行喝咖啡么,9.9真香警告。本来我是喝奶茶的,现在是咖啡奶茶化,奶茶八宝粥化,所以我现在基本上也只喝咖啡了。但是咖啡喝多了总感觉不太好,尤其是有时候心跳加速,emmmm....。所以想着最好能记录下自己的喝咖啡频率啥的,有同学会说那个app上不是有日历的么,但是吧,星巴克现在搞活动也挺多,也经常喝,加上想顺便记录下疯狂星期四的参与次数啥的,最好还是搞个工具。然后正好试试扣子好了。

需求整理

需求挺简单的

  1. 就是让我的bot记录下我的饮食,然后存进数据库,
  2. 然后可以查询,统计分析频率,给出建议等,自我约束下。
  3. 给出些健康建议

功能实现方案

主要用到了数据库,后来我才发现数据库就一个,我本来还以为我发布了后,用户每人一个....。不过像我这种bot,基本上也就我自己玩,所以直接忽略~

详细步骤

1,定义角色

这里没啥好说的,就简单定义了

2. 技能栏

记录用户发送的内容。

比如"我今天喝了1杯瑞幸","昨天吃了1次肯德基"。bot默认好像是带上下文的,我这里带上下文反而会影响结果,因为我只需要记录用户当前输入的内容即可。所以我会加一句"忽略上下文",然后提出要求,就是严格按照我的步骤执行。

然后是设计表结构,因为我主要针对自己的饮食这块,所以主要字段有日期,食品一级类目,二级类目,数量,附加信息(比如品牌啥的)

这样后面比较方便统计。至于分类信息我本来期望用知识库来弄,虽然搞了个知识库,但是手动调用总是没反应,估计是我的提示词不给力。以下是我的提示词

js 复制代码
### 技能 1: 记录饮食行为

当用户向你发送他们的饮食记录,忽略上下文,然后你需要严格按照以下步骤来处理用户发送的信息,

1. 对用户发送的记录内容拆解分析,调用 recallKnowledge 确定一级分类信息和二级分类信息

2. 调用 TableMemory 保存到数据库中,具体存储规则如下

   - 将日期信息存储到表字段的:date 中
   - 将附加信息存储到表字段 extra_details 中;
   - 将数量信息存储到表字段:count 中;
   - 将一级分类信息存储到表字段 primary_category 中
   - 将二级分类信息存储到表字段 secondary_category 中

3. 以上完成后需要回复"已为您记录"同时显示本次存储的记录内容

关于数据库,我想他应该是个内置的插件,看得到叫TableMemory,还会根据数据库返回的记录结合userReq来回答。

下面是实际效果

可以看到增加了一条记录,但是分类信息错误了,虽然我尝试过用知识库,但是应该是我的使用方式有问题,没有很好的解决这个情况。

查询数据库

用到数据库的调试起来就很麻烦,因为老改动...。后来我给提示词增加了特定内容的处理模块,参考常见的电话菜单,比如1#表示查询所有数据,9#表示删除数据库所有记录,这样效率高多了~

js 复制代码
### 技能 4: 回复特定内容的提问

1. 当用户提问"1#"时,忽略上下文,调用 TableMemory 查询数据库所有数据并返回

2. 当用户提问"9#"时,调用 TableMemory 删除数据库所有数据

3. 当用户提问"2#"或是"查看最近一周的记录"时,忽略上下文,调用 TableMemory 查询数据库中日期范围是本周的所有数据并返回

4. 当用户提问"3#"时,忽略上下文,调用 TableMemory 查询数据库中日期范围是近两周的所有数据并返回

5. 当用户提问"4#"或是"查看本月的记录"时,忽略上下文,调用 TableMemory 查询数据库中日期范围是本月的所有数据并返回

6. 当用户提问"5#"或是"查看最近三个月的记录"时,忽略上下文,调用 TableMemory 查询数据库中日期范围是近 3 个月的所有数据并返回

7. 当用户提问"查看快捷命令"时,回复内容

  - 所有数据:1#
  - 本周数据:2#
  - 近两周数据:3#
  - 本月数据:4#
  - 近 3 个月数据:5#

8. 当用户提问"我该如何记录我的饮食行为?"时,回复内容"只许简单的输入你吃了啥或是喝了啥就行了~"

需要注意的是如果不加"忽略上下文",返回的结果可能是不准确的。比如我上下文中有"这个月喝了几杯咖啡"的提问,虽然我定义了1#是查询所有数据,tableMemory也是实际查询了所有数据,但是回答的时候却是只有咖啡的内容

BotID:7337972230183305256

相关推荐
袁庭新1 分钟前
使用扣子+飞书+DeepSeek搭建批量提取公众号文章内容并改写的智能体
人工智能·aigc·coze
用户5806139393006 分钟前
前端文件下载实现深度解析:Blob与ObjectURL的完美协作
前端
Lin86669 分钟前
Vue 3 + TypeScript 组件类型推断失败问题完整解决方案
前端
coding随想9 分钟前
从零开始:前端开发者的SEO优化入门与实战
前端
前端工作日常12 分钟前
我理解的JSBridge
前端
Au_ust12 分钟前
前端模块化
前端
顺丰同城前端技术团队12 分钟前
还不会用 Charles?最后一遍了啊!
前端
BUG收容所所长13 分钟前
二分查找的「左右为难」:如何优雅地找到数组中元素的首尾位置
前端·javascript·算法
彬师傅14 分钟前
geojson、csv、json 数据加载
前端
用户527096487449014 分钟前
🔥 我与 ESLint 的爱恨纠葛:从"这破玩意儿"到"真香警告"
前端