prompt第一讲-prompt科普

文章目录

    • 大语言模型输入要求
    • 中英翻译助手
      • 直接抛出问题
      • 描述+问题
      • 描述(详细)+问题
      • 描述+案例+问题
      • 描述+案例+上下文+问题
        • 为什么要加入上下文
      • prompt总结
      • prompt心得

大语言模型输入要求

大语言模型本质上就是一个NLP语言模型,语言模型其实就是接受一堆的文本,得到一堆的文本,而输入给模型的这段文本,我们通常把他称之为prompt
下面我们以一些具体的例子来感受一下这段文本(prompt)该如何写。

中英翻译助手

我现在要做一个中英文翻译任务,下面我会一步一步的写出prompt
注:以下的测试内容均是通过通义千问进行测试的(https://tongyi.aliyun.com/qianwen/),原则上你可以使用任何大语言模型进行测试

直接抛出问题

请将单词“扑街”翻译为英文

下面是千问给的回答,从下面的回答中可以看出有些废话是我们不需要的,我们只需要最终答案
在这里插入图片描述

描述+问题

你是一个翻译助手,你擅长将中文翻译为英文,请将我发送给你的question的内容翻译为英文
question:扑街

首先我们先看看相较于前面的prompt,我们这次不是直接描述我们想要解决的问题,而是加上了一个描述,这个描述给llm定义了一个角色,同时也告诉了它的职责
加上了这些描述之后,貌似是有了一些效果,但是还是返回了一些无关的内容,接下来我们再继续做一些说明限制
在这里插入图片描述

描述(详细)+问题

你是一个翻译助手,你擅长将中文翻译为英文,请将我发送给你的question的内容翻译为英文,不要返回无关的内容,只需返回最终翻译结果
question:扑街

这一次我们除了定义了llm的身份,同时也告诉了他什么该做什么不该做。改进之后我们看看下面的回复内容,我们发现,他就不会出现那些废话了,但是有一些问题出现了:

  1. 比如我发送“123”的时候,它并没有翻译;
  2. 我发送“不要翻译为英文”的时候,它返回了一些质疑的内容;
    可能还会有其他的问题,你们可以继续试一试,总之为了解决现在发现的问题,我们继续改进
    在这里插入图片描述

描述+案例+问题

你是一个翻译助手,你擅长将中文翻译为英文,请将我发送给你的question的内容翻译为英文,不要返回无关的内容,只需返回最终翻译结果,下面的history examples中提供了一些具体的案例,为你提供一些参考:## history examples:
question:美丽->answer:beautiful;
question:男孩->answer:boy;
question:男人->answer:man;
question:456->answer:four hundred and fifty-six;
question:1->answer:one;
question:34->answer:thirty-four;## user true task:
question:123->answer:

相较于上一步,这一步的改进内容就是加入了一些案例,让模型知道当遇到数字的时候也需要翻译为英文,但是其实在这个案例中加入的例子并不能完全说明例子的作用,
因为我们完全可以在描述部分进行更详细的描述和限制就可以了,比如和大模型说明:当遇到数字的时候,也需要将它翻译为中文,这样也是可以的。而例子真正能够发挥作用的地方通常是面对一些特殊的回答格式等要求上,
比如你需要模型返回一个list或者是json格式的数据的时候,这时候你给一个案例对模型来说是非常有用的。如果你不给例子,而只是在描述的时候说明的话,模型跑着跑着大概率就会跑偏,
如果加入一些案例,那么就会大大加强模型的指令跟随能力。
在这里插入图片描述

描述+案例+上下文+问题

基本上上面关于中英文翻译的问题就被解决了,下面我来再举一个具体的例子:私域企业问答助手。
假设有一个公司非常大,大到员工找资料都很费劲,这时候就需要一个助手,能够回答出员工提出的一些关于公司内部的问题。在这个案例中,有一个特殊性在于,这些答案都是来自于公司内部的文档的,
而模型生成的内容铁定是不对的。所以这时候,最好的办法就是先利用某种相似度匹配算法,在公司内部文档中找到和问题相关的答案,然后将这个可能的答案以上下文的形式带回给模型,让
模型根据上下文来生成答案。

你是一个企业问答助手,你需要根据我发送给你的context来回答我提出的question,并且在回答结束后加入一个表情符号,下面的history examples是一些具体的案例,请参考history examples的回答风格来回答:## history examples:
context:马云,1964年9月10日出生于浙江杭州,祖籍浙江省嵊县(现嵊州市)谷来镇,汉族,中共党员,阿里巴巴主要创始人之一,阿里巴巴原首席执行官(CEO)、董事局原主席,中国人民政治协商会议第十届浙江省委员会委员 。;
question:阿里巴巴的创始人是谁?
answer:是马云Σ(⊙▽⊙"a;## context: 
为了相应公司号召,数字艺术部门上周开展了两个会议,第一个是关于公司形象设计的会议,讨论提高公司 的形象,第二个是关于网站风格的设计会议,讨论网站的配色问题。## user true task:
question:数字艺术部上个月开了什么会议?
answer:

从下面的结果可以看出,它是根据context回答问题的,同时也像案例中一样,在结尾加入了一个表情,完美了。
在这里插入图片描述

为什么要加入上下文

llm缺陷

  1. 生成内容滞后性:因为模型都是基于历史数据训练的,比如gpt最新是利用了20222年之前的数据进行训练的,那么你问的内容是关于2022年之后的,自然就回答不上来了
  2. 无法生成私域答案:因为模型都是基于历史而且是开放数据训练的,所以对于一些私域的问题的回答,诸如回答公司内部的条例等,它是不行的;
  3. 生成内容有幻觉性:模型生成的内容是基于一定概率进行生成的,这样就会有一定的虚假和捏造的概率,这叫做幻觉,如果你开发的应用是面向生产 那么最好是要避免幻觉的
    任务的特殊性
  4. 如果你要llm完成的任务是具有一定的新颖性,至少答案对于llm训练数据来说是新的;
  5. 如果你要llm完成的任务是私域的;
  6. 如果你要llm完成的任务是面向生产,不容出错的(不允许幻觉)
    基于以上llm缺陷的考虑和任务的特殊性考虑,是需要加入一定的上下文的。为llm回答问题提供素材,而这一类上下文一般是通过相似度匹配的形式,找出一些
    候选的上下文。

prompt总结

从上面的两个例子我们可以总结一下:

  1. 输入模型的就是一堆的字符串,而这这堆字符串通常我们称为prompt
  2. prompt一般会有四个部分组成
    3. 描述:定义模型的角色身份,能力边界,以及一些必要的限制条件
    4. 示例:给出一些案例,加强模型指令跟随能力
    5. 上下文:和答案相关的上下文,为回答问题提供资料支持
    6. 问题:用户提出的具体问题

基本上大概就这四部分构成一个prompt,当然如果你的任务足够简单,有可能你并不需要四部分都具备,同时呢?也有可能任务很复杂,
你会设计更复杂的prompt,但是大致都是可以总结为这四个组成部分。

prompt心得

我个人觉得,prompt的书写有点类似写专利的权利要求书,不断的将限制范围缩小,每一步的书写都是将范围或者是模型的能力限制更小一些。它像一颗树形结构一样,不断的将权利进行限制和明确

附上筋斗云,会有完整教程和代码:https://github.com/traveler-leon/langchain-learning.git

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

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

相关文章

ubuntu服务器安装labelimg报错记录

文章目录 报错提示查看报错原因安装报错 报错提示 按照步骤安装完labelimg后,在终端输入labelImg后,报错: (labelimg) rootinteractive59753:~# labelImg ………………Got keys from plugin meta data ("xcb") QFactoryLoader::Q…

hutool处理excel时候空指针小记

如图所示&#xff0c;右侧的会识别不到 参考解决方案&#xff1a; /***Description: 填补空缺位置为null/空串*Param: hutool读取的list*return: 无*Author: y*date: 2024/7/13*/public static void formatHutoolExcelArr(List<List<Object>> list) {if (CollUtil…

企业网络实验dhcp-snooping、ip source check,防非法dhcp服务器、自动获取ip(虚拟机充当DHCP服务器)、禁手动修改IP

文章目录 需求相关配置互通性配置配置vmware虚拟机&#xff08;dhcp&#xff09;分配IP服务配置dhcp relay&#xff08;dhcp中继&#xff09;配置dhcp-snooping&#xff08;防非法dhcp服务器&#xff09;配置ip source check&#xff08;禁手动修改IP&#xff09; DHCP中继&…

Android ListView

ListView ListView是以列表的形式展示具体内容的控件&#xff0c;ListView能够根据数据的长度自适应显示&#xff0c;如手机通讯录、短消息列表等都可以使用ListView实现。如图1所示是两个ListView&#xff0c;上半部分是数组形式的ListView&#xff0c;下半部分是简单列表Lis…

《Linux系统编程篇》认识在linux上的文件 ——基础篇

前言 Linux系统编程的文件操作如同掌握了一把魔法钥匙&#xff0c;打开了无尽可能性的大门。在这个世界中&#xff0c;你需要了解文件描述符、文件权限、文件路径等基础知识&#xff0c;就像探险家需要了解地图和指南针一样。而了解这些基础知识&#xff0c;就像学会了魔法咒语…

jenkins系列-07.轻易级jpom安装

jpom是一个容器化服务管理工具&#xff1a;在线构建&#xff0c;自动部署&#xff0c;日常运维, 比jenkins轻量多了。 本篇介绍mac m1安装jpom: #下载&#xff1a;https://jpom.top/pages/all-downloads/ 解压&#xff1a;/Users/jelex/Documents/work/jpom-2.10.40 启动前修…

css基础(1)

CSS CCS Syntax CSS 规则由选择器和声明块组成。 CSS选择器 CSS选择器用于查找想要设置样式的HTML元素 一般选择器分为五类 Simple selectors (select elements based on name, id, class) 简单选择器&#xff08;根据名称、id、类选择元素&#xff09; //页面上的所有 …

Web 性能入门指南-1.5 创建 Web 性能优化文化的最佳实践

最成功的网站都有什么共同点&#xff1f;那就是他们都有很强的网站性能和可用性文化。以下是一些经过验证的有效技巧和最佳实践&#xff0c;可帮助您建立健康、快乐、值得庆祝的性能文化。 创建强大的性能优化文化意味着在你的公司或团队中创建一个如下所示的反馈循环&#xff…

centos7|Linux操作系统|编译最新的OpenSSL-3.3,制作rpm安装包

一、 为什么需要编译rpm包 通常&#xff0c;我们需要安装某个软件&#xff0c;尤其是在centos7这样的操作系统&#xff0c;一般是通过yum包管理器来安装软件&#xff0c;yum的作用是管理rpm包的依赖关系&#xff0c;自动的处理rpm包的安装顺序&#xff0c;安装依赖等的相关问…

交换机和路由器的工作流程

1、交换机工作流程&#xff1a; 将接口中的电流识别为二进制&#xff0c;并转换成数据帧&#xff0c;交换机会记录学习该数据帧的源MAC地址&#xff0c;并将其端口关联起来记录在MAC地址表中。然后查看MAC地址表来查找目标MAC地址&#xff0c;会有一下一些情况&#xff1a; MA…

通过Bugly上报的日志查找崩溃闪退原因

第一步&#xff0c;解析堆栈信息 在bugly上收集到的信息是这样的 0x000000010542e46c 0x0000000104db4000 6792300 OS应用发生崩溃时&#xff0c;系统会生成一份崩溃日志&#xff0c;这份日志中包含了崩溃时的堆栈信息&#xff0c;但这些堆栈信息并非直接指向源代码&#x…

【漏洞复现】某赛通 电子文档安全管理系统 多个接口存在远程命令执行漏洞

免责声明&#xff1a; 本文内容旨在提供有关特定漏洞或安全漏洞的信息&#xff0c;以帮助用户更好地了解可能存在的风险。公布此类信息的目的在于促进网络安全意识和技术进步&#xff0c;并非出于任何恶意目的。阅读者应该明白&#xff0c;在利用本文提到的漏洞信息或进行相关测…

【RAG 实践】LlamaIndex 快速实现一个基于 OpenAI 的 RAG

这是 LlamaIndex 官方 Starter Tutorial 中 demo&#xff0c;用很少的代码来使用 OpenAI 快速实现出一个 RAG。 Ref: Starter Tutorial | LlamaIndex 代码&#xff1a;llamindex-rag-demo | Kaggle 1&#xff09;设置 OpenAI Token 这里使用国内的 OpenAI 中转 API token&…

【Python】数据分析-Matplotlib绘图

数据分析 Jupyter Notebook Jupyter Notebook: 一款用于编程、文档、笔记和展示的软件。 启动命令&#xff1a; jupyter notebookMatplotlib 设置中文格式&#xff1a;plt.rcParams[font.sans-serif] [KaiTi] # 查看本地所有字体 import matplotlib.font_manager a sorted…

802.11ax RU - 传输的最小单元

子载波 无线信号是加载在某个固定频率上进行传输的&#xff0c;这个频率被称为载波。802.11标准中&#xff0c;对传输频率有更新的划分&#xff0c;而这些划分的频率被称为子载波。Wi-Fi 6中&#xff0c;以20Mhz信道为例&#xff0c;20Mhz信道被划分成256个子载波&#xff0c;…

QML 鼠标和键盘事件

学习目标&#xff1a;Qml 鼠标和键盘事件 学习内容 1、QML 鼠标事件处理QML 直接提供 MouseArea 来捕获鼠标事件&#xff0c;该操作必须配合Rectangle 获取指定区域内的鼠标事件, 2、QML 键盘事件处理&#xff0c;并且获取对OML直接通过键盘事件 Keys 监控键盘任意按键应的消…

基于3D感知的端到端具身操作论文导读

DexIL&#xff1a;面向双臂灵巧手柔性操作的端到端具身执行模型 模型架构 输入&#xff1a;   观测Ot&#xff1a; RGB点云&#xff0c;使用PointNet进行编码;   状态St&#xff1a; 双臂末端7x2Dof位姿16x2灵巧手关节位置&#xff0c;只进行归一化&#xff0c;无编码&am…

Linux Win 10 Windows上安装Ollama部署大模型qwen2 7b/15配置启动 LangChain-ChatChat 0.2.10进行对话

Win 10 Window安装Ollama部署qwen2 7b LangChain-ChatChat 环境说明 Win 10 Python 3.11.9 LangChain-ChatChat 0.20 Ollama 0.2.10 Qwen2 1.5b/7b Windows 安装Ollama 下载并安装Windows版Ollama https://ollama.com/download#/ 下载大模型qwen2:1.5b或者qwen2:7b 在命令…

从实时监控到风险智能预警:EasyCVR视频AI智能监控技术在工业制造中的应用

随着科技的不断进步和工业制造领域的持续发展&#xff0c;传统的生产管理方式正逐渐转型&#xff0c;迈向更加智能、高效和安全的新阶段。在这个变革过程中&#xff0c;视频智能监控技术凭借其独特的优势&#xff0c;成为工业制造领域的管理新引擎&#xff0c;推动着从“制造”…

【YOLOv8系列】(三)YOLOv8应用实践:从识别到分类再到分割的全方位视觉解决方案

随着深度学习技术的不断演进&#xff0c;目标检测领域的明星模型——YOLO系列&#xff0c;已经发展到了第八代&#xff0c;即YOLOv8。这一版本不仅继承了前辈们快速与准确的特点&#xff0c;还实现了功能上的巨大飞跃&#xff0c;成为了一个全能型的视觉AI工具箱&#xff0c;支…