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)

打印输出结果如下:

相关推荐
Clarence Liu5 小时前
用大白话讲解人工智能(4) Softmax回归:AI如何给选项“打分排序“
人工智能·数据挖掘·回归
教男朋友学大模型5 小时前
Agent效果该怎么评估?
大数据·人工智能·经验分享·面试·求职招聘
hit56实验室5 小时前
AI4Science开源汇总
人工智能
dingdingfish5 小时前
Bash学习 - 第6章:Bash Features,第9节:Controlling the Prompt
prompt·bash·ps1
CeshirenTester5 小时前
9B 上端侧:多模态实时对话,难点其实在“流”
开发语言·人工智能·python·prompt·测试用例
relis5 小时前
Tiny-GPU 仿真与静态分析完整指南:Pyslang + Cocotb 实战
人工智能
njsgcs5 小时前
agentscope怎么在对话的时候调用记忆的
人工智能
泯泷5 小时前
提示工程的悖论:为什么与 AI 对话比你想象的更难
人工智能·后端·openai
逻极5 小时前
BMAD之落地实施:像CTO一样指挥AI编码 (Phase 4_ Implementation)——必学!BMAD 方法论架构从入门到精通
人工智能·ai·系统架构·ai编程·ai辅助编程·bmad·ai驱动敏捷开发
冰西瓜6006 小时前
深度学习的数学原理(七)—— 优化器:从SGD到Adam
人工智能·深度学习