宝箱配钥匙:走进吴恩达系列的prompt!

最近关注到的吴恩达系列让我受益匪浅,学到了里面的Prompt Engineering,讲解如何有效地构造和优化问题(prompts)以引导大型语言模型(LLMs)产生高质量、目标导向的响应。在这里梳理思路,展示出prompt的魅力。

何为prompt

大家应该都知道LLM ------大型语言模型 (Large Language Model) 。把LLM比作财富无数的宝库,蕴含着巨大的潜力和价值,它们能够理解和生成人类语言,从而在各种应用场景中发挥重要作用,比如内容创作、代码生成、语言翻译等。

而prompt就是打开宝库的钥匙,通过精心设计的提示,我们可以引导这些模型按照我们的意图输出信息或完成特定任务。正确的prompt能极大地提升模型的性能和实用性。

在人工智能(AI)领域,Prompt(提示词)是一种用来引导或激发AI模型(尤其是大型语言模型)生成特定输出或执行特定任务的文本输入。它充当了用户与AI系统之间沟通的桥梁,通过提供上下文、指令或问题的形式,帮助AI理解期望的回应内容和格式。简单来说,Prompt就像是给AI的"提示",告诉它应该做什么或者如何响应。

编程中prompt的魅力

前面我们介绍了prompt与编程的结合,现在通过代码来感受prompt的魅力。我们需要总结一段文字,可以这样完成:

  1. 先从本地node_modules 引入openai模块并实例化,创建main()入口主函数,搭建好基本的框架。这里的apiKey属于个人财富,所以我们要保证它的安全性。创建一个.env 文件,环境变量对象,包含着所有的环境变量,我们在里面定义好自己的apiKey,然后引入dotenv模块。
javascript 复制代码
const OpenAI = require('openai')
require('dotenv').config()

const client = new OpenAI({
    apiKey: 'OPENAI_API_KEY', //安全
    baseURL: 'https://api.chatanywhere.tech/v1'
}) 

async function main() {}
  1. 调用OpenAI API来创建一个聊天完成(chat completion)请求。指定适合聊天的的模型版本'gpt-3.5-turbo'。
php 复制代码
const chatCompletion = await client.chat.completions.create({
    model: 'gpt-3.5-turbo', // 适合聊天的模型
    messages: [
        {
            role: 'user',
            content: prompt
        }
    ]
})
console.log(chatCompletion.choices);
  1. 将我们想要总结的文本写出来,在prompt中简单直接地输入我们想要得到的结果。
javascript 复制代码
let text = `
    您应该提供尽可能清晰、具体的指示,以表达您希望模型执行的任务\
    这将引导模型朝向所需的输出,并降低收到无关或不正确响应的可能性。\
    不要将写清晰的提示词与简短的指示词混淆。\
    在许多情况下,更长的提示词可以为模型提供更多的清晰度和上下文信息,\
    从而拿到更详细的相关输出。
`
let prompt = `
    把下面的文本总结成一句话。
    ${text}
`

这是最后返回的结果,但是如果说可以做的更好呢,这里就要提到prompt设计模式了。

Prompt设计模式

Prompt设计模式是指构建高效、引导性和创造性的提示(prompts)以优化AI回应质量的方法策略。这些模式旨在帮助用户明确表达需求,同时促使AI系统产生准确、有创意且符合上下文的回答。

1. 长提示效果更好

提供较为详尽、具体或包含多个元素的指令、问题或描述。这类提示往往旨在引导AI进行更复杂、细致的生成或分析任务,相比简短的命令,它们能够提供更多上下文信息、细节说明或是创意指引,帮助AI更准确地理解和执行用户的意图。甚至可以添加要求,将需求细致化,分步化。

r 复制代码
let prompt = `
    把用三个反引号括起来的文本总结成一句话,20字以内,英文。
    \`\`\`${text}\`\`\`
`
2. 给它一些例子,展示LLM的学习能力

向其提供大量标注好的数据样本,这些样本包含了预期输出的结果。这个过程是机器学习和深度学习的核心部分,通过这些例子,AI模型能够学习特征、规律和模式,并基于此进行预测、分类、生成等任务。

markdown 复制代码
let prompt = `
    您的任务是以一致的风格回答问题。

    <孩子>: 教我耐心。

    <祖父母>: 挖出最深峡谷的河流源于一处不起眼的泉眼;最宏伟的交响乐从单一的音符开始;最复杂的挂毯以一根孤独的线开始编织。

    <孩子>: 教我韧性。
`

prompt的魅力无限,让我们一起学习,一起进步!

相关推荐
向上的车轮21 小时前
基于深度学习与OpenCV的物体计数技术全解析
人工智能·深度学习·opencv
AI营销先锋21 小时前
AI营销下半场:安全定胜负
人工智能
Web3VentureView21 小时前
Synbo 产品发布会在吉隆坡举行:重构 Web3 一级市场融资模式
网络·人工智能·重构·web3·区块链·synbo
Together_CZ21 小时前
Rex-Omni:Detect Anything via Next Point Prediction——通过下一个点预测检测任何事物
人工智能·目标跟踪·rex-omni·detect anything·next point·prediction·通过下一个点预测检测任何事物
OpenCSG21 小时前
13.6B参数铸就“世界模型”,美团LongCat-Video实现5分钟原生视频生成,定义AI视频新标杆
人工智能·音视频
Together_CZ21 小时前
DEIMv2:Real-Time Object Detection Meets DINOv3——实时目标检测遇上 DINOv3
人工智能·目标检测·objectdetection·dinov3·deimv2·real-time·实时目标检测
by__csdn21 小时前
Ajax与Axios终极对比指南全方位对比解析
前端·javascript·ajax·okhttp·typescript·vue·restful
Dev7z21 小时前
基于Matlab多算法的图像增强与客观质量评价系统
人工智能·算法·matlab
开发者小天21 小时前
React中的 css in js的使用示例
javascript·css·react.js
khatung21 小时前
借助Electron打通平台与用户通知(macOS系统)
前端·javascript·vscode·react.js·macos·electron·前端框架