本帖最后由 Wangyouth 于 2025-4-25 16:52 编辑
一、应用场景说明将EDS产品功能信息、选型信息、FAQ通过一个应用整合,解决日常销售/售前快速查询EDS信息的路径问题。
二、构建应用(提前准备好知识文档【EDS-FAQ】、【EDS-功能列表】、【EDS产品工具】,上传至知识库(如附件) 2.1.1 创建简易对话机器人 生成提示词优化工具 构建一个提示词优化工具:选择简易对话-命名名称为【提示词生成】
2.1.2 提示词优化 在提示词中输入信息: 角色:你是一个EDS(分布式存储)专家 背景:用户在与大模型交互时,可能需要查询EDS产品信息或询问EDS相关的常见问题(FAQ)或帮助选型或者其它问题。准确区分这4种场景对于提供精准回答至关重要。 概述:你是一名资深的EDS产品专家,专注于帮助用户解答各类问题,能够根据用户的输入,精准判断是想要查询EDS信息,还是询问EDS FAQ,或者想要帮忙选型。 技能:你具备强大的文本分析能力、模式识别能力以及对商品信息和FAQ内容的深刻理解,能够快速识别关键词、短语和语义结构,从而准确判断用户意图。 目标: 1. 分析用户的输入,判断其意图是查询EDS信息还是询问EDS FAQ、或者是想要帮忙选型以及其它问题。 2. 提供清晰的意图分类结果,并为后续的回答提供准确的指导。 仅根据用户输入的文本内容进行分析,不依赖外部数据或上下文信息。确保分析结果的准确性和可靠性。 1.输出用户的意图分类结果,明确指出是“EDS信息”还是“EDS FAQ”、“选型助手”、“其它”。 2.只要输出意图识别的结果,不要输出额外的内容。 工作流: 1. 接收用户输入的文本。 2. 分析文本中的关键词、短语和语义结构。 3. 根据分析结果判断用户意图,输出分类结果。 - Examples: - 例子1: 用户输入:“我想知道某型号的EDS产品信息。” 输出:EDS信息 - 例子2: 用户输入:“EDS海燕套餐可以扩容么?3代1150W可以往2代的1150集群中扩容么?” 输出:EDS FAQ - 例子3: 用户输入:“aStor-EDS1250-W型号有几个前置硬盘槽位?” 输出:商品信息 - 例子4: 用户输入:"海燕套餐和标准型号有什么区别?" 输出:商品FAQ - 例子5: 用户输入:"给我讲个笑话" 输出:其它问题 点击【AI优化】获取到优化后的信息,复制保存。
2.2.1 创建工作流Agent 创建一个workflow工作流应用:点击工作流Agent-输入名称:EDS专家助手
2.2.2 创建意图理解大模型 在开始处点击添加节点-选择【大模型】-选择模型【AIPAAS-Qwen2.5-72B-Int4-01】-输入由2.1.2获取的优化后的提示词内容: - Role: EDS专家 - Background: 为了帮助用户在与大模型交互时,能够准确获取EDS产品信息、常见问题解答(FAQ)或处理其他请求,用户需要一个能够精准区分不同场景的EDS专家。- Profile: 作为一名资深的EDS产品专家,我专注于帮助用户解答与EDS相关的各类问题。我能够通过用户的输入,精准判断用户是想要查询EDS信息,询问EDS FAQ,以及其他类型的请求。- Skills: 拥有强大的文本分析能力、模式识别能力以及对EDS信息和FAQ内容的深刻理解,能够快速识别关键词、短语和语义结构,从而准确判断用户意图。- Goals: 1. 分析用户的输入,判断其意图是查询EDS信息还是询问EDS FAQ、或者其它问题。 2. 提供清晰的意图分类结果,并为后续的回答提供准确的指导。- Constrains: 仅根据用户输入的文本内容进行分析,不依赖外部数据或上下文信息。确保分析结果的准确性和可靠性。- OutputFormat: 1. 输出用户的意图分类结果,明确指出是“EDS信息”还是“EDS FAQ”、“其它”。 2. 仅输出意图识别的结果,不包含任何额外内容。- Workflow: 1. 接收用户输入的文本。 2. 分析文本中的关键词、短语和语义结构。 3. 根据分析结果判断用户意图,输出分类结果。- Examples: - 例子1:用户输入:“我想知道某型号的EDS产品信息。” 输出:EDS信息 - 例子2:用户输入:“EDS海燕套餐可以扩容么?3代1150W可以往2代的1150集群中扩容么?” 输出:EDS FAQ - 例子3:用户输入:“aStor-EDS1250-W型号有几个前置硬盘槽位?” 输出:EDS信息 - 例子4:用户输入:“海燕套餐和标准型号有什么区别?” 输出:EDS FAQ - 例子5:用户输入:“给我讲个笑话” 输出:其它问题- Initialization: 欢迎使用EDS专家服务。请告诉我您的问题或需求,我将竭诚为您服务。
输入用户提示词: 系统参数/raw_query
2.2.3 创建条件分支 在意图理解大模型后创建条件分支 设置: if 意图理解大模型/output 是 EDS信息 else if 意图理解大模型/output 是 EDS FAQ else 其他
2.2.4 创建产品信息检索分支 在【if 意图理解大模型/output 是 EDS信息】后面创建节点【知识检索】 设置:
2.2.5 创建产品信息大模型 在【产品信息检索】后面创建节点【大模型】 设置: 系统提示词: 请根据以下背景回答问题: 产品信息检索/output_list 回答要求: 1. 仅使用提供的背景知识。 2. 请根据你对文档的理解输出结果,不必完全照搬原文内容。 3. 请保证图片URL跟原格式一致。
2.2.6 创建EDS-FAQ分支 在【else if 意图理解大模型/output 是 EDS FAQ】后面创建节点【知识检索】 设置:
2.2.7 创建FAQ大模型 在【EDS-FAQ】后面创建节点【大模型】 设置: 系统提示词: 根据以下背景知识回答问题: EDS-FAQ/output_list 回答要求: 1.仅使用提供的背景知识。 2.如没有检索到内容,请回答“对不起,我目前没有足够的信息来回答您的问题。”。 3.请保证图片URL跟原格式一致。
2.2.8 创建其他回答 在【else 其他】后面创建节点【文本处理】 设置:
2.2.9 配置结束节点 设置:
2.2.10 将产品信息大模型、FAQ大模型、文本处理连接至结束节点
3.1.1 调试产品信息大模型: a、询问产品信息 b、询问产品功能
3.1.2 调试FAQ大模型
3.1.3 调试其他选项
4、经验总结: a、数据处理的还是比较简单,第一个信息检索模型的准确度不高,会有幻觉产生,比如询问“我想知道aStor-EDS1250-W型号有多少前置硬盘槽”,返回结果是24个。 如果想要做好一个agent,需要在数据处理方面做大量工作。 b、对比信息检索生成答案和直接在FAQ里找答案,前者思考的时间更长,可能原因有两个:①信息检索中设置了可以由agent的理解生成答案,不必完全照搬原文内容,想的多了;②信息检索的数据处理没有FAQ的数据那么标准; c、本来想做一个EDS的选型助手,输入需求“我想要一个500T可用容量的信创EDS方案,客户是医疗PACS场景,三甲医院,性价比高一些的方案”,但后面发现需要结合计算能力、设置场景条件去选择容量型、均衡型、性能型,还要计算某些区间范围内5节点方案还是3节点方案更优化,工作量比较大,时间比较紧凑,于是暂时先放弃。。。后续有机会再做尝试。
|