【AI大模型应用开发】1.0 Prompt Engineering(提示词工程)- 典型构成、原则与技巧,代码中加入Prompt

简介: 【AI大模型应用开发】1.0 Prompt Engineering(提示词工程)- 典型构成、原则与技巧,代码中加入Prompt

从这篇文章开始,我们就正式开始学习AI大模型应用开发的相关知识了。首先是提示词工程(Prompt Engineering)。

0. 什么是提示词(Prompt)

AI大模型火了也已经有一年多了,相信大家或多或少都听过或见过一个词叫“Prompt”,这就是提示词。

用户给大模型输入一个Prompt,大模型会根据你的Prompt给出一个回复,这是目前为止,最常用的使用大模型的方法。网络上很多号称“不用编程,轻松实现自己的应用、助理”等,都是基于Prompt来做的。即使是需要通过编程的方式来使用大模型达到自己需求的,过程中也会大量使用Prompt,将Prompt固化到程序中,作为“代码”的一部分

所以,在现在的AI时代,Prompt也可以看作是一门【编程语言】,最近新兴了一个职业叫做【提示词工程师】,也就类似是AI时代的程序员

现在Prompt工程并没有形成一套完整的标准化体系,网络上关于如何使用Prompt的文章也是铺天盖地,非常杂乱,让人眼花缭乱。因为本人想以实战为主,因此本文只是总结一下Prompt的最基本构成和原则

重要提醒

  • Promt是一个需要不断优化的过程,没有哪一篇文章或哪一个Prompt是适用于所有场景,或者拿来直接可用的。
  • 即使同一个场景,相同的Prompt,不同的大模型之间也会效果不同。如果换了大模型,提示词大概率需要重新优化
  • 所以不要光看网上的什么【最佳实践】,还是要下场实操,在不断迭代中学会优化Prompt的方法,才是最重要的。

1. 为什么Prompt会起作用 - 大模型工作原理

简要概括:它只是根据上文,猜下一个词的概率,在前几个概率大的词中选择一个输出。

2. Prompt的典型构成、原则与技巧

3. 开始使用Prompt

如果不会编程,或不想写代码,可以直接在AI软件中使用Prompt,例如:

  • ChatGPT

  • 文心一言

4. 代码中加入Prompt

4.1 OpenAI API解释

下面是上篇文章【AI大模型应用开发】0. 开篇,用OpenAI API写个Hello World !我们的“Hello World”程序,里面包含了一个函数chat.completions.create

from openai import OpenAI
# 加载 .env 到环境变量
from dotenv import load_dotenv, find_dotenv
_ = load_dotenv(find_dotenv())
client = OpenAI()
response = client.chat.completions.create(
    model="gpt-3.5-turbo-1106",
    messages=[
        {
            "role": "user",
            "content": "你是谁?"
        }
    ],
)
print(response.choices[0].message.content)

该函数有几个重要参数解释下:

  • model:用来指定使用哪个模型,例如:gpt-3.5-turbo-1106
  • messages:传入大模型的prompt,prompt有三种角色:
  • system:系统指令,最重要,用于初始化GPT行为,以及规定GPT的角色、背景和后续行为模式。system是主提示,可以进行更加详细的设置。
  • user: 用户输入的信息。
  • assistant: 机器回复,由 API 根据 system 和 user 消息自动生成的。
  • temperature:参数值越小,模型就会返回越确定的一个结果。如果调高该参数值,大语言模型可能会返回更随机、创意的结果,如诗歌、写作等,可以适当提高。
  • max_token:控制了输入和输出的总的token上限,要求我们的prompt不能太长,或者控制上下文轮次!(给你估算成本和节省成本用的)
  • Top_p:与 temperature 一起称为核采样的技术,可以用来控制模型返回结果的真实性。如果你需要准确和事实的答案,就把参数值调低。如果你想要更多样化的答案,就把参数值调高一些。

Temperature和Top_p,一般建议是改变其中一个参数就行,不用两个都调整。调了效果也不一定显著;

