AI大模型专题:LLM大模型(Prompt提示词工程)

AI专题往期回顾:

LLM大模型(初识)

一、大语言模型的 Prompt 提示词工程(Prompt Engineering)详解

1. 什么是Prompt提示词工程?

Prompt提示词工程是一门新兴的技术, 是指设计、编写、优化输入给大语言模型(如GPT-4、ChatGPT)的文本提示(Prompt),以引导模型产生期望的高质量输出的过程。它不仅是简单地构造输入文本,更涉及到对模型行为的深入理解和对各种影响因素的综合考量。提示工程 的目标是通过精心设计的提示,引导模型生成精准、富有洞察力的输出,从而更好地完成特定任务。

换句话说,Prompt就是"对模型说的话",提示词工程就是如何有效"跟模型对话",才能让模型帮你完成想要的任务。

1、提示工程的技术方法

提示工程技术通常包括但不限于:

  • 零样本提示:仅提供任务描述和输入文本,不给出任何示例,完全依赖模型自身的知识储备。
  • 单样本和少样本提示:通过提供一个或多个示例来引导模型生成特定结构或模式的输出。
  • 系统提示:为语言模型设定整体的上下文和目的,明确模型的任务方向。
  • 上下文提示:提供与当前对话或任务相关的具体细节和背景信息,帮助模型更好地理解问题的细微差别。
  • 思维链提示(Chain of Thought, CoT):要求模型生成中间推理步骤,增强其推理能力。
  • 自一致性提示 :通过多次发送相同的思维链提示并选择出现频率最高的答案,提高答案的可靠性。
    • 提示工程应用场景通常可包括:问答系统、文本生成、机器翻译、代码生成、逻辑推理与数学计算。

2、 Prompt的作用

  • 指导模型任务方向:告诉模型你想做什么,比如写故事、回答问题、翻译、编程等。

  • 限制输出范围:通过描述范围、格式、风格等,避免无关或不合适的回答。

  • 提高结果质量:好的Prompt能让模型输出更准确、逻辑清晰、符合预期。


3. Prompt的基本类型

3.1 直接式Prompt(Direct Prompt)

直接用自然语言描述任务要求,例如:

请帮我写一首关于春天的诗。

3.2 指令式Prompt(Instruction Prompt)

明确给出任务指令和细节要求:

请用五行诗的格式写一首描写春天的诗,每行不超过8个字。

3.3 示例式Prompt(Few-shot Prompt)

给模型提供几个示范输入输出示例,帮助模型学习模式:

示例1:
问题:太阳是恒星吗?
回答:是的,太阳是一颗恒星。

示例2:
问题:月亮是行星吗?
回答:不是,月亮是地球的卫星。

请回答:火星是行星吗?

3.4 角色扮演Prompt(Role-play Prompt)

让模型扮演特定身份:

你是一名医生,请解释感冒的常见症状。


4. Prompt设计的关键技巧

4.1 明确且具体

描述任务时越清晰具体,模型输出越符合预期。

不清晰:帮我写一篇文章。
清晰:帮我写一篇关于人工智能未来发展的500字议论文。

4.2 控制输出格式

要求模型以特定格式输出,如列表、代码块、表格等。

请以列表形式列出五种常见的水果。

4.3 利用示例(Few-shot)

给模型示范有助于提高准确率,尤其在复杂任务上。

4.4 限制回答范围或风格

如限制字数、口吻、专业程度等。

请用通俗易懂的语言解释量子计算。

4.5 多轮交互调整

通过多轮提问和补充,逐步引导模型生成理想结果。

二、基于DeepSeek的提示词工程实现

参考链接:基于DeepSeek的提示工程与基础应用

1.1 DeepSeek链接

python 复制代码
## 安装langchain

pip install langchain_openai httpx

1.2 构建DeepSeek使用函数

python 复制代码
from langchain_openai import ChatOpenAI
import os
import httpx

# 此课程基于DeepSeek-R1模型进行,学员可自行前往DeepSeek官网获取API;
# 获取API之后请更新对应的<API_KEY>、<BASE_URL>以及<MODEL_NAME>名称。
os.environ['OPENAI_API_KEY'] = <API_KEY>
os.environ['OPENAI_API_BASE'] = <BASE_URL>

llm = ChatOpenAI(
    model=<MODEL_NAME>, # 学员根据实际情况进行修改
    temperature=0.6,
    max_tokens=8000,
    http_client=httpx.Client(verify=False),
)

def call_llm_stream(prompt:str) -> str:
    return llm.invoke(prompt).content

1.3 提示工程基础应用

文本摘要

在NLP(自然语言处理)的生成中,文本摘要是非常重要的任务之一。语言模型最有前景的应用之一就是将复杂文章、概念快速转换成易读、易理解的摘要。

你可以将你想要总结的内容放在text变量中让模型去理解。

准备要总结的文本

text = """你想要让模型理解的内容""":

准备提示词

prompt = """你想要模型如何理解你的文本,或者是让它替你总结,你可以提示它一些文本中需要关注的点""":

提取文本摘要

python 复制代码
result = call_llm_stream(prompt.format(content=text))
print(result)

内容提取

内容提取是RAG中重要的步骤之一。它使用大模型对文本中规定的内容进行总结提取,它不再依赖大模型自身的知识,或者可以对大模型所具有的知识做以补充。在本应用中,可以提出一段较长的文本、摘要,并向大模型提问关于文本、摘要中某一个细节的内容。

你可输入一篇文章,一段话,一个故事,让模型去理解,然后你再针对性告诉模型你关注的点,然后让其提取出有效内容。

准备要总结的文本

