当前位置: 首页 > news >正文

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链接

## 安装langchainpip install langchain_openai httpx

1.2 构建DeepSeek使用函数

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 = """你想要模型如何理解你的文本,或者是让它替你总结,你可以提示它一些文本中需要关注的点“”“:

# 提取文本摘要
 

result = call_llm_stream(prompt.format(content=text))
print(result)

  • 内容提取

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

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

# 准备要总结的文本
        text = """你想要让模型理解的内容“”“:

# 想要理解的内容 --> 你关注的点
query = """你关注的点"""

# 准备提示词
prompt = """基于你的提问和给出的文本来回答问题“”


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

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

  • 正面(Positive)

  • 中性(Neutral)

  • 负面(Negative)

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

# 定义想要分类的文本
text = """今天被老师骂了。"""

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

示例1:

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

情感分类:正面

示例2:

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

情感分类:中性

示例3:

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

情感分类:负面

请分类下面这段文本:

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

情感分类:

模型预期输出:

        负面


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

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

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

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

# 调用大模型
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,明确任务和类别、给出示例,并控制输出格式,可以让大语言模型准确完成文本情感分类任务。这种方法简单高效,不需要额外训练,只靠提示词就能发挥大模型的强大理解能力。

http://www.dtcms.com/a/322081.html

相关文章:

  • C语言实现经典扫雷游戏全解析
  • 使用观测云打造企业级监控告警中心
  • cudagraph 本质详解
  • Vue框架进阶
  • 宠智灵打造宠物AI开放平台:精准识别、灵活部署、生态共建
  • C++入门(上) -- 讲解超详细
  • 【狂神说java学习笔记】四:java流程控制(用户交互Scanner、顺序结构、if选择结构、switch选择结构)
  • isulad + harbor私有仓库登录
  • 大模型性能测试实战指南:从原理到落地的全链路解析
  • Claude使用报错 Error: Cannot find module ‘./yoga.wasm‘
  • 鸿蒙中使用tree
  • 系统集成项目管理工程师【第十一章 规划过程组】规划成本管理、成本估算、制定预算和规划质量管理篇
  • 安全基础DAY1-安全概述
  • Xiphos Q8 摄像头板 高性能图像处理板
  • 案例实战:机器学习预测粘度+耐热高分子筛选,聚合物研发效率倍增秘籍
  • 锯床自动长度检测与参数闭环补偿系统
  • 2025年环境工程与新能源科学国际会议(EENES 2025)
  • x265开源编码器源码框架深度解析
  • 知识图谱【2】
  • 五、SpringBoot工程打包与运行
  • SpringAI实现多用户记忆隔离
  • 【SpringAI】9.创建本地mcp服务(演示通过mcp实现联网搜索)
  • Git Commit 命令详解:版本控制的核心操作
  • $QAXHoneypot是什么文件夹
  • 2025 蓝桥杯C/C++国B 部分题解
  • DAY34打卡
  • GDB 调试全方位指南:从入门到精通
  • try-catch-finally
  • 3-防火墙
  • 【JAVA EE初阶】多线程(进阶)