GPT入门如何写好Prompt

chatgpt中文网2024-02-07510

先做个广告:如需代注册帐号或代充值Chatgpt Plus会员,请添加站长客服微信:gptchongzhi

推荐使用GPT中文版,国内可直接访问:hhttps://ai.gpt86.top 

我们提到了Prompt的源码分析,以及我们在LangChain开发中是如何使用Prompt,这一节课,我们继续研究Prompt,关注如何写好Prompt。

首先,我们再次说明,Prompt可就是我们给到大语言模型的输入,当前比较常用的Prompt有两种类型:

    • Zero-Shot Prompting,又称之为零样本提示;

    • Few-Shot prompting,小样本提示,或者样式提示,或者称之为案例提示都可以;

下面我们就分别就这两种类型进行阐述。

02 | Zero-Shot Prompting‍‍

Zero-Shot Prompting,零样本提示模型,也就是不需要给到大模型任何的示例,直接由大模型控制输出即可。‍‍‍‍‍‍‍‍‍‍

这种能力的原因在于大模型训练了大量的数据,具备一定的推理能力,因此,可以实现一些零样本任务,比如如下的示例:‍‍‍‍

你现在需要从如下的问题中抽取出城市名称和目的地信息。输入:我想去北京的西三旗,怎么走
输出:北京,西三旗

在这个例子中,我们并不需要提供任何的示例,模型就可以从问题中解析出城市和目的地数据,这就是零样本的能力。‍‍‍‍‍‍‍‍‍‍‍‍

但是这种情况主要用于你要大模型分析的数据是常见的能力,或者大模型已经具备的能力,毕竟大模型并不具备创造的能力,它最擅长的就是归纳总结以及改写能力。

03 | Few-Shot Prompting

Few-Shot Prompting,样例提示主要是在大模型无法理解我们的问题,或者我们需要大模型按照我们的格式进行输出的时候,我们就要在提示中进行引导或者给出一定的样例,对模型进行一定的微调,来实现我们的业务要求。‍‍‍‍‍‍‍‍‍‍‍‍

先看第一个例子,也就是大模型无法理解我们的问题。如果是零样本提示,大模型回答如下:‍‍‍‍‍‍‍‍

请给下面的一句话分词:输入:我一把把车把把住了

输出:我/一把把/车把/把/住/了

如果是样本提示,我们可以给出一些词语的含义,比如:‍‍

请给下面的一句话分词,可以参照下面的一些样例数据:样例:输入:我想过过儿过过的生活输出:我/想过/过儿/过过的/生活解析:我是主语,想过值得是想要尝试,过儿指的是《神雕侠侣》的杨过,过过的生活指的是曾经生活过的生活

输入:我一把把车把把住了输出:

这时候大模型就会按照我们的预想进行分词。

还有一种情况呢,就是我们想要大模型按照我们想要的格式进行输出,还是上面的零样本提示,如果我们需要大模型按照如下的json格式输出{"city":"北京","destination":"西三旗"},那么我们就需要给出一定的样例,从而让大模型按照我们的要求输出。‍‍‍‍

你现在需要从如下的问题中抽取出城市名称和目的地信息,以json格式输出。样例:输入:我想去深圳的深圳湾输出:{"city":"深圳","destination":"深圳湾"}
输入:我想去北京的西三旗,怎么走输出:

这时候大模型就会按照我们的要求输出了。

如果要写入代码中,我们怎么来写呢?很简单,直接将上面的两个内容当做prompt直接传入大模型即可:

template='''上面的两个prompt传入即可'''prompt = PromptTemplate(template = template)
llm = OpenAI(temperature=0)print(llm(prompt))

代码就是这么简单,就能够完成我们想要的能力了。‍

04 | 小结

上述两种提示的类型需要根据具体的业务要求进行选择,一般情况下,建议使用Few-Shot Prompt,更能够按照我们的要求进行输出。‍‍‍‍‍‍

GPT4代充值

本文链接:http://xiaogongchang.cn/chatgpt/714.html

Prompt

相关文章