text = """你想要让模型理解的内容""":
# 想要理解的内容 --> 你关注的点
query = """你关注的点"""

准备提示词

prompt = """基于你的提问和给出的文本来回答问题""


文本情感分类的Prompt设计详解
1. 任务定义

文本情感分类就是识别一段文本所表达的情感倾向,通常有如下类别:

  • 正面(Positive)

  • 中性(Neutral)

  • 负面(Negative)

有时也会细分更多种类(喜悦、愤怒、悲伤等)

定义想要分类的文本

text = """今天被老师骂了。"""

定义提示词

prompt = """请判断下面文本的情感倾向,仅在"正面"、"中性"、"负面"三个类别中选择一个,并只输出类别名称:

示例1:

文本:"这家餐厅的服务很好,食物也很美味。"

情感分类:正面

示例2:

文本:"天气一般,没什么特别。"

情感分类:中性

示例3:

文本:"我对这次的体验感到很失望。"

情感分类:负面

请分类下面这段文本:

"这本书写得很无聊,让我失去了兴趣。"

情感分类:

模型预期输出:

负面


提示词优化建议
  • 强调只输出标签,避免模型产生多余文字。

  • 加入上下文或领域限制,如"针对客户反馈的文本"。

  • 结合多轮对话,先让模型解释为什么,再给出结论。

  • 控制语言风格,比如用简洁、正式的表达

python 复制代码
# 调用大模型
result = call_llm_stream(prompt.format(content=text,query=query))
print(result)

主流的结构化Prompt设计框架详解

1. RACE 框架

RACE 是一个用于创建提示的框架,目标是提供清晰结构,提升与大语言模型交流的效率。

四个步骤组成:
  • R - Role(角色)

    明确指定模型扮演的身份或视角,比如"你是一名医生"、"你是一位法律顾问"。

  • A - Action(行动)

    明确告诉模型你希望它做什么,例如"解释...","写一篇...","总结..."等。

  • C - Result(结果)

    说明你期望的输出形式或目标,比如"简明扼要","详细说明","生成代码块"。

  • E - Example(示例)

    提供一个示例输入和输出,帮助模型理解你的意图。



2. AIDA 框架(Attention, Interest, Desire, Action)

虽然AIDA最初是营销文案的写作框架,但也被用于Prompt设计,结构化引导模型生成符合目标的内容。

  • Attention(注意):引起模型"关注"某个主题或关键词。

  • Interest(兴趣):强调细节或原因,让模型"深入"话题。

  • Desire(欲望):明确目标或输出需求,激发"愿望"去执行。

  • Action(行动):具体指令,引导模型生成最终输出。


3. PASTA 框架(Purpose, Action, Scope, Tone, Audience)

  • Purpose(目的):说明你想达成什么。

  • Action(行动):具体的任务或请求。

  • Scope(范围):限定输出内容的边界。

  • Tone(语气):规定输出的风格或情绪。

  • Audience(受众):说明内容针对的对象。


4. C.R.E.A.M. 框架(Context, Role, Example, Ask, Make it concise)

  • Context(上下文):给模型必要的背景信息。

  • Role(角色):模型扮演的身份。

  • Example(示例):示范输入输出。

  • Ask(提问):具体任务或问题。

  • Make it concise(简洁):强调简洁输出。


5. SIMPLE 框架

  • Specify(指定):明确指定任务。

  • Illustrate(举例):给出示例。

  • Modify(调整):设定风格、格式等。

  • Prompt(提示):完整Prompt文本。

  • Loop(循环):通过反馈持续优化Prompt。

  • Evaluate(评估):检查输出质量。


总结

框架名 主要组成 适用场景
RACE Role, Action, Result, Example 复杂任务指令明确,角色设定强
AIDA Attention, Interest, Desire, Action 营销文案、说服性写作
PASTA Purpose, Action, Scope, Tone, Audience 需要定制化风格和受众文本生成
CREAM Context, Role, Example, Ask, Make it concise 清晰简洁的复杂任务表达
SIMPLE Specify, Illustrate, Modify, Prompt, Loop, Evaluate 循环迭代优化Prompt设计

通过设计清晰的Prompt,明确任务和类别、给出示例,并控制输出格式,可以让大语言模型准确完成文本情感分类任务。这种方法简单高效,不需要额外训练,只靠提示词就能发挥大模型的强大理解能力。

相关推荐
攻城狮7号6 分钟前
GPT-OSS重磅开源:当OpenAI重拾“开放”初心
人工智能·openai·开源大模型·gpt-oss
我不是小upper14 分钟前
什么是键值缓存?让 LLM 闪电般快速
人工智能·缓存·llm
2zcode40 分钟前
基于Matlab图像处理的黄豆自动计数系统设计与实现
图像处理·人工智能·matlab
金智维科技官方1 小时前
常见的大模型分类
人工智能·算法·ai·语言模型·数据挖掘
TY-20251 小时前
五、CV_ResNet
人工智能
♡喜欢做梦1 小时前
【AI】从零开始的文本分类模型实战:从数据到部署的全流程指南
人工智能·ai·自然语言处理
WeiJingYu.1 小时前
Opencv-管理图片
人工智能·opencv·计算机视觉
shuju_dajiwang2 小时前
数据大集网:重构企业贷获客生态的线上获客新范式
人工智能
Sunhen_Qiletian2 小时前
《深入浅出K-means算法:从原理到实战全解析》预告(提纲)
人工智能·机器学习·支持向量机
Giser探索家3 小时前
什么是2米分辨率卫星影像数据?
大数据·人工智能·数码相机·算法·分类·云计算