创建知识库
知识库是一个组织、存储及管理知识的系统,包括文档、数据库、图表、表格等多种形式的信息的分类、整理和归纳,可以帮助用户组织和管理大量的信息,以便快速访问和使用,平台为用户提供了创建并管理知识库的能力,且创建的知识库启用后可在创建Agent时引用。
前提条件
- 通过OBS接入数据时,操作账号需获得OBS(对象存储服务)只读权限,具体操作请参见对其他账号授予桶的读写权限。
- 需具备充足的知识库容量包资源(包含OBS存储配额和向量库存储配额,两者比例为5:1),每个租户默认1G的向量库存储配额,默认配额用完后,请参考购买AppStage购买知识库容量包。
- 需要具备AI原生应用引擎管理员或开发者权限,权限申请操作请参见AppStage组织成员申请权限。
创建知识库
- 在AI原生应用引擎的左侧导航栏选择“知识中心 > 知识库”,单击“创建知识库”。
- 在“创建知识库”页面,参照表1进行基础配置,并根据选择的数据来源进行源数据接入配置或添加知识数据集。
表1 知识库基础配置参数说明 参数名称
参数说明
知识库名称
自定义知识库的名称,支持中英文、数字、下划线(_),长度2-50个字符,以中英文、数字开头。
知识库描述
知识库的相关信息描述。
数据来源
知识库的数据来源。
数据类型
当数据来源为“接入源数据”时,配置此参数。
支持接入的源数据类型:
- 文档:支持.pdf、.txt(只支持UTF-8)、.csv(只支持UTF-8)、.xlsx、.docx、.pptx、.html、.json、.xml格式,单个文件最大为10M,总上传大小最大为500M。
- 图片:支持.png、.jpg、.jpeg格式,单张图片最大为10M,总上传大小最大为200M。
- 图片-摘要:支持本地文件上传.png、.jpg、.jpeg格式,需对图片填写摘要信息,单张图片最大为10M,总上传大小最大为300M。
- 视频-摘要:支持本地文件上传mp4、webm格式,需对视频填写摘要信息,单个视频最大为100M,总上传大小最大为300M。
表2 接入源数据参数说明 参数名称
参数说明
数据接入
数据来源
选择数据集的数据来源。支持以下两种来源:
- 本地上传
- OBS接入
说明:
仅支持使用区域位置为北京四的OBS桶接入数据。
数据文件
当“数据来源”选择“本地上传”时,需配置此参数。
单击“文件上传”选择本地文件进行上传,支持上传的文件类型请参考表1的“数据类型”。
文件类型
- 当“数据来源”选择“本地上传”时,无需配置,根据上传的文件自动识别文件类型。
- 当“数据来源”选择“OBS接入”时,选择接入的文档、图片的格式。
OBS桶名
当“数据来源”选择“OBS接入”时,需配置此参数。
在下拉列表中选择数据所在的OBS桶名。
OBS路径
当“数据来源”选择“OBS接入”时,需配置此参数。
在下拉列表中选择数据所在的具体OBS路径。
调度类型
当“数据来源”选择“OBS接入”时,需配置此参数。
可选如下两种类型:
- 一次性调度
- 定时调度
版本模式
当“调度类型”选择“定时调度”时,需配置此参数。
- 覆盖模式:每次调度成功,会覆盖唯一的版本。
- 多版本模式:当OBS桶内内容发生变化时,调度成功后会生成一个新版本。
执行时间
当“调度类型”选择“定时调度”时,需配置此参数。
设置每日开始执行的时间。
立即执行
当“调度类型”选择“定时调度”时,需配置此参数。
选择是否立即执行。
数据加工
数据清洗(可选)
数据类型选择为“文档”、“图片-摘要”、“视频-摘要”时,显示此参数。
在下拉列表可选以下(支持多选):
- 清除URL和邮件地址
- 清除连续的空格,换行符和制表符
- 清除不可见字符
- 规范化空格
- 清除乱码
- 清除网页标识符
- 清除表情
PDF预处理
当接入的文档类型为.pdf时,显示此参数。
- 提取PDF富媒体:提取PDF文件中的富媒体(图片、表格等)。
- 无处理
数据切分
数据类型选择为“文档”时,显示此参数。
为各文档格式选择一种切分方式,默认为自动切分。
- 自动切分:按照系统默认预设的规则和分隔符切分。
- 标题切分:按标题级别分块,分块后的内容按照自定义规则切分(仅docx格式的文档支持标题切分)。
- 自定义切分:自定义分段规则,分隔符,以及分段长度等参数。
标题层级深度
数据切分模式为“标题切分”时,需配置此参数。
例如文本包含最多5级标题,选择的标题层级深度为3,则会分别将所有3级标题下的内容合并成文本块,文本块作为一个整体执行后续切分操作。
标题保存方式
数据切分模式为“标题切分”时,需配置此参数。
- 多标题组合:多级标题用特定符号组合:1级标题-2级标题-3级标题-…-文本
- 最后一级标题:仅组合最后一级标题:最后一级标题-文本
文本切分策略
数据切分模式为“自定义切分”、“标题切分”时,需配置此参数。在下拉列表可选以下策略:
- 递归切分:所选分隔符先后作为优先级顺序,优先高的先切分,切分后大于最大长度的分段再用优先级低的分隔符切分,如此往复。
- 等价切分:分隔符无优先级,使用所选的所有分隔符切割,合并至分段最大长度。
分段分隔符
数据切分模式为“自定义切分”、“标题切分”时,需配置此参数。
设置用于文本分段的分隔符号。输入的分隔符不允许包含以下特殊字符*./$^?+以及带有\的分隔符,仅支持输入\n,用于表示按行分隔,其它诸如\\n,\n\n等均不支持。
包含分隔符
选择“包含”或“不包含”。
分段长度
数据切分模式为“自定义切分”、“标题切分”时,需配置此参数。
用于设置文本分段后每段的长度。
分段重叠长度
数据切分模式为“自定义切分”、“标题切分”时,需配置此参数。
用于设置当前分段开头与上一个分段结尾重叠部分的长度。
索引配置
向量化模型
选择向量化模型,向量化模型可以将文本数据转换为数值向量,常用于将文本转换为机器可以处理的形式,以便进行各种任务,如文本分类、情感分析、机器翻译等。
当前模型仅支持向量化512 token的内容,对应的中文约为512个字,英文与符号约900个字符,请注意分片长度。
长文本截断策略
- 截断模式:如果待向量化分片字段token长度超过向量化模型限制的token总数,则进行截断,取前top k个token。
- 智能模式:如果待向量化分片字段token超过向量化模型限制的token总数,首先利用对话大模型对超长分片进行重写,如果仍然超长则进入截断模式。
- 默认模式:如果待向量化分片字段token长度超过了向量化模型限制的token总数,则创建知识库失败。
高级配置
开启“高级配置”开关,可以对已切分好的分片,提取相关内容作为检索字段、文本过滤字段或向量化字段。
切片提取模式
数据类型选择为“文档”时,显示此参数。
- 智能提取:通过大语言模型提取分片内的问题与回答,效果由大模型决定。目前仅支持提取问题和答案,且耗时较长。
- 规则提取:按照用户配置的提取规则对切片内容进行提取。
切片内容示例
数据类型选择为“文档”时,显示此参数。
切片内容示例,用以测试切片提取效果。
切片提取配置
切片提取模式为“规则提取”时,配置此参数。
单击“添加提取字段”,配置如下参数:
- 切片片段名称:自定义切片片段名称。
添加的提取字段数量不超过10个,切片片段名称长度最多为20个字符,不允许重复,不允许为以下名称(大小写不敏感):file_name、file_id、path、order、document、base64、chunk,不能以ki_、ko_开头,仅可包含字母、数字、下划线,并且以字母开头。
- 提取规则:分隔符提取、按规则提取。
- 提取设置
- 当提取规则为“分隔符提取”时,例如:以分隔符;对切片进行分段,选择第2个分段,片段中不包含分隔符。
说明:
输入的分隔符不允许包含以下特殊字符*./$^?+以及带有\的分隔符,仅支持输入\n,用于表示按行分隔,其它诸如\\n,\n\n等均不支持。
在填写“选择第{{片段序号}}个片段”时,如果此处的片段序号超出片段数量,则提取内容为空。
- 当提取规则为“按规则提取”时,例如:从切片提取以项目名称:开头和以(完)结尾的片段,选择第3个片段,片段中包含开头,不包含结尾。
- 当提取规则为“分隔符提取”时,例如:以分隔符;对切片进行分段,选择第2个分段,片段中不包含分隔符。
切片提取效果
数据类型选择为“文档”时,显示此参数。
展示对切片内容提取后的效果。
检索配置
根据需要勾选如下参数:
- 向量化检索字段:对相应的切片片段进行向量化。
- 文本过滤字段:设置相应的切片片段为过滤字段。
- 检索返回字段:检索返回相应的切片片段。
- 单击“保存”,保存知识库的参数配置;或单击“保存并启用”,创建知识库完成并启用该知识库。
管理知识库
创建知识库完成后,可执行如下表4所示的管理知识库相关操作。
操作 |
说明 |
---|---|
查看知识库详情 |
在知识库列表中单击知识库名称,进入知识库详情页,可查看该知识库数据基础信息、调度历史,并支持进行知识库溯源。 |
命中测试 |
命中测试即测试检索的命中率。
|
修改知识库 |
不能修改已启用的知识库;可先停用知识库后再修改。
|
删除知识库 |
不能删除已启用的知识库;可先停用知识库后再删除。
|
启用知识库 |
在知识库列表中,对于“已停用”状态的知识库,可在“操作”列单击“启用”将其重新启用,启用后的知识库才可在创建Agent时引用。 |
停用知识库 |
在知识库列表中,对于“已启用”状态的知识库,可在“操作”列单击“停用”将其暂停使用。 |
执行知识库调度 |
在知识库列表中,选择“操作”列的 ,手动执行知识库调度。 |