4
知识库介绍
Coze 的知识库功能支持上传外部数据(例如本地文件、实时在线数据),通过向量搜索来检索最相关的内容以回答用户的问题,这可以帮助你的 Bot 更精确地回答问题。
功能概述
Coze 提供了简单易用的方式来存储和管理外部数据,让你的 Bot 可以与指定的数据进行交互。
将数据上传到 Coze 知识库后,Coze 会自动将你的文档分割成内容片段进行存储,并通过向量搜索来检索最相关的内容来回答用户问题。
例如:
- 你可以将几十页的产品介绍文档导入知识库,当 Bot 使用了这个知识库后,你就可以拥有一个专属产品顾问 Bot。
- 你可以将常关注的资讯网站或在线论文导入知识库,通过知识库的自动更新能力,让 Bot 帮助你收集最新数据。
应用场景
Coze 支持上传文本内容和结构化的表格数据,可满足不同的使用场景。
例如:
- 语料补充:如需创建一个虚拟形象与用户交流,你可以在知识库中保存该形象相关的语料。后续 Bot 会通过向量召回最相关的语料,模仿该虚拟形象的语言风格进行回答。
- 客服场景:将用户高频咨询的产品问题添加到知识库后,Bot 可以通过这些知识精准回答用户问题。
- 垂直场景:创建一个包含各种车型详细参数的汽车知识库。当用户查询某一车型的百公里油耗是多少时,可通过该车型召回对应的记录,然后进一步识别出百公里油耗。
功能特性
Coze 知识库功能提供了以下能力。
- 丰富的数据源Coze 支持通过以下方式上传文本内容或结构化的表格数据到知识库中用来响应用户问题。
- 本地文件:你可以将存储在.txt、.pdf、.docx、.csv和.xlxs格式中的本地内容上传到知识库中。
- 在线网站:你可以将指定网站上的线上内容添加到知识库中。
- API:你可以通过 API 方式将 JSON 数据上传至知识库。
- 自定义:你可以手动将自己的数据上传到知识库。
- 灵活的内容分割内容上传到 Coze 知识库后,会自动将内容分段(Segment)保存。Coze 也支持设置分割标识符和段长度来进行内容分割。Segment 是一条独立的信息或特定的内容块。当查询知识库时,Bot 通过这些分段进行向量召回,以找到最相关的信息。
使用限制
下表列出了每个用户在所有团队可创建的最大资源限制。
资源 |
限制说明 |
知识库数量 |
单用户最多可创建 1000 个知识库。 |
知识库容量 |
单用户每月最多可新增 2 GB 数据,上限为 10 GB。 |
Unit 数量 |
单知识库内最多可添加 100 个 Unit。 |
Segment 数量 |
单 Unit 内最多可保存 10000 个 Segment。 |
表格类型的 Unit 内的字段数量 |
单表格格式的 Unit 内,最多可添加 10 列字段。 |
相关文档
如需了解知识库的使用说明,参见使用知识库。
Last updated: 2024/2/26 10:58
5
使用知识库
Coze 知识库支持上传外部数据来响应用户查询。上传的内容可以是本地或线上实时的文本内容,也可以是结构化的表格数据。
一个知识库中可添加一个或多个单元(unit),用于存储外部数据。每个单元可包含多个内容片段(segment),segment 是一条独立的信息或特定的内容块。上传到知识库中的内容会被分割成多个 segment,然后通过向量召回,召回最相关的片段,帮助模型提高回答的准确性。
创建知识库并上传文本内容
- 登录 Coze。
- 在左侧导航栏的 My Workspace 区域,选择进入指定团队。
- 在页面顶部进入 Knowledge 页面,或者进入 Bots 编排页面,在 Knowledge 区域单击 +。
- 单击 Create knowledge。
- 在弹出的页面中,配置知识库名称与描述,并单击 Confirm。一个团队内的知识库名称不可重复,必须是唯一的。
- 在 Units 页面,单击 Add unit 创建一个存储单元。
- 在弹出的页面选择要上传的数据格式,默认是 Text format,然后选择一种文本内容上传方式完成内容上传。
上传方式 |
操作步骤 |
Local documents |
上传本地文档: 1. 在 Text format 页签下,选择 Local documents,然后单击 Next。 2. 将要上传的文档拖拽到上传区,或单击上传区域选择要上传的文档。 目前支持上传 .txt, .pdf, .docx 格式的文件内容。 每个文件不得大于 20M。 一次最多可上传 10 个文件。 3. 设置单元名称或使用默认名称,并在上传完成后单击 Next。 4. 选择内容分片方式: 1. Automatic:选择 Automatic,系统会对上传的文件数据进行自动分段,并会按照系统默认的预处理规则处理数据。 2. Custom:手动设置分段规则和预处理规则。 Segment identifier:在分段标识符(Segment identifier)下拉列表中,选择符合实际所需的标识符。 Maximum segment length:设置分段最大长度,即每个片段内的字符数上限。 Text preprocessing rules:选择预处理规则。 5. 单击 Next 完成内容上传和分片。 |
Online data |
上传在线数据: 1. 在 Text format 页签下,选择 Online data,然后单击 Next。 2. 单击 Add URL。在弹出的页面完成以下操作: 1. 输入要上传的网站地址。 2. 选择是否需要定期同步网站内容,如果需要选择内容同步周期。 3. 单击 Add。 3. 当上传完成后单击 Next。 系统会自动根据网站的内容进行内容分片。 |
Customization |
添加自定义数据: 1. 在 Text format 页签下,选择 Customization,然后单击 Next。 2. 输入单元名称,然后单击 Confirm。 3. 单击 Create segment,然后在弹出的页面输入要上传的内容,并单击 Save。 每个 segment 最多可添加 2000 个字符。 |
创建知识库并上传表格数据
你可以通过本地文件或 API 的方式上传结构化的表格数据到知识库中。上传后的数据会直接按照索引列进行分片。 参考以下操作,创建知识库并上传表格数据。
- 登录 Coze。
- 在左侧导航栏的 My Workspace 区域,选择进入指定团队。
- 在页面顶部进入 Knowledge 页面,或者进入 Bots 编排页面,在 Knowledge 区域单击 +。
- 单击 Create knowledge。
- 在弹出的页面中,配置知识库名称与描述,并单击 Confirm。一个团队内的知识库名称不可重复,必须是唯一的。
- 在 Units 页面,单击 Add unit 创建一个存储单元。
- 在弹出的页面,选择 Table format,然后选择一种上传方式完成数据上传。
上传方式 |
操作步骤 |
Local documents |
上传本地文档: 1. 在 Table format 页签下,选择 Local documents,然后单击 Next。 2. 将要上传的文档拖拽到上传区,或单击上传区域选择要上传的文档。 目前支持上传 .csv 和 .xlsx 格式的文件内容,且表格内需要有明确的列名和对应的数据。 每个文件不得大于 20M。 一次最多可上传 10 个文件。 3. 设置单元名称或使用默认名称,并在上传完成后单击 Next。 4. 配置数据表信息后,单击 Next。 1. 指定数据范围:通过选择 sheet 页(Date sheet)、表头(Header)、表数据的开始行(Data starting row)指定数据范围。 2. 确认表头:系统已默认获取了表头的字段名称,你可以自定义修改字段名称,或删除某一字段。 3. 指定语义字段:选择哪个字段作为搜索匹配的语义字段。在响应用户查询时,会将用户查询内容与该字段内容的内容进行比较,根据相似度进行匹配。 5. 查看表结构和数据,确认无误后单击 Next 。 6. 完成上传后,单击 *Confirm。 |
API |
上传 API 返回的 JSON 数据: 1. 在 Table format 页签下,选择 API,然后单击 Next。 2. 单击 Add API。 3. 输入 API URL 并选择数据同步周期,然后单击 Next。 4. 输入单元名称或使用自动添加的名称,然后单击 Next。 5. 配置数据表信息后,单击 Next。 1. 确认表头:系统已默认获取了表头的字段名称,你可以自定义修改字段名称,或删除某一字段。 2. 指定语义字段:选择哪个字段作为搜索匹配的语义字段。在响应用户查询时,会将用户查询内容与该字段内容的内容进行比较,根据相似度进行匹配。 6. 查看表结构和数据,确认无误后单击 Next 。 7. 完成上传后,单击 Confirm。 |
Customization |
添加自定义数据: 1. 在 Add unit 页面下,选择 Customization,然后单击 Next。 2. 输入 Unit Name。 3. 在 Table Structure 区域添加字段,单击 Add Field 添加多个字段。 4. 设置字段名称,并选择指定字段作为搜索匹配的语义字段。在响应用户查询时,会将用户查询内容与该字段内容的内容进行比较,根据相似度进行匹配。 5. 单击 Confirm。 6. 单击 Create segment。 7. 在弹出的页面输入字段值,然后单击 Save。 |
维护知识库内容
为了提升召回的准确率,你可以删除、新增或修改知识库内容。
管理知识库
在 Knowledge 页面,你可以看到已创建的知识库和每个知识库内的单元数量和创建时间等信息。
单击知识库或编辑图标,进入知识库详情页面。在知识库详情页,你可以:
- 新增内容:单击 Add unit 上传更多内容。
- 删除内容:单击目标单元的删除图标,删除该内容单元下的所有内容片段。
- 更新内容单元内的分段(segment):单击目标单元的编辑图标或直接单击该单元名称。
- 开启引用:是否开启该单元中的内容引用。如果不开启,即便 Bot 中使用了所属的知识库,该单元内容也不会被召回。
管理 segment
在知识库详情页单击目标单元, 进入单元详情页。在该页面管理 segment
- 更新单个 segment:
- 更新内容:将鼠标悬浮至目标 segment 内容上,单击编辑图标修改 segment 的内容。
- 删除:将鼠标悬浮至目标 segment 内容上,单击删除图标删除该 segment。
- 更新全部 segment:单击 Configure 然后选择要执行的操作。对于不同类型的数据(文本格式、表格格式)可进行的管理操作说明如下表。
unit 类型 |
操作说明 |
文本格式 unit |
在文本格式 unit 的右上角,单击 Configure 后支持以下操作。 Rename:重命名当前 unit。 Update content:该选项仅通过本地文档、在线数据添加的 unit 可以选择,用于更新当前 unit 的数据。单击后你需要重新上传本地文档,或者重新设置在线数据的 URL 进行数据更新。 Resegment:该选项仅通过本地文档、在线数据添加的 unit 可以选择,用于重新配置分片规则。 Delete:该选项用于删除当前 unit。当 unit 被删除后,相关 Bot 中的引用将会同步失效。 |
表格格式 unit |
在表格格式 unit 的右上角,单击 Configure 后支持以下操作。 Rename:重命名当前 unit。 Update content:该选项仅通过本地文档、API 数据添加的 unit 可以选择,用于更新当前 unit 的数据。单击后你需要重新上传本地文档,或者重新设置 API 的 URL 进行数据更新。 Modify table structure:该选项仅通过本地文档、API 数据添加的 unit 可以选择,用于更新表结构。 Delete:该选项用于删除当前 unit。当 unit 被删除后,相关 Bot 中的引用将会同步失效。 |
使用知识库
你可以将知识库直接与 Bot 进行关联用于响应用户回复;也可以在工作流中添加知识库节点,成为工作流中的一环。
在 Bot 内使用知识库
- 登录 Coze。
- 在左侧导航栏的 My Workspace 区域,选择进入指定团队。
- 在 Bots 页面,创建一个 Bot 或进入指定 Bot。
- 在 Bot 编排页中间的 Skills 区域,单击 Knowledge 右侧的加号(+)。
- 选择指定知识库,并单击 Add。
- (可选)添加知识库后,可以在 Automatic call 下拉界面内,调整知识库的配置项。配置项说明:
配置项 |
说明 |
Maximum number of recalls |
最大召回次数。Bot 在调用知识库匹配用户输入内容时,返回的数据片段数量,数值越大返回的内容越多。 |
Minimum matching degree |
最小匹配度。Bot 在调用知识库匹配用户输入内容时,会将达到匹配度要求的数据片段进行召回。如果数据片段未达到最小匹配度,则不会被召回。 |
Call method |
知识库的调用方式。 Automatic call:自动调用。每轮对话将自动从所有关联的知识库中匹配数据并召回。 On Demand call:按需调用。你需要在 Persona & Prompt 中提示 Bot 调用 RecallKnowledge 方法,以约束 Bot 在指定时机从知识库内匹配数据。 |
- 在 Persona & Prompt 区域,为 Bot 声明知识库的具体使用场景。
- 在 Preview 区域调试 Bot 能力。支持单击 Run completed,查看知识库命中并召回的分片内容。
在工作流内使用 Knowledge 节点
在工作流中的 Basic nodes 列表内添加 Knowledge 节点,成为工作流中的一环。更多信息,请参考使用工作流。
Last updated: 2024/2/26 10:58