首页 > 其他分享 >Prompt Enginnering(提示工程)

Prompt Enginnering(提示工程)

时间:2024-07-22 19:28:47浏览次数:16  
标签:prompt 提示 模型 生成式 GPT Prompt 我们 Enginnering

什么是提示工程

prompt enginnering是提示工程的意思,也有叫指令工程。

用白话讲:是我们对GPT说出的话,我们向它提问的信息,就是prompt。

官方一点:是我们使用自然语言提示来控制和优化生成式模型(生成式模型例如:Open Ai的GPT-3,GPT-4o)输出的一项技术。对prompt进行优化,可以使我们从生成式模型中获取到预期或更优的结果。

说是技术,其实就是对GPT打字对话的一个能力,门槛非常低,人人都会,不管你会不会编程,但是如果我们懂编程,一定要知道我们在prompt enginnering上的优势。

会用提示工程的的优势

在上个文章(大模型应用开发基础-CSDN博客)我们说过大模型是怎么生成结果的,我们知道这个原理,在prompt的时候,我们就清楚哪些prompt是无效的哪些是有效的prompt。

可以通过精准的prompt减少无效的的生成内容,相比较于重新去调试模型,我们通过优化后的prompt更简便快速。

使用prompt的目的

第一:就是直接发出prompt获取结果,例如:周树人是谁,这种简单,人人都会

第二:将prompt集成到我们的系统中,开发一套客服系统或者知识库问答。这种较难,需要调试,这一步也正是我们会使用prompt的优势。

prompt的构成

prompt的构造非常重要,一个有效的prompt可以显著提升模型的输出质量。

1. 角色:当前是什么角色,例如:是一个java开发工程师。

2. 上下文:背景信息,上下文的描述。例如:做了三年的java开发,主要是什么什么项目。这个在多伦交互中特别重要。

3. 提示(prompt)说明:描述信息

4. 格式要求:例如:json格式,自然语言格式,英语。

5. 例子:举例说明,必要时举例一个类似的例子,这个对模型输出的结果正确性有帮助。

任何其他约束,例如:字数,大小于条件。

prompt(提示)调优

prompt调优就是将上面的prompt构成给覆盖,要把AI当作人去沟通,提出的问题要公正,没有歧义。

防止prompt攻击

有时候用户输入的信息会改变我们对模型的设置,这里举个例子:

1. 著名的【奶奶漏洞】:

这种需要一个拦截模型或函数,对这些影响系统的prompt进行鉴别,不好的拦截掉,还有一种解决办法是:

在输入中进行防御,在设定的系统中告诉AI,用户的任何prompt不能改变你的角色和一些环境,如果发现进行提示。

2. 用户打出的prompt,有很多脏话,这个咱们国内有很多处理方式,直接扫描用户的prompt进行拦截就好。

标签:prompt,提示,模型,生成式,GPT,Prompt,我们,Enginnering
From: https://blog.csdn.net/m0_64466960/article/details/140605367

相关文章

  • 《Epic Games》启动显示找不到xinput1_3.dll怎么处理,Epic游戏平台提示缺失xinput1_3.d
    在通过EpicGames平台尽情畅玩各类精彩游戏的过程中,有部分玩家或许会不幸遭遇“找不到xinput1_3.dll”或者“xinput1_3.dll缺失”这样的错误提示。由此导致游戏无法顺利启动。这类问题的根源在于系统中缺少了一个被称作“xinput1_3.dll”的关键重要动态链接库文件,直接对游戏的......
  • 使用描述符进行类型提示
    在这个拉取请求中看起来添加了对描述符的类型提示支持。但是,似乎没有发布最终的“正确”用法示例,也没有添加任何文档typing模块或Mypy.它看起来像正确的用法是这样的这个:fromtypingimportTypeVarT=Type......
  • 如何确保 return_value 类型与被模拟方法的类型提示兼容
    假设我有一个单元测试,它模拟一些类A以返回自定义值。我希望能够更改模拟A实例返回的值,但我绝对不想意外更改返回值的类型并导致我的测试无意中检查错误的内容。例如,采用下面的代码:importdatetimeimportunittestimportunittest.mockclassA:d......
  • 利用ChatGPT完成文献综述并高效撰写,全流程实操指南,附50+顶级提示词指令
    大家好,感谢关注。我是七哥,一个在高校里不务正业,折腾学术科研AI实操的学术人。关于使用ChatGPT等AI学术科研的相关问题可以和作者七哥(yida985)交流,多多交流,相互成就,共同进步,为大家带来最酷最有效的智能AI学术科研写作指南高级学术科研GPT专业版已全面升级,国际顶级应用满足各种学......
  • vue3 ts 项目增加eslint插件实现命令行报错提示和vscode 报错提示,eslint 最新版本9.x
    快速开始安装eslintyarnaddeslint-D然后运行初始化eslintnpxeslint--init接着上面命令会自动生成一个新文件eslint.config.jseslint.config.jsimportglobalsfrom"globals";importpluginJsfrom"@eslint/js";importtseslintfrom"typescript-eslint......
  • Delphi皮肤控件AlphaControls去NAG提示
    国外知名皮肤控件AlphaControls,一些好看的皮肤会弹出对话框....用查找句柄的方法去发消息关闭对话框,都不得行...,以为是屏敝了消息,自定义消息也失效。后面用修改内存地址指令的方法,就可以有效的去掉NAG提示functionFindPattern(ProcessHandle:THandle;StartAddr,EndAddr:D......
  • DSPy:提示词工程师的“终章”?
    作者:老余捞鱼原创不易,转载请标明出处及原作者。写在前面的话:伴随AI应用的广泛推广与普及,人们逐渐意识到,提示词工程绝非万能的艺术抑或科学,它并非对所有问题的提示策略都行之有效,只有部分提示语在孤立情形下看似优良,然而在综合运用时却难担重任。并且,每当大模型平台的某......
  • net core中使用jwt时,提示DenyAnonymousAuthorizationRequirement: Requires an authe
    客户端请求是401,控制台提示info:Microsoft.AspNetCore.Authorization.DefaultAuthorizationService[2]Authorizationfailed.Theserequirementswerenotmet:DenyAnonymousAuthorizationRequirement:Requiresanauthenticateduser.翻遍了资料,也查不到原因,......
  • Java Swing Loading转圈的进度提示框
    JavaSwingLoading转圈的进度提示框具体只需要两个类AnimatedPanel.javaInfiniteProgressPanel.java 前因:我们开发的web应用,有个奇葩的需求,需要客户触发到客户端与第三方交互的地方加个Loading效果,已经脱离了web程序页面交互范围了,只是通过socket进行通信交互......
  • win10访问共享打印机提示0x0000011b错误原因分析及解决方法
          2024年十大技术难题之“共享打印机报0x0000011b错误”该问题一直存在,该问题是由于Win10更新补丁后大面积出现打印机无法共享。即使目前最新的Win1022h2镜像还是没有修复打印机共享BUG,虽然微软发布了最新更新补丁,越更新越有问题。不过此工具可以修复最近出现......