应用¶
应用是指基于 LLM 大语言模型构建的实际场景应用,分为简易配置和高级编排两种类型,并支持全屏模式和浮窗模式嵌入到第三方 Web 应用系统以及接入企业微信、钉钉、飞书、公众号等应用,满足各类发布需求。
友情提示:社区版支持应用的最大数量为 5。
1 创建简易配置应用¶
点击【创建应用】,输入应用名称以及应用描述,选择【简易配置】,点击【创建】,进入简易配置应用设置页面。
左侧为应用信息,右侧为调试预览界面。
- 应用名称:提问时对话框的标题和名字。
- 应用描述:对应用场景及用途的简要描述。
- AI模型:可选择在【系统设置】-【模型管理】中添加的大语言模型,也可直接添加。
- 角色设定:通过给模型指定一个特定的角色或身份,来指导模型的输出更加符合特定的场景或任务需求。
- 提示词:系统默认有智能知识库的提示词,用户可以自定义通过调整提示词内容,可以引导大模型聊天方向,该提示词会被固定在上下文的开头。可以使用变量,例如:{data} 是引用知识库中已知信息,{question}是用户提出的问题。目前可针对是否引用知识库设置不同的提示词。
- 历史聊天记录:大模型提交当前会话中最后 N 条对话内容,否则仅向大模型提交当前问题。
- 关联知识库:用户提问优先在关联的知识库中检索分段,引用分段生成提示词发送给大模型进行询问。若未关联知识库或未匹配到分段内容,则默认将用户问题发送给大模型进行询问。知识库可设置检索方式、知识库的相似度,引用分段数 Top-N 和最大引用字符数、无引用知识库分段时的回答策略以及是否进行问题优化等。
- 开场白:打开对话时,系统弹出的默认引导说明。支持 Markdown 格式,[-]后的内容为快捷问题,一行一个。
- 语音输入:在语音输入完成后会转化为文字后再发送提问,需要语音识别模型的支持。
- 语音播放:将大模型生成的回答内容转换为语音进行播放,需要语音合成模型的支持。
应用信息设置完成后,可在右侧调试预览中进行提问测试,调试过程不计入对话日志。 点击【保存并发布】后,应用设置才生效。
2 创建高级编排应用¶
点击【创建应用】,输入应用名称,选择【高级编排】,点击【创建】,进入工作流编排页面。
新创建的高级编排应用会默认生成简易工作流,可以根据自己的需求进行自定义编排,点击发布后生效。
注意:
- 画布上的节点必须在工作流程中,不能有流程外的孤立节点,否则在发布时会校验失败。
- 每个节点可以根据节点的用途进行重命名,双击节点名称即可重命名,但同一个工作流编排中节点名称不能重复。
- 连线的后置节点可以引用前置节点的输出参数,如果节点名称变更,需要重新复制变量,参数引用方式是
{{节点名称.变量名称}}
。
2.1 添加组件¶
每个工作流都有基本信息与开始两个基础节点:
- 基本信息:应用的基本信息设置节点,如应用名称、描述、开场白等设置,每个应用只有一个基本信息节点,不能删除和复制。
- 开始:工作流程的开始,每个应用只能有一个开始节点,不能删除和复制。
点击右上角的【添加组件】,可以点击或拖拽到画布进行工作流编排。以下是每个组件的用途说明:
- AI对话:与AI大模型进行对话节点,可以有多个。
- 知识库检索:关联知识库,检索与问题相关分段的节点。
- 问题优化:AI对话的一种,设定了默认的角色和提示词,根据上下文优化问题。
- 判断器:根据不同条件执行不同的节点。
- 指定回复:直接指定回复内容。
- 多路召回:使用重排模型队多个知识库的检索结果进行二次召回。
2.1.1 开始¶
节点说明:工作流的开始节点,有且唯一,不能删除和复制,问答页面输入的问题会作为该节点的输出参数{question},后续节点如需引用可以复制输出参数或选择变量:开始节点->用户问题
。
2.1.2 知识库检索节点¶
节点说明:如果应用需要关联知识库,则需要在编排中添加知识库检索节点,选择知识库、设置检索参数、选择检索的问题。
知识库检索节点输出参数说明:
- 检索结果的分段列表 {paragraph_list}:数组类型,指根据检索问题、检索参数进行检索后命中的分段列表,包含了分段的所有属性;
- 满足直接回答的分段列表 {is_hit_handling_method_list}:数组类型,指根据检索问题、检索参数进行检索后命中的分段中满足直接回答的所有分段列表,包含了分段的所有属性;
- 检索结果 {data}:字符串类型,指根据检索问题、检索参数进行检索后命中的分段内容;
- 满足直接回答的分段内容 {directly_return}:字符串类型,指根据检索问题、检索参数进行检索后命中的分段中满足直接回答的所有分段内容。
2.1.3 AI 对话节点¶
节点说明:如果应用需要与AI大模型进行对话,则需要在编排中添加 AI 对话组件,选择 AI 模型,设置提示词,提示词可以引用前置节点的参数输出,如:可以引用前置知识库检索的检索结果和开始节点的问题变量。
AI 对话节点输出参数说明:
- AI回答内容 {answer}:AI模型返回的内容。
2.1.3 指定回复节点¶
节点说明:指定输出文本内容,如没有在知识库查询到关联内容时,可以指定回复内容;支持指定输出变量,如在知识库查询到的相关内容满足直接回答的要求,可以直接选择该变量,系统会自动转化成字符串进行输出。
指定回复节点输出参数说明:
- 内容{answer}: 指定回复输出的内容。
2.1.4 判断器节点¶
节点说明:根据不同的条件判断执行不同的分支,每个分支一个输出,每个分支必须有后置执行节点。
判断器节点输出参数说明:
- 分支名称{branch_name}:根据条件判断执行分支的分支名称。
2.1.5 多路召回节点¶
节点说明:根据需要重排的内容、检索问题以及检索参数进行多路召回。
多路召回节点输出参数说明:
- 重排结果列表 {result_list}:数组类型,指根据重排后的结果列表。
- 重排结果 {result}:字符串类型,指根据检索参数后的重排结果。
2.2 使用场景举例¶
(1) 问题分类回答:提出问题后,先对问题进行分类,然后按照问题类别查询不同的知识库。要求如下:
- 如果分类结果是打招呼,则指定回复内容;
- 如果分类结果是售前问题咨询,则查询售前问题知识库;
- 如果分类结果是售后问题咨询类,则查询售后问题知识库;
- 如果分类结果是其它问题,则直接问 AI 模型。
实现以上场景的工作流编排如下:
(2) 敏感词检索:提出问题后,先判断用户的问题是否存在敏感词,如果存在敏感词,就指定回复的内容,如果不存在敏感词就继续检索知识库。
要想实现该需求,需要执行以下几步:
第一步:在知识库中维护一个敏感词知识库,把敏感词添加到问题中,然后关联一个指定敏感词的分段;
第二步:在开始节点后,增加一个知识库检索节点命名为:敏感词检索,选择知识库:敏感词知识库;
第三步:在知识库检索节点后,增加一个判断器,判断敏感词检索的检索结果是否存在敏感词,检索结果不为空,则说明存在敏感词,否则则不存在敏感词可以继续检索知识库,进行后续流程。
2.3 调试¶
点击【调试】后,先校验流程是否合规,校验通过后可在当前页面进行对话测试。
2.4 执行详情¶
在调试对话框中进行提问,AI回答完成后,会显示【执行详情】,点击【执行详情】后,在弹出执行详情对话框中可以查看每个流程节点的执行状态、耗时以及其它执行信息。
2.5 保存¶
当前系统每隔 1 分钟自动保存到本地,发布成功后将配置同步到后台数据库。
2.6 发布¶
点击【发布】后会校验当前工作流是否符合规则,符合规则将成功发布,否则发布失败。发布成功后,所有节点配置修改才在问答页面中生效。
3 复制应用¶
在应用列表,点击【...】在弹出的菜单中,点击【复制】子菜单,对应用进行复制。
4 删除应用¶
在应用列表,点击【...】在弹出的菜单中,点击【删除】子菜单,对应用进行删除。
注意: 应用删除后不可恢复,请谨慎操作。