从零到一搭建AI应用完整指南:6大核心步骤详解
从零到一搭建AI应用完整指南:6大核心步骤详解
随着AI技术的快速发展,越来越多的企业和个人开始尝试开发AI应用。然而,从零到一搭建一个完整的AI应用并不容易,需要经过多个关键步骤。本文将结合作者在AIGC应用产品设计中的实践经验,详细介绍从场景选择到最终上线的完整开发流程,帮助读者快速掌握AI应用开发的核心要点。
1.选择场景
大模型不是万能的,选择合适的细分场景才能增大落地成功率。以下两条原则可以帮助你更好地选择场景:
- 能够总结出规律或详细操作步骤的任务
- 人类认为是简单的任务,比如:给定参考资料回答问题、写一篇有套路的文章、将文本内容转为结构化数据等
2.工作流
市面上或企业内部准确率高的大模型应用背后大多数是一个工作流。这个工作流是由一个或多个大模型、知识库、API、程序 编排而成的,大模型只是其中的一两个节点。
为什么要用工作流?
- 大模型推理能力有限:有基本的推理能力,但远不及人类专家,在规则非常明确且规则简单的时候准确率会很高,一旦规则复杂准确会变低。解决办法:将大任务拆分成多个简单的小任务,AI和人脑一样任务越复杂我们出错的概率越高。
- 程序效率更高:规则明确的任务交给程序处理,准确率和时效都能保证,例如:根据关键词判断走不同的AI节点或调用API
- 领域知识缺失:大模型缺少垂直行业的知识,更没有企业内部的知识,所以要想AI回答问题先要查找相关资料
工作流案例
我对保险行业比较熟,以保险行业一个场景举例:生成保险产品测评文章。这是我使用coze搭建的一个工作流,供参考
整个工作流的交互流程如下:
- 用户输入保险产品名称
- 程序查询该产品基本信息、用户案例、保险公司信息、近期新闻热点、产品文章标题集,这些数据都是我提前存储在数据库中的
- 将查询到的信息作为背景信息插入文章生成prompt中
- 将prompt 给到AI生成文章
大部分工作量是在底层数据的清洗上,AI只是其中的一个节点。
好的AI工作流的背后是对于业务场景深度理解和软件工程。
如果你现在还没有设计过AI工作流,推荐使用coze 智能体开发平台,上面有很多模板可供参考。
3.AI节点的效果优化
大模型接口关键参数,了解它可以让更好的控制AI:
- systemprompt:系统角色提示词,控制AI的人设,适合对话类场景。非对话类场景,可以将系统角色提示词内容和用户问题都可以放到userprompt中。特别是长文本,我测试结果是放在userprompt中更加准确。
- userprompt:用户角色提示词,你想要对模型说话放在这里
- max_tokens:控制输出字数
- temperature:采样温度,一般介于 0 和 1 之间。如果你想让结果更加随机可以调高温度,如果想要更加固定的输出可以调低温度。
- top_p:值范围0-1,为调节采样温度的替代方案,模型会考虑前top_p概率的 token 的结果。所以 0.1 就意味着只有包括在最高 10% 概率中的 token 会被考虑。通常建议修改这个值或者更改temperature,但不建议同时对两者进行修改。我一般只用temperature,而且有时候调了也没用。
精调提示词:
提示词相当于与AI模型沟通的语言,提示词写作关键是将你大脑中的思维过程使用文字描述出来。
以下是Claude官方提供的提示词模板,我在实际工作中经常使用,推荐给你:
- 角色背景设定:确定AI应该扮演什么角色或身份
- 任务场景说明:具体的使用场景和目标
- 语气和风格要求:应该用什么样的语气和表达方式
- 背景资料和文档:需要参考的信息和材料
- 任务规则:任务中规则要求
- 操作步骤:一步一步的写出操作过程,这个过程在AI领域称为:思维链(cot,全称:chain of thought)
- 示例:可以多举一些例子,例子是控制模型最容易的方法,这个过程在AI领域称为:少样本学习(few-shot)
- 对话历史记录:之前的交互内容,可选,对话类场景需要
- 输出格式要求:输出具体格式和结构
以上9点都是可选,根据自己的场景来设计,其中针对复杂的任务场景:任务规则、任务步骤、示例 这3点是最有效的。
举个例子:这是上述保险产品测评文章生成AI的参考提示词
<参考资料>
<新闻素材>{{String1}}</新闻素材>
<产品信息>{{String5}}</产品信息>
<产品优势>{{String2}}</产品优势>
<保司信息>{{String3}}</保司信息>
<案例分析>{{String4}}</案例分析>
</参考资料>
#角色
你是一个专业的保险产品测评专员及营销软文写作专家,你的任务根据参考资料写出一篇产品测评文章
#写作步骤
0.文章标题: 根据<标题创作原则>进行创作
1.前言:通过<新闻素材>引出下面的保险产品介绍,使用新闻素材时需要插入图片地址,让用户感知更丰富
2.产品基本信息: 将<产品信息>中的内容结构化列出,使用markdown格式
3.产品核心优势:使用<产品优势>中产品优势及劣势数据写作
4.案例分析:使用<案例分析>分析中的内容及图片,必须插入{利益演示表图片地址}
5.保司介绍:使用<保司信息>标签中的内容,插入{公司logo图片地址},介绍保险公司信息,插入{公司介绍图片地址}
6.保司增值服务:使用<增值服务>标签中的内容进行写作
7.结尾:总结产品亮点、说明适合人群 。适合人群使用<产品优势>中的适合人群字段值进行写作,结构化的列出。
#写作规则
1.风格要求:真诚友好、鼓励建议、幽默轻松;
2.口语化的表达风格,有共情力
3.格式要求:多分段,关注重点,多用短句
4. 结尾处不要推销,不要出现 :扫码关注,私聊,加入等词
5.字数要求:不少于3000字
6.检查写好的文案与<参考资料>数据保持一致性
<标题创作原则>
- 参考案例:<<{{wenzhangbiaoti}}>>
- 使用标点:通过标点符号,尤其是叹号,增强语气,创造紧迫或惊喜的感觉!
- 挑战与悬念:提出引人入胜的问题或情境,激发好奇心。
- 结合正负刺激:平衡使用正面和负面的刺激,吸引注意力。
- 紧跟热点:融入当前流行的热梗、话题和实用信息。
- 明确成果:具体描述产品或方法带来的实际效果。
- 表情符号:适当使用emoji,增加活力和趣味性。
- 口语化表达:使用贴近日常交流的语言,增强亲和力。
- 字数控制:保持标题在20字以内,简洁明了。
</标题创作原则>
#输出格式:markdown
如果你想了解更多提示工程内容,我推荐Claude的官方文档:https://docs.anthropic.com/zh-CN/docs/welcome。内含提示词工程和示例,我觉得是最非常好的学习资料。
模型选择
不同模型对同一提示词的反应不同。建议先选定模型再设计工作流,优先考虑国内模型。虽然国内顶级模型的推理能力略逊于GPT-4和Claude-sonnet-3.5,但通过细致任务拆分可显著提高准确率。如需更高准确度,可无缝切换至国外模型。注意:某些场景下国内模型可能更优,需实际测试。
微调模型
- 当提示词优化达到瓶颈时,可以使用标注好的数据对模型进行训练,以提升其在特定任务上的准确性。
- 模型训练需要更多数据、算力和时间成本,相比提示词优化,成本更高,周期更长。
标注数据是指人工标注或审核过的准确数据。数据格式一般是QA形成,例如:
问题 | 答案 |
---|---|
住院费用如何报销? | 住院费用报销需要提供住院发票、费用清单及相关病历资料。 |
保险到期后如何续保? | 到期当天保险公司会自动从您投保时绑定的银行卡中扣款,在到期前60天保险公司会发送短信提醒。 |
针对行业模型训练这块内容过多,之后会单独开一篇文章。
4.评估效果
与系统功能测试不一样,系统功能在设计的时候实现效果就已经确定了,但AI的效果是不确定的,评估指标根据场景自定。
测试方案
- 准备样本数据,数据格式大多数是问答对格式;
- 针对AI节点进行单点批量测试和最终结果批量测试;
- 测试数据集尽可能覆盖全部场景;
- 测试数据集应该和训练数据集分开,避免过拟合,这样才可以检验出AI是否有举一反三能力;
- 一定要扩大样本,我曾经使用了几十个样本测试发现准确率能够达到80%以上,上生产后发现准确率只有60%多,还好是内勤使用copilot,老板也对于创新项目容错率比较高,擦汗。
自动化测试:
- 规则判断测试:如果是确定答案的场景可以使用程序进行规则判断测试,比如AI生成结果与数据集不一致时则认为错。
- 使用模型测试:如果答案是不确定的文案类的,建议使用另外一个AI模型测试,一般使用推理能力更强的模型效果更好,比如:生成答案使用国内模型,测试使用国外的GPT 或 Claude模型。使用同一个模型也是可以的。
5.上线收集数据
即使经过充分测试,实际用户使用的方式仍可能超出我们的预期。因此,必须设计好收集用户反馈机制,以形成数据闭环:用户反馈 → 数据清洗与标注 → 优化提示词或模型微调 → 效果测试 → 再次上线线 → 新一轮用户反馈。这个闭环驱动AI应用的迭代,适应不断变化的用户需求。
6.总结
- AI workflow 是AI应用落地最有效的方法
- 提示词是影响AI执行效果的关键
- 一定要做足够的批量测试
- 设计好数据闭环才能让AI应用效果不断迭代
AI技术正在加速发展,AI应用研发目前大家都在做实验,没有标准答案。作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。