Coze知识库和记忆

更新时间: 2025-06-26 14:46:08

# 知识库概述

扣子的知识库功能支持上传和存储外部知识内容,并提供了多种检索能力。扣子的知识能力可以解决大模型幻觉、专业领域知识不足的问题,提升大模型回复的准确率。

# 功能概述

扣子的知识库功能包含两个能力,一是存储和管理外部数据的能力,二是增强检索的能力。

  • 数据管理与存储
  • 扣子支持从多种数据源例如本地文档、在线数据、Notion、飞书文档等渠道上传文本和表格数据。上传后,扣子可将知识内容自动切分为一个个内容片段进行存储,同时支持用户自定义内容分片规则,例如通过分段标识符、字符长度等进行内容分割。
  • 增强检索
  • 扣子的知识功能还提供了多种检索方式来对存储的内容片段进行检索,例如使用全文检索通过关键词进行内容片段检索和召回。
  • 大模型会根据召回的内容片段生成最终的回复内容。

# 应用场景

扣子支持上传文本内容和结构化的表格数据,可满足不同的使用场景。例如:

  • 语料补充:如需创建一个虚拟形象与用户交流,你可以在知识库中保存该形象相关的语料。后续智能体会通过向量召回最相关的语料,模仿该虚拟形象的语言风格进行回答。
  • 客服场景:将用户高频咨询的产品问题和产品使用手册等内容上传到扣子知识,智能体可以通过这些知识精准回答用户问题。
  • 垂直场景:创建一个包含各种车型详细参数的汽车知识。当用户查询某一车型的百公里油耗是多少时,可通过该车型召回对应的记录,然后进一步识别出百公里油耗。

# 知识与记忆对比

扣子的知识和记忆能力都可以用来存储数据。在使用时可以从最终的使用者和存储的数据内容上进行区分。

  • 知识:知识是供智能体或工作流调用的静态数据,可在空间内共享。由开发者创建和维护,智能体的终端用户无法对知识内容进行修改。
  • 记忆:扣子提供了数据库、变量、长期记忆等记忆功能。通常这些数据是智能体的终端用户在使用智能体时产生的动态数据,不支持跨智能体使用。

以一个租房平台的智能体为例,下表展示了哪些数据是需要通过知识功能来维护的,哪些数据是通过记忆功能来维护的。

类别 存储的数据 特点
知识 - 周边所有的房屋的信息(房屋面积、朝向、租房价格等)
- 周边所有小区的信息(小区位置、小区年代、周边交通等)
- 某地区租房政策文件信息
- 官方租房介绍文档
- ...
- 由智能体开发者上传和维护
- 所有用户可见但不可修改
- 可跨智能体使用
记忆 - 用户租房喜好(位置、面积、是否带独卫等)
- 用户历史租房信息
- 用户关注的小区/房屋
- ...
- 用户个人数据
- 不可以跨智能体使用

# 权限说明

知识库暂不支持多人协作。只有知识库的所有者支持编辑、启用、删除自己创建的知识库,团队所有者、管理员以及普通成员都没有权限编辑、启用、删除其他成员创建的知识库。

# 操作流程

使用扣子的知识库功能辅助大模型来生成回复内容时,需要完成以下操作。

  1. 创建知识库

    • 首先,需要将需要的知识内容导入到知识库中。扣子支持导入文本内容和表格数据,并提供了多种导入方式,详情可参考创建文本知识库。
  2. 使用知识库

    • 完成知识库创建和内容导入后,你就可以在智能体和工作流中添加知识库内容进行调用了,详情可参考使用知识库。
  3. 配置检索和召回策略

    • 在上传完知识内容后,可以通过相关配置来解决从哪里查、怎么查、用户条的问题。召回的内容的完整度和相关度越高,大模型生成的回复内容的准确性和可用性也就越高。
  4. 调试与优化

  • 最后,你需要通过测试来不断优化回复的内容效果

# 智能体添加记忆

# 变量

