提示工程概要

news/2024/5/17 5:57:28/文章来源:https://blog.csdn.net/ooblack/article/details/137411176

提示工程

1. 两大原则

原则 1:编写清晰具体的说明

  1. 使用分隔符

    • 三引号:“”"
    • 三个反引号:```
    • 三个破折号:—
    • 尖括号:<>
    • XML标签:
  2. 要求结构化输出

    • HTML
    • JSON
    • XML
    • Python字典
  3. 检查条件是否满足

    • 检查执行任务所需的假设
  4. 少量样本提示

    • 先给出完成任务的成功示例
    • 如何再让模型执行任务

原则2:给模型足够的时间思考

  1. 指定任务完成的步骤:
    第一步:…

    第二步:…

    第三步:…

    第N步:…

  2. 指示模型在给出结论之前提出自己的解决步骤(方案)

提醒

要注意LLM的“幻觉”(hallucination)现象,就是LLM会一本正经的胡说八道,给出一些错误信息,往往这些错误信息难以发觉。

避免手段:要求LLM首先找到相关引用,然后要求它使用这些引用来回答问题

2. 迭代

一般来说我们很难一次性就让LLM输出我们想要的内容,我们可以根据当前输出的内容以此基础一步一步迭代出我们想要的内容,大概过程如下

其中,第四步指的是在一些实践中,我们可以用小批量的测试来改进我们的prompts

3. 摘要

我们可以很方便的利用LLM来进行一些文字总结、提炼的工作

  1. 生成文章摘要
  2. 总结,可以带入上下文,让LLM进行更有针对性的总结,例如顾客对某件商品的评价,如果我们是商家,我们可以让LLM更侧重于总结价格之类的情况,而如果我们是快递公司,我们可以让LLM更侧重于总结快递速度之类的情况

4. 推理

  1. 情感分析,可以利用LLM进行结构化输出,例如对某件商品的评论区,可以逐条评论进行情感分析来了解多少个好评多少个差评,例如:

    f'''这是一个商品的评价,请你分析一下这是一条好评还是差评,如果是好评,就输出True,否则输出False,评价如下{msg}'''
    
  2. 可以将自己想知道的信息封装为一个json来利用大模型进行结构化输出,例如

  3. 关键词总结,下面是一个关键词总结的应用,旨在读取某一段新闻,如果该新闻是关于nasa的,就告警(这个代码不太健壮,因为每种大模型输出可能不太相同,我们可以让它输出JSON格式来增强代码的健壮性)

5. 转换

  1. 最多应用的就是翻译,在进行翻译时候我们需要注意到不同语言在不同场合和心情下翻译出来是不一样的,因此我们可以加上我们要翻译的句子的语境

  2. 当你输入一段文字,让大模型说出是什么语言时,可以让它就用一个词来回答,从而获得结构化数据

  3. 可以将不太正式的语言转换为正式语言,例如JSON,XML,字典相互转换

  4. 拼写检查和语法检查,对外语尤其有用可以使用一些工具来展示错误

6. 扩展

  1. 是指将短文本(例如一组说明或者主题列表)通过大语言模型转化为更长的文本(如一封电子邮件或一篇关于某个主题的文章)
  2. 例如我们可以根据客户在产品评论区对于产品的评价进行个性化回复
  3. temperature,指模型的随机性,值越小,模型越稳定,值越大,模型创造力更强,输出更不稳定

7. 聊天机器人

疑点解决:要达到聊天效果,也就是让LLM记住上下文,需要在本地存储上下文,每次发送给LLM时需要在前面加上上下文

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_1045653.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

13 指针(上)

指针是 C 语言最重要的概念之一&#xff0c;也是最难理解的概念之一。 指针是C语言的精髓&#xff0c;要想掌握C语言就需要深入地了解指针。 指针类型在考研中用得最多的地方&#xff0c;就是和结构体结合起来构造结点(如链表的结点、二叉树的结点等)。 本章专题脉络 1、指针…

二维相位解包理论算法和软件【全文翻译- 掩码(3.4)】

本节我们将研究从质量图中提取掩码的问题。掩码是一个质量图,其像素只有两个值:0 或 1。零值像素标志着质量最低的相位值,这些相位值将被屏蔽、零权重或忽略。第 5 章中的某些 L/ 正则算法需要使用掩码来定义零权重。掩码还可用于某些路径跟踪算法,如第 4.5 节中将要介绍的…

计算机网友将饭卡余额改成100多万

你在学校干过最疯狂的事是什么&#xff1f; 一位学计算机的网友说&#xff0c;他改造过的水卡和饭卡都能无限使用&#xff0c;两年后在食堂刷卡&#xff0c;被食堂阿姨发现余额竟然还剩一百多万&#xff0c;虽然没有赔钱&#xff0c;但是被学校教务处处分了&#xff0c;怎么说…

QT:信号与槽

作业&#xff1a; 完善对话框&#xff0c;点击登录对话框&#xff0c;如果账号和密码匹配&#xff0c;则弹出信息对话框&#xff0c;给出提示”登录成功“&#xff0c;提供一个Ok按钮&#xff0c;用户点击Ok后&#xff0c;关闭登录界面&#xff0c;跳转到其他界面 如果账号和…

Linux基础篇:Linux第三方软件仓库——可以让Linux变得有趣的软件仓库

Linux第三方软件仓库——可以让Linux变得有趣的软件仓库 一、epel源介绍 EPEL&#xff08;Extra Packages for Enterprise Linux&#xff09;源是一个由Fedora项目组维护的第三方软件仓库&#xff0c;为企业级Linux发行版&#xff08;如Red Hat Enterprise Linux&#xff08;…

Unity之PUN实现多人联机射击游戏的优化(Section 2)

目录 &#x1f3ae;一、准备工作 &#x1f3ae;二、实现手雷投掷动作 &#x1f3ae;三、手雷投掷同步 &#x1f4a4;3.1 photonView.RPC &#x1f3ae;四、同步手雷伤害 这几周都给我布置任务了&#xff0c;最近可忙。现在终于有机会更新了&#xff0c;也谢谢大家的阅读&a…

用dbms_shared_pool.purge清除执行计划

1.Oracle 11g如何清除share pool中某条SQL的执行计划 以前在Oracle 10g数据库上,如果遇到绑定窥探导致执行计划慢的情况,想要清除某条SQL的执行计划,让它硬解析,找了很久都没有找到直接操作share pool的方法&#xff08;总不能alter system flush shared_pool&#xff09;,只能…

自动化测试十大必备(背)面试题!【含答案精讲】

&#x1f525; 交流讨论&#xff1a;欢迎加入我们一起学习&#xff01; &#x1f525; 资源分享&#xff1a;耗时200小时精选的「软件测试」资料包 &#x1f525; 教程推荐&#xff1a;火遍全网的《软件测试》教程 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1…

unable to find a medium containing a live file system解决办法!

背景&#xff1a; 用Ventoy制作U盘系统安装盘&#xff0c;只需要把ISO镜像拷进去就可以&#xff0c;可以放多少个镜像取决于U盘的大小&#xff0c;无需重复制作。Ventoy 将U盘的第一个分区默认格式化为exFAT文件系统来存放ISO文件。 但是&#xff0c;今天鲲鹏920平台安装银河…

人工智能前沿成科技竞争新高地

以下文章来源&#xff1a;经济参考报 近日&#xff0c;首届中国具身智能大会&#xff08;CEAI 2024&#xff09;在上海举行。作为人工智能领域的前沿热点&#xff0c;具身智能正逐步走进现实&#xff0c;成为当前全球科技竞争的新高地、未来产业的新赛道、经济发展的新引擎。 “…

二分答案跳石头游戏

步骤&#xff1a; 输入&#xff1a; 用户输入了三个整数&#xff0c;分别表示石头的总长度l&#xff0c;石头的数量n&#xff0c;以及最多可以撤去的石头数量m。 初始化石头位置数组&#xff1a; 创建一个长度为n2的数组arr&#xff0c;用于存储每块石头的位置。数组的第一项…

mysql解锁表及查看表是否被锁

1、查进程&#xff0c;查找被锁表的那个进程的ID show processlist; 2、通过查询结果&#xff0c;找到要杀掉的进程&#xff0c;kill掉锁表的进程ID kill id; 3、查询是否锁表 show OPEN TABLES where In_use > 0; 1.delete------ 是逐行删除速度极慢&#xff0c;不适合…

网络安全---非对称数据加密签名验证

一、课题描述 三位同学一组完成数据的非对称加密和数字签名验证传输。 三位同学分别扮演图中 Alice、Bob 和 CA 三个角色&#xff0c;Bob 和 Alice 从 CA 中获得数字证书、Bob 向 Alice 发送秘密发送一段加密并签名后的信息&#xff0c;Alice 获取 Bob 发送的加密信息&#x…

<网络> 网络Socket编程基于TCP协议模拟简易网络通信

目录​​​​​​​ 前言&#xff1a; 一、字符串回响 &#xff08;一&#xff09;程序结构 &#xff08;二&#xff09;初始化服务器 &#xff08;三&#xff09;启动服务器 1. 处理连接请求 2. 业务处理 3. 回调函数 &#xff08;四&#xff09;填充server源文件 &…

微服务项目sc2024通用Base工程

1. cloud-provider-payment8001 2.pom文件 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"ht…

linux是乱码,linux乱码的解决方法 -,Linux运维入门零基础

保存退出,reboot系统即可… 2.X-window(图形界面)的乱码 vi /etc/sysconfig/i18n LANG“zh_CN.GB18030:zh_CN.GB2312:zh_CN.GBK:zh_CN:en_US.UTF-8:en_US:en:zh:zh_TW:zh_CN.BIG5” LANGUAGE“zh_CN.GB18030:zh_CN.GB2312:zh_CN.GBK:zh_CN:en_US.UTF-8:en_US:en:zh:zh_TW:z…

Peter算法小课堂—线性dp

今天&#xff0c;你读完这篇文章&#xff0c;普及组的动态规划已经可以秒了。 最长公共子序列 求两个数列的最长公共子序列&#xff08;Longest Common Subsequence&#xff0c;LCS&#xff09;的长度。 数列 X 和 Y 的最长公共子序列 Z&#xff0c;是指 Z 既是 X 的子序列&…

TypeScript—详解、小案例(配合源代码)

简介&#xff1a;TypeScript是微软开发的 JavaScript 的超集&#xff0c;TypeScript兼容JavaScript&#xff0c;可以载入JavaScript代码然后运行。TypeScript与JavaScript相比进步的地方 包括&#xff1a;加入注释&#xff0c;让编译器理解所支持的对象和函数&#xff0c;编译器…

二分查找与搜索树高频问题-算法通关村

二分查找与搜索树高频问题-算法通关村 1 基于二分查找的拓展问题 1.1 山脉数组的封顶索引 LeetCode852&#xff1a;这个题的要求有点啰嗦&#xff0c;核心意思就是在数组中的某位位置i开始&#xff0c;从0到 i 是递增的&#xff0c;从i1到数组最后是递减的&#xff0c;让你找到…

echarts地图自定义label属性以及引入china.js

效果图: 要点1:calc函数 重点&#xff1a;在于mapChart的height可以写成函数以便适配不同尺寸&#xff1b; <div class"content-map"><div class"wai-top-box" style"width: 100%; height: 100%"><div id"mapChart" s…