华为云码道(CodeArts)代码智能体具备基于知识库的问答增强能力,支持开发者将企业内部文档、技术资料等知识内容上传至知识库,并作为上下文参考进行智能问答。通过融合企业专属知识,AI生成的回答更精准、更贴合实际业务场景,显著提升开发效率与技术决策的准确性。
约束与限制
只有项目管理员和项目经理才可以执行如下操作。如果没有权限,请参考在CodeArts项目中修改系统角色的权限进行配置。
- 编辑和删除知识库集合。
- 删除知识库和知识库文件,且需先删除知识库文件后才能删除知识库。
快速了解知识库
知识库主要应用于华为云码道插件的单元测试生成、代码续写和研发知识问答等场景,可显著提升智能体在这些任务中的准确性和响应效率。
通过可视化的方式,展示知识库从用户提问到答案返回的完整处理流程,涵盖信息检索、逻辑推理等关键环节,便于您全面掌握其工作原理。
图1 知识库工作原理
- 根据业务需要将知识按类型整理划分,如通用知识、领域知识和个人知识。
- 新建知识库集合,用于管理知识库。
- 创建知识库并上传知识文件,对知识进行切片、向量化处理后入库存储。
- 在华为云码道中引用知识库,检索知识库信息,辅助生成更准确。
在使用知识库前,建议先了解以下基本概念,助您快速上手。
表1 基本概念
|
基本概念 |
概念说明 |
|
知识库集合 |
知识库集合是将用户上传的数据进行切片、模型向量化处理、索引过滤后入库形成的知识集合,按照实际使用维度进行划分。知识库集合本身不存储知识,只用于集中管理知识库。 |
|
知识库 |
知识库用于存储和管理各类知识文档,支持按知识类型和来源进行分类划分,有助于提升信息组织的清晰度,增强知识的可读性与可检索性。 |
|
文件 |
文件是知识的载体,知识从导入到检索,需配置正确的加载切片规则、选择合理的向量化模型、设置匹配的索引过滤条件与检索策略,才能确保端到端的检索效果。 |
|
切片 |
切片是知识文件经过加载与切分后形成的文本块,是向量化、存储与召回的基本单元。 |
新建知识库
- 新建知识库集合。
知识库集合用于集中管理多个知识库。在创建知识库之前,须先创建一个知识库集合。
- 在知识库集合管理页面,单击“新建”,参考表2完成参数配置。
图4 新建知识库集合
表2 新建知识库集合
|
参数 |
说明 |
|
知识库集合名称 |
新建知识库集合的名称。
名称不能以下划线开头,支持中文、英文、数字、下划线(_)和中划线(-),总长度不得超过18个字符。 |
|
可见范围 |
控制哪些成员可以访问,支持按个人、项目、租户三个维度控制知识库集合访问权限。
- 个人可见:仅当前用户可见,拥有该知识库集合的所有权限。
- 项目可见:知识库集合关联的项目下所有成员可见,对知识库集合的操作权限由项目角色而定。
- 租户可见:租户下所有成员可见,对知识库集合的操作权限由成员租户级角色而定。
|
|
关联项目 |
“可见范围”选择“项目可见”时需选择知识库集合关联的项目,不可更改。 |
|
标签 |
标记知识库集合,最多可以创建10个标签。 |
|
描述 |
新建知识库集合的描述信息,完善的描述有助于华为云码道准确地理解内容范围,提升检索匹配的精准度。 |
- 单击“确定”,完成知识库集合的创建。
在知识库集合列表中,可查看到已创建的知识库集合。
图5 查看已创建的知识库
- 新建知识库。
基于已创建的知识库集合创建知识库,并根据知识的类型和来源进行分类,确保信息结构清晰、易于检索。
- 在知识库集合列表中,单击已创建的知识库集合,进入知识库集合详情页面。
- 单击“新建知识库”,参照表3完成基本信息配置及文件上传。
图6 新建知识库