本篇文章就先写到这里,下篇文章我们开始在代码中将Prompt用起来,并尝试将一些技巧加进去看下效果。


从今天开始,持续学习,开始搞事情。踩坑不易,欢迎关注我,围观我!

有任何问题,欢迎+vx:jasper_8017,我也是个小白,期待与志同道合的朋友一起讨论,共同进步!

相关文章
|
10月前
|
人工智能 API 开发工具
构建AI智能体:一、初识AI大模型与API调用
本文介绍大模型基础知识及API调用方法,涵盖阿里云百炼平台密钥申请、DashScope SDK使用、Python调用示例(如文本情感分析、图像文字识别),助力开发者快速上手大模型应用开发。
3242 18
构建AI智能体:一、初识AI大模型与API调用
|
10月前
|
人工智能 安全 开发工具
C3仓库AI代码门禁通用实践:基于Qwen3-Coder+RAG的代码评审
本文介绍基于Qwen3-Coder、RAG与Iflow在C3级代码仓库落地LLM代码评审的实践,实现AI辅助人工评审。通过CI流水线自动触发,结合私域知识库与生产代码同仓管理,已成功拦截数十次高危缺陷,显著提升评审效率与质量,具备向各类代码门禁平台复用推广的价值。(239字)
1784 24
|
10月前
|
机器学习/深度学习 人工智能 人机交互
当AI学会“看”和“听”:多模态大模型如何重塑人机交互
当AI学会“看”和“听”:多模态大模型如何重塑人机交互
726 121
|
10月前
|
人工智能 人机交互 知识图谱
当AI学会“融会贯通”:多模态大模型如何重塑未来
当AI学会“融会贯通”:多模态大模型如何重塑未来
509 114
|
10月前
|
人工智能 运维 Kubernetes
Serverless 应用引擎 SAE:为传统应用托底,为 AI 创新加速
在容器技术持续演进与 AI 全面爆发的当下,企业既要稳健托管传统业务,又要高效落地 AI 创新,如何在复杂的基础设施与频繁的版本变化中保持敏捷、稳定与低成本,成了所有技术团队的共同挑战。阿里云 Serverless 应用引擎(SAE)正是为应对这一时代挑战而生的破局者,SAE 以“免运维、强稳定、极致降本”为核心,通过一站式的应用级托管能力,同时支撑传统应用与 AI 应用,让企业把更多精力投入到业务创新。
904 30
|
10月前
|
人工智能 缓存 运维
【智造】AI应用实战:6个agent搞定复杂指令和工具膨胀
本文介绍联调造数场景下的AI应用演进:从单Agent模式到多Agent协同的架构升级。针对复杂指令执行不准、响应慢等问题,通过意图识别、工具引擎、推理执行等多Agent分工协作,结合工程化手段提升准确性与效率,并分享了关键设计思路与实践心得。
1459 20
【智造】AI应用实战:6个agent搞定复杂指令和工具膨胀
|
10月前
|
设计模式 人工智能 自然语言处理
3个月圈粉百万,这个AI应用在海外火了
不知道大家还记不记得,我之前推荐过一个叫 Agnes 的 AI 应用,也是当时在 WAIC 了解到的。
937 2
|
10月前
|
人工智能 安全 数据可视化
Dify让你拖拽式搭建企业级AI应用
Dify是开源大模型应用开发平台,融合BaaS与LLMOps理念,通过可视化工作流、低代码编排和企业级监控,支持多模型接入与RAG知识库,助力企业快速构建安全可控的AI应用,实现从原型到生产的高效落地。
Dify让你拖拽式搭建企业级AI应用
|
10月前
|
自然语言处理 数据挖掘 关系型数据库
ADB AI指标分析在广告营销场景的方案及应用
ADB Analytic Agent助力广告营销智能化,融合异动与归因分析,支持自然语言输入、多源数据对接及场景模板化,实现从数据获取到洞察报告的自动化生成,提升分析效率与精度,推动数据驱动决策。