大模型知识问答
大模型知识问答引擎通常是客户升级大模型对话系统的第一步,能够在客户现有的业务基础上提供非结构化知识问答能力、增强知识问答多轮效果、减轻必须依赖的知识构建和维护成本。
在当前大模型对话能力,还存在可控性、安全性、并发延时等问题的情况下,在多种知识结构基础上引入大模型生成式对话引擎,与原有的专业模型判别式对话引擎,形成双引擎机制。在以下方面提供产品化能力,具备可规模化交付条件:
- 效果优化,判别式对话引擎能力可作为生成式对话的干预模块,对于生成后不符合预期的问题、易投诉的服务流程仍可采用任务式对话、FAQ问答等能力人工配置后响应客户;
- 性能优化,对话中控串行调度,优先进入判别式对话引擎,当无法匹配或回复用户问题时,调用生成式对话引擎获取回复,提升对话效果的同时也可以降低生成式对话引擎的并发,减少机器资源投入;
- 服务兼容,对于已经建设智能客服的企业,可在现有的对话系统能力基础上,增强大模型生成式对话引擎能力,在升级优化期间,可保障现有服务质量不受影响。
创建方式
如果用户希望使用大模型文档问答的能力,可在新建租户时为用户创建的租户授权大模型能力中的文档问答,即可使用其能力。
知识管理
- 在知识管理页面,用户可通过构建不同的知识目录用于对文档的分类管理
-
通过文档的上传,完成知识的导入,导入完成后可用于后续的知识问答
- 支持单文件或者通过压缩包进行文件上传,文件格式支持pdf、 txt、 doc、 docx,单应用支持10000个文档,单文件支持50M;压缩包支持200M。
在知识管理-上传知识文档,配置文档分段与清洗策略
-
用于配置导入文档在文档解析过程中,对文档分段和清洗的策略
- 文本预处理:可以删除文本的特殊格式,如删除连续空格、换行、制表符、目录、页眉、页脚等。
- 分段标识符:用于将文档拆分成多个段落,再结合语义理解及分段最大长度完成段落分片,可选择换行切分、标点切分。
- 分段最大长度:用于设置模型分段时,拆分出分段的最大长度,分段最大字符范围为200-800。
- 分段重叠比:通过增加文档分段的内容重叠比(当前分段开头部分与上一个分段结尾部分重叠的文本长度百分比),减少知识检索到的片段缺失重要信息的可能性,以此来得到更好更全面的回答效果。
文档知识运营
当文档上传成功后,可在文档知识列表中查看到文档信息,在管理和运营文档时,支持对文档知识进行如下操作:
- 知识增强:文档上传学习成功后,知识增强默认关闭,可手动对文档进行开启知识增强;开启后模型对文档内容会启动增强学习,用于提升用户输入后辅助提升从文档中检索到相关文档内容的准确性,知识增强会消耗token。
- 分段设置:文档上传学习成功后,如分段结果不符合预期,可对文档分段设置进行调整,调整分段设置后,文档会进行重新学习,原学习内容全部会被覆盖,如当前文档已开启知识增强,会重新进行知识增强,消耗token。
- 重新学习:当文档状态为学习失败时,支持文档重新学习,即当文档因为一些原因导致模型学习失败时,通过重新学习触发模型重新对文档内容进行处理;
- 批量移动:当文档为学习成功时,支持文档进行移动,即当文档归类目录错误时,可通过批量移动进行在不同目录间的移动。
- 文档生失效:用于对文档状态进行管理,当文档生效时,在问答过程中文档内容可被进行查找用于进行问答;如果文档处于失效时,则失效的文档内容不会被用于问答。主要应用场景为文档有有效期,到期后不在参与问答;
- 导出:支持单个文档导出、按目录导出、全量导出,便于进行知识的维护和迁移;
- 删除:支持对文档进行删除,用于删除一些无效文档,或因导入错误上传的文档等情况;
当文档学习成功后,即可查看文档的详情,用户可点击文档的名称进入文档详情中,并对文档知识详情进行管理,文档详情内容分为3部分:文档原文、分段信息、分段知识
- 「文档原文」:即展示上传的文档原文
- 「分段信息」:即展示基于文档原文,模型根据配置的分段规则拆分出的一个个文档分段
支持新建分段,当出现分段不符合预期时,可点击新增分段,添加新的分段信息
新增分段时,在文档原文中会通过不同的底色展示当前文档内容的分段情况,便于识别已经分段的文档内容;新增分段时需在文档原文区域通过鼠标划选分段的内容(被选中的文本内容会高亮展示),点击确定完成新增分段内容的选择(这样可以记录下分段信息在文档中的位置,在问答中可以追溯回复答案的来源,让回复有据可依)
持对文档分段进行编辑,当出现分段内容不符合预期,需要增加、删除部分内容时,可对当前的分段内容进行修改,点击需要修改分段信息的「编辑」按钮,进入编辑态。
分段信息进入编辑状态后,在文档原文中会自动定位到当前分段在文档中的位置,并将分段的内容进行高亮展示;修改后的内容需在文档原文区域通过鼠标划选分段的内容(被选中的文本内容会高亮展示),点击确定完成分段内容的选择(这样可以记录下分段信息在文档中的位置,在问答中可以追溯回复答案的来源,让回复有据可依)。
在分段信息内容编辑框中也可进行内容的修改。建议只在模型基于分段内容总结回复有偏差时,仅需修改少许内容即可纠正回复结果时使用,大篇幅修改会导致分段信息和原文不符,在回复内容中展示来源时,会出现回复与来源不一致,造成不好的体验。
支持对文档分段信息进行删除,当分段信息不符合预期,存在需要多分段合并,或者将原分段拆分成多个分段时,可将分段删除,然后再进行新增或编辑;
「删除」操作有二次确认,确认后完成删除,删除后的分段信息不会用于问答;
支持对文档分段信息进行生失效,文档分段信息的生效失效主要应用的场景为在文档中某个段落内容有有效期,比如:某政策法规描述政策内容的有效期为2023-10-31,那对于这类场景,失效后的政策不希望再用于问答,那在保留分段信息的前提下,可以将分段信息设置为失效,失效状态的分段信息不会被用于问答(反之,生效状态的分段信息可用于问答),但可以通过知识搜索搜索到。
- 「分段知识」:分段知识用于在用户提问时进行问题相关性匹配,当匹配相似度达到设定的阈值,即可将分段知识所关联的分段信息给到大模型进行总结回复。
支持对分段信息进行新增、编辑、删除;
点击某个分段信息,即可展示此分段信息下的所有分段知识,分段知识的内容直接关系到问答的准确性,在整个文档知识问答过程中,系统接收用户提问的内容,然后在文档知识中搜索和用户提问相关的分段知识,获取大于等于文档检索置信度(在AI客服设置-知识库设置页面中配置)的分段知识所关联的分段信息输入给大模型,大模型基于用户提问和输入的分段信息进行总结回复;
当出现大模型回复错误,可通过对分段知识的调优完成badcase的干预;例如:用户某个提问,输入给大模型的分段信息不是预期分段信息,则可在预期分段信息关联的分段知识中增加用于提问的分段知识完成快速的干预优化;
知识增强
支持对文档进行知识增强的开启和关闭
- 开启知识增强
当文档状态为学习成功且知识增强状态为未开启状态时,可对文档开启知识增强操作
知识增强支持对单个文档进行操作,点击知识增强开关按钮
知识增强支持批量对多个文档进行操作,勾选要开启知识增强的文档,点击「批量操作-开启知识增强」
知识增强支持按目录进行操作,点击知识库工具栏的「知识增强」按钮。选择开启知识增强文档所在的目录,同时可选择要增加的知识类型,支持选择文档知识和web知识,操作后仅对未开启知识增强的文档知识/web知识进行增强学习
开启知识增强会消耗token,点击确定进行二次弹窗提示预计消耗的token(非实际消耗,仅供参考)
操作开启知识增强后,知识状态变为「知识增强中」,未增强完成时文档数据不可修改
- 关闭知识增强
当文档状态为学习成功且知识增强状态为开启状态时,可对文档关闭知识增强操作,知识增强关闭后不会删除已增强的知识,后续操作分段设置或对文档中的分段进行增加、修改,都不再进行知识增强
关闭知识增强支持对单个文档进行操作,点击知识增强开关按钮
知识增强支持批量对多个文档进行操作,勾选要开启知识增强的文档,点击「批量操作-关闭知识增强」
知识增强支持按目录进行操作,点击知识库工具栏的「知识增强」按钮。选择关闭知识增强文档所在的目录,操作后仅对开启知识增强的文档进行知识增强关闭操作
点击确定进行二次弹窗提示,点击确定完成操作
分段设置
文档上传且学习成功后,如果文档分段结果不满足要求,支持人工修改分段配置,进行重新分段
- 修改单个文档的分段设置
选择要修改分段设置的文档,点击操作区的「分段设置」按钮,弹出分段设置配置窗
默认展示当前分段设置配置的策略,可按需修改,修改完成后点击确定,所操作文档会进入重新学习,历史学习数据全部被覆盖;如果文档已开启知识增强,会重新进行知识增强,会消耗token
- 批量修改文档的分段设置
选择要修改的文档,点击「批量操作-分段设置」,进入到分段设置窗
- 分段设置默认配置,可按实际情况调整分段设置的策略配置,修改完成后,点击确定,所操作文档会进入重新学习,历史学习数据全部被覆盖;如果文档已开启知识增强,会重新进行知识增强,会消耗token。
批量编辑
批量编辑支持对选择的文档知识进行生/失效时间、发布时间进行快速批量编辑
选择要编辑的文档知识,然后点击「批量操作-编辑」按钮,即可对选择的文档知识进行批量编辑;
按需对选择的文档知识进行内容修改,修改完成后,点击确认更新修改的内容;如点击「取消」则不对选择的文档知识进行修改;
批量删除
批量删除支持对选择的文档知识进行批量删除操作
选择要删除的文档知识,然后点击「批量操作-删除」按钮,即可对选择的文档知识进行批量删除;
「删除」操作有二次确认,用户点击确定对选择的文档知识进行删除操作,点击取消不进行删除;
批量重新学习
「批量重新学习」支持对文档状态为学习失败的文档快速进行重新学习,选择状态为失败的的文档,点击「批量操作-重新学习」,即可对学习失败的文档进行重新学习(状态为:成功、学习中的文档不支持重新学习)
批量移动
「批量移动」支持对文档状态为学习成功的文档快速进行目录间的迁移,选择状态为学习成功的的文档,点击「批量操作-批量移动」,即可对文档进行移动
导出
支持知识按照目录、或者全量进行导出,点击「批量操作-目录导出」或「批量操作-全量导出」,二次确认弹窗确定后在任务中心创建新的导出任务,当任务执行完成后,点击下载即可。
知识问答设置
知识问答设置用于设置模型、知识检索以及其他回复设置
-
模型设置
- Temperature:控制模型生成文本多样性的参数。较高的温度值(例如1.0)会使生成的文本更加随机和多样化,而较低的值(例如0.2)会使生成的文本更加确定和保守。
- 人设:用于设置回复的人设。
- 回复风格:用于设置回复的风格,可自行创建风格。
-
自定义文档知识prompt:当文档知识问答的内置prompt⽆法满⾜业务诉求时,可通过⾃定义prompt来更好的满足业务诉求;如需在Prompt中进⾏⼈设和回复风格设定,建议通过提供的⼈设和回复风格变量去配置。
- 默认关闭,关闭时使用平台预置文档知识prompt,如果预置prompt无法满足业务需求,可开启自定义文档知识prompt,自行进行编排和测试
- 开启后可对prompt进行编排和测试
点击编排与测试,进入到prompt编排与测试窗进行操作
-
prompt编辑
-
在prompt编辑区进行prompt的编辑和修改,系统提供query、documents、persona、style 4个内置变量,其中query、documents为必填变量,persona、style可选,按实际情况将以上变量插入到prompt中(每个变量仅可添加一次,不支持用户自定义变量)。
- query:用户输入的提问
- documents:基于用户输入的提问从上传的文档知识中检索到相关性较高的文档分段内容
- persona:设定⼤模型回复时的⼈设定义
- style:设定⼤模型回复时的回复⻛格
-
-
prompt测试
- prompt编辑完成后可在变量设置与测试区域填写测试变量的内容
- query:输入要测试的提问
- documents:输入输入给大模型用于回答输入提问所需的文档分段内容,可手动填写或填写 - - query完成后点击自动填写,系统自动使用query从上传的文档中搜索到相关的文档分段内容用于测试
- persona:自动填充模型设置的人设内容设定,不可修改,如需修改请在模型设置中修改
- style:展示当前选择的风格配置,不可修改,如需修改请在模型设置中修改
填写完成后,点击测试稍等片刻,将会输出测试结果
测试完成符合预期后,点击应用完成prompt编排,如需生效到线上,请发布Agent
-
知识检索设置
- 文档检索置信度:用于筛选文档知识的置信度阈值,大于等于此阈值则被召回。置信度用于干预基于文档查询到的知识段落,设定的置信度越高,则要求对用户提问与片段的相似度越高,可能导致无法生成答案,反之设定的置信度越低,查询到的片段越多,可能影响回复的准确性,请谨慎修改!
- 文档检索分段数:用于设定与用户问题相关且置信度超过设定文档检索置信度的最大文档片段数量。
-
其他设置
-
可控范围回复:开启时,该应用仅会利用应用中添加的范围领域知识进行回答,对于范围外问题将回答您配置的兜底话术。
-
来源展示:开启时,大模型知识问答在对话测试中,会展示对应回复的来源文档以及脚注。
- 开关关闭:将不展示下图红框的内容
- 开关开启:开关开启后,可展示红框内的内容
-
对话测试
点击「测试」,选择要测试的bot
对话测试可用于模拟测试对话效果
- 对话过程中支持对大模型回复进行数据反馈,通过反馈可用于后续模型训练让大模型理解能力更强
- 支持展示回复来源,定位到文档段落原文,让回复有据可依
- 支持展示大模型回复的对话思维路径,作为运营调优的有力助手,同时支持对检索效果的快速干预和调优
- 原用户提问:展示用户输入的提问内容;
-
用户可能想问:大模型基于用户历史对话记录和问法,生成出用户可能想要问的问题;
- 当用户可能想问生成错误会影响信息检索搜索到内容的准确性,如错误可进行反馈点踩并输入用户真实想问的问题,可帮助我们后续进行模型迭代优化
-
「信息检索」:用来展示基于用户可能想问从文档中搜索到相关性(置信度:在知识库设置中可配置检索置信度阈值)最高的TOP N知识,文档知识片段用于给到大模型结合用户可能想问进行总结回复;
- 根据信息检索信息可判断基于用户可能想问检索召回的文档片段是否符合预期,如不符合预期可进行快速干预和调优
- 如检索召回的文档片段错误,可通过添加预期知识,搜索到期望检索到的知识,可将其添加为预期知识,完成快速的干预和调优;
- 如检索召回的文档片段内容缺失,可点击匹配信息,进入到文档详情,对文档分段进行调整;
- 因匹配知识点质量问题导致的文档片段误召回,可点击匹配信息,进入到文档详情中修改知识点,进行调优;
- 数据反馈:支持对检索信息点踩点赞,对于点踩信息的反馈可帮助我们后续对检索模型的优化
-
「回复生成」:即基于信息检索到的文档知识,大模型基于用户可能想问总结生成的回答
- 信息反馈:支持对生成回复点踩点赞,对于点踩信息的反馈可帮助我们后续对检索模型的优化
效果评测
效果评测是对大模型生成的结果和用户的答案进行比对,目的是了解该模型的准确率是否达标。
点击「模型结果管理-上传问题集」,按照模板上传问题,可基于上传的问题集使用大模型知识问答完成问答结果的批量生成,生成结果可下载。
使用生成的结果可以进行人工预标注修改,完成最后的效果测试集。按照测试集的模板要求完成测试集的构造
点击上传测试集,选择构建好的测试集文件,测试集字段说明:
- session:通过session来设定多个query是否为同一个会话,sessiond一样表示为一个会话
- 轮次:当session一致时,通过轮次来表示对话的顺序,轮次支持输入数字,在测试时按照轮次数字由小到大逐一发送给模型进行回复
- query:即输入给模型的问题
- 改写query:即在同一会话中当此轮次会话中的query缺省或使用代词了部分内容时,基于上下文补全用户完整的query问法。
- 定位文档:即query预期答案所在的文档名称,支持设置多个
- 检索片段:即query预期答案所在文档中的片段内容,支持设置多个
- 答案:即query回复的预期答案。
点击确定,在任务中心创建上传任务,上传结果可在任务中心查看,上传成功后,
在效果评测的列表中可查看到上传的评测集数据
进入详情中可进行基于测试集的效果测试和评测结果查看