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)

打印输出结果如下:

相关推荐
大任视点17 分钟前
可梦AI获首批企业好评,蜜糖网络入驻共启AI短剧工业化
人工智能
高洁0124 分钟前
大模型-详解 Vision Transformer (ViT)
人工智能·python·深度学习·算法·transformer
科技峰行者26 分钟前
亚马逊云科技与OpenAI战略合作深度分析:算力联盟重塑AI产业格局
人工智能
说私域30 分钟前
O2O行业风口下的运营策略与定制开发AI智能名片S2B2C商城小程序的应用研究
人工智能·小程序
慕慕涵雪月光白31 分钟前
在Ubuntu系统上安装英伟达(NVIDIA)RTX 3070 Ti的驱动程序
linux·运维·人工智能·ubuntu
柳鲲鹏34 分钟前
OpenCV:BGR/RGB转I420(颜色失真),再转NV12
人工智能·opencv·计算机视觉
无风听海36 分钟前
神经网络之线性变换
人工智能·深度学习·神经网络
陈果然DeepVersion38 分钟前
Java大厂面试真题:Spring Boot+Kafka+AI智能客服场景全流程解析(九)
java·人工智能·spring boot·微服务·kafka·面试题·rag
aneasystone本尊40 分钟前
重温 Java 21 之外部函数和内存 API
人工智能
IT_陈寒1 小时前
7个Java Stream API的隐藏技巧,让你的代码效率提升50%
前端·人工智能·后端