表3 新建知识库参数说明
|
参数 |
说明 |
|
知识库名称 |
知识库的名称。
名称不能以下划线开头,支持中文、英文、数字、下划线(_)和中划线(-),总长度不得超过32个字符。 |
|
知识类型 |
支持“文档”和“结构化格式”两种类型。
- 文档:主要包含文本内容,可以包括文章、报告、书籍等,如TXT、DOCX、ZIP格式文件。
- 结构化格式:仅支持JSON格式文件。
|
|
知识库描述 |
请输入知识库描述,介绍知识库中包含的内容,详细的描述会用于指导智能体更准确地调用知识库。 |
|
数据来源 |
包括“本地文件”和“代码”两种类型。 |
|
文件 |
“数据来源”选择“本地文件”时,请选择对应文件。
- “知识类型”为“文档”时,支持TXT、DOCX、PDF、MD、CSV、XLS、XLSX格式文件,单个文件最大支持20MB,单个知识库配额为50MB。
- “知识类型”为“结构化格式”时,支持JSON格式文件,单个⽂件最大支持20MB,单个知识库配额50MB。
|
|
代码 |
“数据来源”选择“代码”时,请选择对应代码文件。支持JAVA、PYTHON、C、C++、VUE文件的ZIP格式,单个文件最大支持20MB,单个知识库配额为50MB。 |
- 单击“下一步”,参考表4完成入库信息的配置。
图7 入库配置
表4 入库配置参数说明
|
参数 |
说明 |
|
Embedding模型 |
选择Embedding模型,对上传的文档进行向量化,当前提供以下模型可供选择:
- m3e-base:该模型适用于中英文文本的通用型768维度的嵌入模型。
- bge-large-zh-v1.5:该模型适用于检索、分类、聚类或语义匹配等任务,目前仅支持中文文本。
- paraphrase-multilingual-MiniLM-L12-v2:该模型适用于中英文文本,在文本相似度计算中表现优异,模型维度364。
- VESO-v1.3:该模型在代码数据向量化、代码搜索任务中表现突出。
|
|
切分器 |
不同的切分器的切片方式和结果不同,在不同的语言场景下可以选择不同的切分器,当前支持以下切分器。
- 基于段落的切分器(默认使用):按照两个连续的换行符(\n\n)分割或文本段落结构分割。
- 基于行的切分器:按照换行符(\n)分割。
- 基于句子的切分器(适用于英文文本):将文本按照英文句子分割。
- 基于字符的切分器:逐个字符(含空白字符)分割。
|
|
分段预计长度 |
分片长度的取值范围为50-1200,默认值为1000。 |
|
分段重叠长度 |
当前分片与上一个分片重叠的文本长度,取值范围0到分片的长度,默认值为0。 |
|
子切分器 |
切片长度超过最大长度时应用子切分器。当前支持以下切分器:
- 基于字符的切分器(默认使用):逐个字符(含空白字符)分割。
- 基于句子的切分器(适用于英文文本):将文本按照英文句子分割。
- 基于单词的切分器(适用于英文文本):将文本按照空白字符分割。
|
- 单击“确定”,完成知识库的创建。
在知识库列表中,可查看到已创建的知识库。
图8 查看已创建的知识库
在上下文中引用知识库
- 参考快速启动操作,登录华为云码道。
- 在聊天界面的输入框中,将模型切换为“智能问答”。
- 在聊天界面的输入框中,单击符号“#”,选择“Knowledge Bases”。
图9 选择Knowledge Bases
- 在Knowledge Bases列表中,选择1中新建的知识库集合(如个人知识库集合)。
图10 选择知识库集合
- 在目标知识库集合中,选择2中创建的知识库(如服务介绍文档),将知识库添加到上下文。
图11 选择知识库
- 知识库添加后,即可基于该知识库发起会话。
图12 基于知识库发起会话