大模型应用-prompt提示词工程
本文介绍了大模型(LLM)的基本概念和应用中的提示词工程。大模型可视为高维复杂函数,通过调整输入(prompt工程)或参数优化来提升输出效果。文章对比了不同模型特点(如指令型vs推理型),并详细讲解了四种提示词工程模板(LangGPT、CRISPE、ICIO、OCEP)的结构和应用场景,包括广告创意生成和软件开发文档编写等实例。这些模板通过系统化结构设计,帮助用户更精准地引导模型输出预期结果。
大模型应用-prompt提示词工程
本文介绍了大模型(LLM)的基本概念和应用中的提示词工程。大模型可视为高维复杂函数,通过调整输入(prompt工程)或参数优化来提升输出效果。文章对比了不同模型特点(如指令型vs推理型),并详细讲解了四种提示词工程模板(LangGPT、CRISPE、ICIO、OCEP)的结构和应用场景,包括广告创意生成和软件开发文档编写等实例。这些模板通过系统化结构设计,帮助用户更精准地引导模型输出预期结果
一、大模型简介
1、LLM简介
可以理解为高维复杂函数,如
y = ax^(2) + bx +c
假设这个函数是LLM大模型,它的功能便是输入x,可以得到y。公式的参数可以多达上几十亿个,要使得模型精确,一种是调参,另外一种是改变x的输入方式,对输入数据预处理,使得y接近正确结果。调整输入的方式便是prompt提示词工程。
(1)、模型参数:7B、32B(B Bion亿)等指的是函数参数的数量即a,b.c的数量
(2)、训练:使用海量的x和y来调整每个参数的值
(3)、模型结构:即函数的结构
(4)、微调:使用少量的x和y来调整一个现有函数中的参数
(5)、提示词工程:尝试修改x来优化y
(6)最大上下文长度:x的最大长度,这里有个误区,在窗回对话的形式中x是当前窗画中所有的内容,deepseek r1 671B的最大上下文长度为6.4万个tokens,约3.5万字
(7)、最大输出长度: y的最大长度,deepseek r1 671B的最大输出长度为8192个tokens约4800字
2、Token
LLM 的运行过程大致如下
用户输入==> 分词器 ==> 分解成token ==> 映射编号 ==> 转为高维向量 提取语义 ==> LLM ==> 输出
Token 通常代表一个语义,词语或者短语对应一个token
3、常见大模型
搭建智能体或日常使用,根据特点选择合适的大模型
(1)deepseek指令模型(V3):
一般聪明,很听话
高效便捷,适合处理‘规范性’任务。一件事情你知道怎么做,并且希望模型完全按照你的步骤一步一步规范的帮你完成。
适合复杂推理深度分析任务,如数理逻辑推理和编程代码,和‘开放性’任务。
(2)deepseek推理模型(R1):
很聪明,不太听话,有自己的想法
一件事情你只知道要达成什么样的目标,但你不清楚具体怎么做,并且对怎么做没有规范的要求
(3)Qwen千义通问:
选择合适的模型,模型参数:7B、32B(B Bion亿)等指的是函数参数的数量即a,b.c的数量
4、应用落地
(1)提示词prompt工程
*调整提示词结构,通过迭代和测试集测试,逼近最佳提示词;
*引入参考样例和源头输入, 让输出趋近于参考样例;
*渐进式提问,如输出一份标准的设计文档:
输出标准款框架=>引入参考样例=>渐进式提问:系统调用关系、表结构关联
(2)智能体应用
将任务分解,采用流程编排的方式,加入提示词模板、知识库等,形成专业化的、更精确的agent应用
二、提示词工程标准模板
1、LangGPT(***最常用***;智能体中的LLM节点也推荐用)
# Role:<name>:角色
## Profiles
author/version/description作者/版本/简介
## Skills技能
## Goals:目标
## Constrains:限制条件
##Workfower工作流
##Initialization: 初始化动作(开始提示语)
2、CRISPE
##能力
##角色
##洞察力(背景/目标用户)
##执行步骤
##个性 风格
## 示例
3、ICIO
##Instruction指令(目标要求)
#tContext背景信息(角色+能力)
##lnput Data输入数据(目标)
##Output Indicator输出引导(风格等)
4、OCEP
Objective(目标):需要完成的核心任务或目标
Context(背景):任务相关的背景信息,可能包括受众、时间、场景、资源限制等
Effect(效果):希望实现的预期结果或价值
Problem(问题):需要规避的风险或潜在矛盾
三、提示词工程应用示例
1、LangGPT(***最常用***;智能体中的LLM节点也推荐用)
# Role:<name>:角色
## Profiles
author/version/description作者/版本/简介
## Skills技能
## Goals:目标
## Constrains:限制条件
##Workfower工作流
##Initialization: 初始化动作(开始提示语)
#Role:<name>:你是一名经验丰富的广告营销专家。
##Profile author/version/description:author:xxx;version:1.0
##Goals:写一个创意广告的方案
##Constrains:你的目标用户是中国的00后,年轻,张扬,叛逆,富有活力。
##Skills:你拥有成熟的营销能力和创意写作能力。
##Workflow:1.你需要运用自己的营销经验理解目标用户会喜欢的广告风格;2.基于目标用户 喜欢的广告风格写创意广告的方案;3.基于你的方案,思考目标受众;4.对比第三步的目标受众和目标用户是否一致,如果一致,输出广告文案;如果不一致,重头开始再次思考
##Initialization:无
2、CRISPE
##能力
##角色
##洞察力(背景/目标用户)
##执行步骤
##个性 风格
## 示例
##能力:经验丰富的软件开发过程师; 你拥有成熟的java编码能力和开发文档写作能力,有丰富的保险系统经验;
##角色:你是一名经验丰富的软件开发过程师, 尤其熟悉保险系统。
##目标用户:你的目标用户是刚入职的保险业务员;根据需求开发说明书并利用ai软件生成代码的软件工程师;软件文档编写管理人员;
##执行步骤:1.分析代码功能,整理出业务流程实现步骤,能口述;2.基于自身模型,将代码实现和输出的需求说明书尽可能对应3.基于你输出的需求说明书,能反向输出java代码框架;4.对比第三步的目标,如果输出的java代码和源码能对应上大致框架,功能含义相似度达到70%, 则输出需求说明书;如果不一致,重头开始再次思考;
##风格:便于业务员和测试人员理解;便于开发人员使用ai工具生成代码
3、ICIO
##Instruction指令(目标要求)
#tContext背景信息(角色+能力)
##lnput Data输入数据(目标)
##Output Indicator输出引导(风格等)
Instruction:1、根据上述代码,进行功能分析。2、输出一篇完整的需求开发设计说明书。3、输出的业务流程必须准确、清晰、可读性好。4、最重要的是,通过你回答的业务功能内容,你deepseek能够反推代码编写方法
Context:你是一名经验丰富的软件开发过程师。你拥有成熟的java编码能力和开发文档写作能力,有丰富的保险系统经验;
Input Data:写一个需求开发设计说明书
Output Indicator:1、步骤分结构,有业务说明和简要代码设计;2、结构清晰,业务说明部分忽略代码实现细节,便于小白理解业务流程;3、简要代码设计要能简述代码实现,让ai能根据简要代码描述 反向输出大致实现的java代码
4、OCEP
Objective(目标):需要完成的核心任务或目标
Context(背景):任务相关的背景信息,可能包括受众、时间、场景、资源限制等
Effect(效果):希望实现的预期结果或价值
Problem(问题):需要规避的风险或潜在矛盾
我需要写一份符合业务功能描述的java代码(Context)。希望功能结构清晰,符合设计说明书,依托pafa框架(Effect),但担心代码实现细节和业务功能描述不符,运用框架混乱,不能执行(Problem)。
更多推荐
所有评论(0)