你可以通过创建变量来保存用户个人信息,例如语言偏好等,并让智能体记住这些特征,使回复更加个性化。变量以 keyvalue 形式存储用户的某一行为或偏好。大语言模型会根据用户输入内容进行语义匹配,为定义的变量赋值并保存值。你可以在提示词中为智能体声明某个变量的具体使用场景。

# 变量类型

使用扣子开发智能体时,可以通过系统变量和用户变量来满足不同的业务需求和场景。每种变量类型都有其特定的用途和优势,以下是对这些变量类型的介绍说明。

# 系统变量

系统默认创建用户信息、飞书等类别的系统变量,你不可以新增、修改、删除默认的系统变量。这些系统变量默认全部关闭,为不可用状态,你可以根据实际业务需求选择开启需要的系统变量。开启后,系统在用户请求时自动产生变量数据这些数据是只读的,不可由用户或开发者修改。

# 用户变量

用户变量用于存储每个用户在使用智能体过程中,需要持久化存储和读取的数据,例如用户的个性化设置、语言偏好历史交互记录等。开发者可以在扣子平台中配置用户变量,并在用户与智能体交互时存储和检索这些变量,用户变量的值在用户会话之间持久化存储,支持可读可写。

# 数据库

扣子的数据库功能提供了一种简单、高效的方式来管理和处理结构化数据,开发者和用户可通过自然语言插入、查询修改或删除数据库中的数据。同时,也支持开发者开启多用户模式,支持更灵活的读写控制。

  • 功能介绍
    扣子提供了类似传统软件开发中数据库的功能,允许用户以表格结构存储数据。这种数据存储方式非常适合组织和管理结构化数据,例如客户信息、产品列表、订单记录等。 扣子数据表支持单用户和多用户两种查询模式。

  • 说明
    开发者指创建数据表的开发人员;用户指智能体的使用者。 多用户模式仅在工作流的数据库节点中生效。

# 开启长期记忆

你可以在智能体的编排页面打开长期记忆功能。功能开启后,智能体会自动收集对话中和用户相关的个性化信息,并将其记录到自己的长期记忆中。长期记忆数据将保存在平台的系统数据库中。

功能开启后,你还可以设置是否支持在 Prompt 中调用长期记忆。关于两种使用方式的说明,可以查看召回长期记忆。

  • 开启“支持在Prompt中调用”:智能体的用户可以通过 Prompt 或工作流的长期记忆节点召回长期记忆。

  • 关闭“支持在Prompt中调用”:智能体的用户只能在工作流中通过长期记忆节点召回长期记忆,无法在和智能体对话时通过提问的方式召回长期记忆。

  • 说明

  • 支持在Prompt中调用仅影响长期记忆的召回方式,不影响长期记忆的记录方式,只要长期记忆功能是开启状态,智能体就会记录用户的个性化信息。

  • 如果智能体绑定了包含长期记忆的工作流,则智能体需要开启长期记忆功能,否则工作流执行会报错 702090900 This智能体does not have LTM enabled。同时建议关闭支持在Prompt中调用,否则在对话中容易同时触发长期记忆召回和工作流执行,影响对话效果。

# 文件盒子

文件盒子(Filebox)是扣子智能体的能力之一,它提供了多模态数据的合规存储、管理以及交互能力。多模态数据是指用户发给智能体的图片、PDF、DOCX、Excel 等常见文件。

  • 能力介绍

文件盒子基于合规和隐私保护统一存储和管理用户上传的图片、文档、表格等常用文件,在面向复杂的用户任务场景(例如为智能体搭建租房、记账本等能力)时,通过文件盒子可以反复使用已保存的多模态数据。当用户使用智能体时,通过自然语言即可管理或使用文件盒子。常见的操作如下:

  • 文件管理:文档和图片的增删改查、批量修改等操作。

  • 文件夹管理:文件夹的增删改查、移动等操作。

  • 多模态数据增强检索:包括文件内容理解在内的混合检索并自适应呈现检索结果。

  • 说明

文件盒子功能仅适用于发布到豆包和智能体商店的智能体,其他渠道暂不支持使用文件盒子。