# 技术实践案例
# 1. Prompt 最佳实践
# 1.1 起手式(立角色+述问题+定目标+补要求)
你是一个时间管理的培训师【立角色】,我想了解时间管理【述问题】,我想让你输出一个关于时间管理的ppt大纲【定目标】,格式为输出用markwown语言标记的代码【补要求】
# 1.2 少样本提示
有时 Prompt 可能不容易描述清楚,提供示例会更容易。
比如:我们让模型充当一个文本分类器,对用户的评价进行二分类,分类结果为:正面评价或者负面评价。
请根据以下分类的方式,帮我分辨用户输入文本的类别是正面评价或是负面评价,请直接输出:正面评价/负面评价。
请参考如下样例:
示例1:
用户输入:我昨晚去了这家餐厅,他们的食物和服务都令人惊艳。我绝对会再次光顾。
输出:正面评价
示例2:
用户输入:这款手机电池续航超长,拍照效果也很棒,非常满意!
输出:正面评价
示例3:
用户输入:快递延误了一周,包装还破损了,体验极差。
输出:负面评价
示例4:
用户输入:电影剧情精彩,演员演技在线,强烈推荐!
输出:正面评价
示例5:
用户输入:产品质量太糟糕了,用了一次就坏了,客服也不理人。
输出:负面评价
请回答如下问题:
用户输入:我上个月在这家西餐厅用餐,觉得还行,但不是特别惊艳。
输出:
# 1.3 CoT
CoT(Chain of Thought,CoT)是一种思维工具,通过逐步延伸和拓展一个想法,帮助人们进行更深层次的思考,并得出更复杂、更全面的结论。
核心概念:
- CoT 的核心思想是引导模型在生成最终答案之前,展示出其逐步推理的过程。
- 它模仿了人类解决复杂问题的方式:不是直接跳到结论,而是通过一系列中间的、可解释的逻辑步骤(“链”)来推导出答案。
- 这些步骤通常包括:理解问题、分解问题、调用相关知识、进行逻辑运算或推理、整合信息、得出结论。
# 1.3.1 zero-shot
在 prompt 中加上 Let's think step by step
或者 让我们一步一步分析思考
。
# 1.3.2 few-shots
在 Prompt 中提供几个包含详细推理步骤的示例。这些示例展示了“问题 -> 逐步推理 -> 最终答案”的完整过程。模型通过观察这些例子,学习在回答新问题时也生成类似的推理链。这是最常用、效果通常也更好的方式。
请解决以下数学问题。我会先给出几个示例及其详细的解题思路,然后请你解决最后的问题。
示例 1:
问题:小明有 15 个苹果。他吃掉了 3 个,然后又买了 2 袋苹果,每袋有 4 个。他现在一共有多少个苹果?
推理步骤:
1. 初始苹果数量:15 个。
2. 吃掉 3 个后剩余:15 - 3 = 12 个。
3. 买了 2 袋苹果,每袋 4 个:2 * 4 = 8 个。
4. 现在总苹果数:剩余苹果 + 新买苹果 = 12 + 8 = 20 个。
答案:20
示例 2:
问题:一个游泳池长 25 米,宽 10 米,深 2 米。如果每分钟能注入 5 立方米的水,注满这个游泳池需要多少分钟?
推理步骤:
1. 计算游泳池的容积(体积):长 * 宽 * 深 = 25 米 * 10 米 * 2 米 = 500 立方米。
2. 已知每分钟注水速度:5 立方米/分钟。
3. 所需时间 = 总容积 / 注水速度 = 500 立方米 / 5 立方米/分钟 = 100 分钟。
答案:100
现在,请解决这个问题:
问题:书店举行促销,所有书打 8 折。小丽买了一本原价 50 元的书和一本原价 30 元的书。她实际支付了多少钱?
推理步骤:
如果您对 Prompt 感兴趣,想了解更多 Prompt 知识,也可自行从以下几个学习网站学习。
名称 | 网站 |
---|---|
中文 Prompts 精选 | https://github.com/langgptai/wonderful-prompts |
热门网站系统提示词 | https://github.com/jujumilk3/leaked-system-prompts |
理论学习-提示工程指南 | https://www.promptingguide.ai/zh |
提示词工程指南 | https://learnprompting.org/zh-Hans/docs/introduction |
# 2. 拍照答题智能体开发实践
# 2.1 案例介绍
随着大模型和多模态融合技术的不断突破,文本、图像等异构数据统一理解和内容生成被广泛应用。如拍照答题、拍照搜同款等 AI 应用给人们带来了方便。
该案例主要实现拍照答题功能,用户遇到不会的数学、英语等各类不会的问题,只需要拍照上传给智能体就能得到准确的答案。本文将详细介绍如何一步步实现出如拍照答题功能的多模态智能体应用。
# 2.2 实现过程
一个完整的智能体产品从开发到应用大致需要经历创建、编排、调试、发布四个步骤,其中智能体编排是智能体设计实现的核心。
拍照答题功能的实现关键点在于图像内容的识别、大模型的推理结果生成。工作流的整体设计流程如下:
下面将一步步讲解具体实现过程。
# 步骤一:创建工作流智能体
点击进入星辰 Agent 开发平台 (opens new window)首页,在左侧导航栏点击【我的智能体】进入我的智能体列表页面,点击【新建智能体】-【工作流创建】-【自定义创建】进入智能体画布页面。智能体画布页面默认有开始、结束两个必须节点。
# 步骤二:配置支持图片输入
点击开始节点左下角【+添加】添加一个输入变量,变量名设置为 image,后续节点将通过该变量名引用用户上传的图片网络地址。变量类型选择 Image。
# 步骤三:图文识别实现
官方提供了通用 OCR 大模型工具支持图片和 PDF 识别,可通过工具节点引用。操作过程如下:
- 点击画布左侧节点列表中的【工具】节点右上角【+】号,进入工具选择页面,从官方工具中搜索找到【通用 OCR 大模型】工具,点击该工具右侧【添加】按钮,将工具添加到画布中,点击返回画布页面。
- 将开始节点和通用 OCR 大模型节点连接,并配置通用 OCR 大模型节点输入参数。通用 OCR 大模型有三个参数:
参数名称 | 类型 | 参数说明 | 是否必填 |
---|---|---|---|
file_url | string | 需要识别的 ocr 文件地址。当前支持图片和 pdf | 是 |
ocr_document_page_start | integer | 针对文档数据,指定识别的页码开始范围,从 0 开始,-1 表示不限制 | 否 |
ocr_document_page_end | integer | 针对文档数据,指定识别的页码结束范围,从 0 开始,-1 表示不限制 | 否 |
输入参数 file_url 参数选择引用 开始/image,针对图片数据,ocr_document_page_start、ocr_document_page_end 可不默认不填。
# 步骤四:大模型推理生成答案
在通用 OCR 大模型节点之后连接大模型节点,用于推理生成答案。
配置大模型输入参数 input、image_content 两个变量:
- input 引用用户输入的文本信息 开始/AGENT_USER_INPUT
- image_content 引用图片 OCR 结果 通用 OCR 大模型_1/data.content
回答模式选择模型:Spark X1;
大模型提示词配置如下:
//系统提示词:
你是一个全学科的老师,请按要求解答学生的问题。
//用户提示词:
用户输入的题目的图片,通过OCR后,给出的结果是:{{image_content}},请结合用户的要求:{{input}},以标准的学生能看的懂的方式解答题目,请规范作答。
大模型节点输出有 2 个变量:
REASONING_CONTENT: 大模型思考过程;
output:大模型生成的答案。
# 步骤五:输出配置
大模型节点连接输出节点,结束节点配置如下:
- 回答模式:默认为返回设定格式配置的回答即可。
- 输出定义引用 2 个变量:
- output:引用大模型输出结果 大模型_1/output
- reasoning: 引用 大模型思考过程 大模型_1/REASONING_CONTENT
- 思考内容中引用变量:{{reasoning}}
- 回答内容打开流式输出,结果引用变量: {{output}}
至此就完成了工作流的编排工作。
# 步骤六:调试工作流
点击右上角【调试】按钮,进入调试页面,输入描述和问题的图片,点击发送测试结果。
# 步骤七:智能体发布
工作流效果调试完成并配置完工作流名称、描述等信息。信息完善后,点击有上角发布按钮,可选择发布到讯飞星火、讯飞星辰 Agent 平台。发布审核完成后,用户即可在智能体广场或讯飞星火中搜索到您的智能体。
# 2.3 结果展示
最后看一下拍照答题智能体实现的最终成果:
# 3. Excel 文档分析智能体开发实践
# 3.1 背景介绍
星辰 Agent 平台当前已上线 Excel 解析,图表生成等文档处理工具。本文档将结合实操步骤和案例介绍下数据分析统计、自动化报表生成等场景下 Excel 文档处理智能体如何快速构建。
# 3.2 整体流程设计
Excel 数据分析智能体采用工作流模式编排实现,核心节点涉及Excel 表格数据提取工具,代码节点,Agent 决策节点,变流提取器等 。整体设计思路流程如下:
工作流节点流程编排如下:
可点击下载excel 文档分析助手.yml (opens new window),参照文档"开发指南-工作流智能体开发-智能体创建-工作流的导出和导入"章节将工作流导入后查看。
# 3.3 工作流节点设计
根据实际场景,在工作流中调整相应的节点。以下是关键节点的修改说明:
模块 | 节点 | 节点修改说明 | 节点示例 |
---|---|---|---|
文件上传 | 开始节点 | 开始节点添加一个类型为 Excel 的输入参数,参数名称可以自定义,本文以 excel 为例 | ![]() |
Excel 解析 | 工具节点 | 通过 Excel 表格提取工具进行 Excel 文档数据提取 **sheet_name:**如果存在多 sheet 可指定要解析的 sheet 名称,不传的话默认解析第一个 sheet **start_cell:**指定起始单元格,默认值为“A1”,如存在首行不是表头的情况,需设置为对应表头单元格号,如“A3” **end_cell:**指定结束单元格,默认读取到连续 50 行空行处。如不需要读取全部表格,可指定对应单元格号,如“D20” **encoding:**如传入 Excel 文件为 CSV 格式,需指定对应字符编码格式,如 GB2312 **ret_format:**指定提取的数据字符串类型,可选值为: **"raw":**默认格式 : 按行返回数据,格式 [["姓名","性别","年龄"],["张三","男","20"],["李四","男","21"]] "json" : 格式如[ {"姓名":"张三","性别":"男","年龄":"20"},{"姓名":"李四","性别":"男","年龄":"21"} ] | |
Excel 详细数据提取 | 代码节点 | 通过代码节点对提取后的 Excel 字符串进行数据统计和规整 注意事项: 1.核心代码生成可右上角"AI 代码"或外部大模型生 2.成代码节点中不可出现 printf 3.如遇中文字符集报错问题,可在代码首行添加 # -- coding: utf-8 -- | |
饼图等图表绘制 | Agent 决策节点 | 通过 Agent 决策节点可对代码节点筛选出的数据进行折线图绘制以及泛化问答 1.**插件列表:**选取合适的插件,本案例主要基于当前时间进行折线图绘制,所以选择 MCP 插件-TimeServer 用于获取当前时间,以及可视化图表用于绘制折线图 2.提示词:通过补充“角色设定”、“思考步骤”和“用户查询/提问(query)”三部分提示词,进一步优化智能体的角色定位、推理路径和查询精度,从而提升模型的响应质量与任务适配度。 | ![]() |
变量提取器 | 变量提取器节点 | 变量提取器接入大模型能力,可以对自然语言中的关键信息字段进行提取。 【参数配置】 输入:固定为 input,字符串类型,接收来自用户或其他上游节点的输入信息。 输出:支持多种数据类型的输出,并允许用户定义多个输出项。它能够根据参数的具体描述,精确地抽取出输入数据中的目标内容,并将这些内容按照预设的数据类型和输出项进行赋值 | |
HTML 生成 | 文本拼接节点 | 鉴于大模型每次生成的 HMTL 界面不稳定,引入文本拼接节点用于固定 HTML 整体格式,再辅以工作流中动态生产的关键字段进行填充,最终生产完整的 HTML 网页。 | ![]() |
结束 | 结束节点 | 结束节点作为工作流的最终环节,它负责标识工作流执行完毕后的结果。 |