AI技术在企业知识管理中的应用,是一个既普遍、又基础、且很有价值的场景,有些AI厂商已经有了专门的知识库产品,通过本地部署、模型微调等手段,确保企业私有知识的安全性,和文档效果的精确性。不过,如果你的企业还没有想好要不要做这个投入,那么可以先通过扣子等Agent平台,搭建一个企业知识官的Agent智能体试试看。也不仅仅是企业,个人也可以给自己配置一个知识问答的Agent,把自己过往的一些文档、学习资料等放到知识库中,作为资料查询、个性化创作的助手。今天就来分享一个用扣子制作的知识问答Agent实例。 01 场景需求及痛点分析
随着公司规模变大、人员增多,管理的复杂度提高,公司需要建立大量的管理文档,如部门职责、岗位说明书、各项管理制度流程、体系文件、业务操作手册、系统操作手册、产品说明书、技术文档等。这些文档构成了公司的知识库。如何让员工充分掌握和利用企业知识,来提高工作质量和效率呢,过去企业无外乎以下这么几种方式:方式一:打印成册,或者网盘共享电子版文件,分权限提供员工查询使用。
方式二:利用公司的OA软件的文档管理功能,将公司的各类文档分门别类上传,供员工查阅或下载。
方式三:部署专门的知识管理软件,按照文档的类型按要素管理,如组织架构、职责文件、流程文件、制度文件、表单文件、SOP等,根据组织架构进行要素的组合关联,然后根据员工的权限自动推送或查询有关文件。w
无论以上哪种方式,实际上都是企业知识的被动管理,存在以下两个痛点。
痛点一:查询效率低、体验感差。
痛点二:检索不智能,检索质量不高。
要将AI用于企业知识库问答,单纯用提示词与大模型工具对话是实现不了的,必须通过Agent智能体的方式来设计。接下来跟大家分享如何用扣子(COZE)来设计一款企业知识官Agent,并且将Agent发布到飞书,成为一个知识问答机器人,随时随地回答员工的个性化公司知识问答需求。企业知识问答 Agent 的运行流程图如下所示,可以不用设计工作流,所以还是比较简单的一款智能体,大家可以照着试试看。我们在扣子上创建一个新的Agent智能体,完成基本描述和图标生成,选择单Agent(LLM模式)。接下来,我按照创建知识库、设置人设与回复逻辑、大模型参数设置几个重点模块,分别介绍智能体的开发过程。
知识库可以通过Agent编排页面创建,或者提前在资源库页面中创建。知识问答Agent配置了3个知识库,下图所示。其中,1个文本格式的知识库——CZ集团总部制度汇编,两个表格格式的知识库——CZ集团制度清单-按类别和CZ集团制度清单-按部门归口,这两个表格格式的知识库的内容相同,一个以制度类别为主索引,另一个以部门归口为主索引。选择本地文件上传,在上传成功后,需要进行如下图的分段设置。如果你的文档是可编辑的,那么建议选择自定义方式设置分段规则。系统默认的分段方式很可能会将文档相关的内容切割到不同的片段中,影响检索质量。
我采用了自定义方式,分段标识符设定为“###”。注意,自定义的分段标识符一定要在源文档中输入,否则系统检索不到这个自定义的分段标识符。具体源文档设置方式、注意事项,及分段后的效果展示,可在AICX星球查看(文末)。在扣子上,表格文档和文本文档有各自的知识库创建流程。表格格式的知识库的设定方法与文本文档有很大区别。表格由行和列构成,呈现的是结构化的信息,如果表格设置不当,大模型就难以准确地读取和匹配单元格之间信息的关联关系。
一定要对表格的源文件进行预处理,目的是将表格格式调整为扣子表格格式的知识库能识别的要求,有以下几点需要关注。
第一,表格的标题行最好为单行,不做合并单元格处理,接下来的一个重要环节是设置知识库检索参数,包括调用方式、搜索策略、最大召回数量、最小匹配度、回复及来源设置等,按下图设置。以下是知识问答Agent的人设与回复逻辑,也就是提示词。首先,定义角色。其次,明确其工作流程,其中工作流程中的第二步告知其从知识库中检索答案,第三步模型回复对输出内容做了规定,输出包括回复答案和制度名称及编号,以便于了解内容出处,对于查询不到信息的情况的回复做了说明。最后,明确其只能基于知识库回答。
扣子人设与回复逻辑设置(Agent的提示词),可在AICX星球查看(文末)。 |
对于企业制度问答来说,一个主题的对话轮次通常不会太多,但是输出的文字篇幅会偏长,所以按下图的参数进行设置,选择平衡模式,携带上下文轮数为10,最大回复长度为2000token。企业知识问答通常是要在企业社交工具中使用,所以我们发布Agent时,可以只选择将其发布到飞书。发布后,可以在飞书的应用中心搜索到刚刚发布的Agent,如下图,点击“应用中心”选项,在搜索框中输入“知识官”就会自动弹出刚才开发完成的Agent。它就像一个机器人好友,可以直接与它对话。 03 企业知识问答Agent运行效果
在飞书对话中,我询问:“”行政管理类制度有哪些?“”Agent列出了8个行政类制度,包括制度名称和编号,与源文件对比,行政类制度的确是8个,输出的格式也遵循了提示词的要求。再来问一问具体制度的内容,我询问:“请假制度是怎样的?”首席知识官给出了以下回复。根据“CZ集团总部制度汇编”中的内容,CZ集团的请假制度如下:
部门经理、行业管理公司经理、分子公司经理(正职)请假
(一)部门经理、行业管理公司经理因事因病请假或因公外出,一天以内(含一天),需向集团总经理口头请假,经批准后方可离岗。
总体而言,我开发的这个公司首席知识官Agent对大部分有关CZ集团制度内容的回复还是质量比较高的,对偶尔会出现回答不全面的情况。
知识问答智能体设计,看似简单,但其实要得到一个回复全面性好、准确率高的智能体并不容易,有以下几个关键点大家要注意:
第一,源文件的结构是否易于AI理解,举个例子,一个文档中有图片、分栏、页眉页脚、表格、代码、注释等各种形式的内容,和一篇纯文字的文档相比,大模型肯定对后者文档的解析理解更准确。所以对源文件的格式清晰、内容结构优化很重要。第二,分段规则科学设计,最好做自定义分段符设计,特别是对于回复质量要求比较高的知识库应用场景。第三,大模型的选择也很重要,同样的知识库配置,不同的大模型其输出效果也有明显差异,这个需要多次验证测试。其实,也可以通过工作流的方式来设计知识问答Agnet,通过知识库节点+大模型节点,分别执行检索任务,和回复任务,效果也不错。