ChatGPT Prompting开发实战(五)

一、如何编写有效的prompt

对于大语言模型来说,编写出有效的prompt能够帮助模型更好地理解用户的意图(intents),生成针对用户提问来说是有效的答案,避免用户与模型之间来来回回对话多次但是用户不能从LLM那里得到有意义的反馈。本文通过具体案例演示解析两个能够帮助写出有效的prompts的基本原则。案例使用来自OpenAI的模型"gpt-3.5-turbo"并调用相关的chat API:

二、编写清晰和有具体的指令(instructions)的prompt

要点描述:

使用分割符来清楚标明模型输入的不同部分,可以使用的分割符包括:```, """, < >, <tag> </tag>, :等等。

prompt示例如下:

text = f"""

You should express what you want a model to do by \

providing instructions that are as clear and \

specific as you can possibly make them. \

This will guide the model towards the desired output, \

and reduce the chances of receiving irrelevant \

or incorrect responses. Don't confuse writing a \

clear prompt with writing a short prompt. \

In many cases, longer prompts provide more clarity \

and context for the model, which can lead to \

more detailed and relevant outputs.

"""

prompt = f"""

Summarize the text delimited by triple backticks \

into a single sentence.

```{text}```

"""

response = get_completion(prompt)

print(response)

打印输出结果如下:

To guide a model towards the desired output and reduce irrelevant or incorrect responses, it is important to provide clear and specific instructions, which can be achieved through longer prompts that offer more clarity and context.

要点描述:

如何请求LLM给出一个结构化的输出,常见的结构化输出格式有JSON,HTML等。

prompt示例如下:

prompt = f"""

Generate a list of three made-up book titles along \

with their authors and genres.

Provide them in JSON format with the following keys:

book_id, title, author, genre.

"""

response = get_completion(prompt)

print(response)

打印输出结果如下:

要点描述:

请求模型检查输入文本是否满足给定的条件。

prompt示例如下(能够满足给定条件):

text_1 = f"""

Making a cup of tea is easy! First, you need to get some \

water boiling. While that's happening, \

grab a cup and put a tea bag in it. Once the water is \

hot enough, just pour it over the tea bag. \

Let it sit for a bit so the tea can steep. After a \

few minutes, take out the tea bag. If you \

like, you can add some sugar or milk to taste. \

And that's it! You've got yourself a delicious \

cup of tea to enjoy.

"""

prompt = f"""

You will be provided with text delimited by triple quotes.

If it contains a sequence of instructions, \

re-write those instructions in the following format:

Step 1 - ...

Step 2 - ...

...

Step N - ...

If the text does not contain a sequence of instructions, \

then simply write \"No steps provided.\"

\"\"\"{text_1}\"\"\"

"""

response = get_completion(prompt)

print("Completion for Text 1:")

print(response)

打印输出结果如下:

prompt示例如下(不能满足给定条件):

text_2 = f"""

The sun is shining brightly today, and the birds are \

singing. It's a beautiful day to go for a \

walk in the park. The flowers are blooming, and the \

trees are swaying gently in the breeze. People \

are out and about, enjoying the lovely weather. \

Some are having picnics, while others are playing \

games or simply relaxing on the grass. It's a \

perfect day to spend time outdoors and appreciate the \

beauty of nature.

"""

prompt = f"""

You will be provided with text delimited by triple quotes.

If it contains a sequence of instructions, \

re-write those instructions in the following format:

Step 1 - ...

Step 2 - ...

...

Step N - ...

If the text does not contain a sequence of instructions, \

then simply write \"No steps provided.\"

\"\"\"{text_2}\"\"\"

"""

response = get_completion(prompt)

print("Completion for Text 2:")

print(response)

打印输出结果如下:

相关推荐
智享食事1 小时前
智能家居赋能宠物经济:未来宠物行业的另一片蓝海
人工智能·智能家居·宠物
訾博ZiBo1 小时前
AI日报 - 2025年3月30日
人工智能
Qforepost1 小时前
“立正挨打”之后,黄仁勋正式公布英伟达的量子计算应对战略
人工智能·量子计算·量子
生信碱移1 小时前
简单方法胜过大语言模型?!单细胞扰动敲除方法的实验
大数据·人工智能·深度学习·算法·语言模型·自然语言处理·数据分析
m0_634448892 小时前
生成信息提取的大型语言模型综述
人工智能·语言模型·自然语言处理
积木链小链2 小时前
智能制造:自动化焊装线的数字化设计
人工智能·智能制造·数字化转型·信息技术
运筹说2 小时前
运筹说 第134期 | 矩阵对策的解法
人工智能·算法·矩阵·运筹学
点我头像干啥2 小时前
卷积神经网络在图像分割中的应用:原理、方法与进展介绍
人工智能·神经网络·cnn
周末程序猿3 小时前
RAG实战|向量数据库LanceDB指南
人工智能
yychen_java3 小时前
无人机与AI技术结合的突破性应用场景
人工智能·无人机