目录

GPT入门第5课-思维链的提出与案例

【GPT入门】第5课 思维链的提出与案例

1. 思维链的提出

https://i-blog.csdnimg.cn/direct/5100f66613ee4f7ebc0fdb91d7bc122d.png

2.思维链的应用

针对复杂场景,AI回直接给出答案,可能是错误的

例如,题:

**题一:**我去市场买了 10 个苹果。我给了邻居 2 个苹果和修理工 2 个苹果。然后我去买了 5 个苹果并吃了 1 个。我还剩下多少苹果?

**题二:**我去市场买了 10 个苹果。我给了邻居 2 个苹果和修理工 2 个苹果。然后我去买了 5 个苹果并吃了 1 个。我还剩下多少苹果?"

prompt = “我去市场买了 10 个苹果。我给了邻居 2 个苹果和修理工 2 个苹果。然后我去买了 5 个苹果并吃了 1 个, 又买了5个,吃掉3个。我还剩下多少苹果?”

但,在题后面,给出, 请一步步思考 的提示,AI又会做正确。

自己试试,不同模型给的答案可能不一样。

3.思维链代码

from openai import OpenAI

# 加载 .env 文件到环境变量
from dotenv import load_dotenv, find_dotenv
_ = load_dotenv(find_dotenv())

client = OpenAI()

# prompt = "我去市场买了 10 个苹果。我给了邻居 2 个苹果和修理工 2 个苹果。然后我去买了 5 个苹果并吃了 1 个。我还剩下多少苹果?"
prompt = "我去市场买了 10 个苹果。我给了邻居 2 个苹果和修理工 2 个苹果。然后我去买了 5 个苹果并吃了 1 个, 又买了5个,吃掉3个。我还剩下多少苹果?"


def get_completion(prompt, model='gpt-3.5-turbo'):
    messages = [{"role":"user","content":prompt}]
    response = client.chat.completions.create(
        model=model,
        messages=messages
    )
    return response.choices[0].message.content

print(get_completion(prompt))

它的回答:

我剩下 10 - 2 - 2 - 5 + 1 - 5 + 3 = 0 个苹果。我已经吃完了所有买来的苹果。

4. 增加请一步步思考的思维链提示

prompt = “我去市场买了 10 个苹果。我给了邻居 2 个苹果和修理工 2 个苹果。然后我去买了 5 个苹果并吃了 1 个, 又买了5个,吃掉3个。我还剩下多少苹果? 请一步步思考”

它的答案竟然就对了。openAI给的回答如下:

1. 一开始我买了10个苹果。
2. 给邻居和修理工各2个苹果后,我剩下了10 - 2 - 2 = 6个苹果。
3. 我又买了5个苹果,剩下的苹果数量为6 + 5 = 11个。
4. 在这11个苹果中,我吃了1个,剩下10个。
5. 我又买了5个苹果,剩下的苹果数量为10 + 5 = 15个。
6. 在这15个苹果中,我又吃了3个,剩下的苹果数量为15 - 3 = 12个。