仔细看回复,是不是很奇怪?里面有着 id、choices 这样的词。
其实,这就像一个包裹,AI 的回复内容被装在了好几层「盒子」里面。我们要一层一层地打开,才能看到最里面的回复内容。 completion 就是最外面的那个大「盒子」,我们需要先打开它。 接下来是 choices,"choices"的意思是「选择」,这里面装着几个备选的回复,但通常我们只需要第一个。
在 Python 里,我们用 [0] 来表示第一个。再打开 choices[0],我们会看到一个叫 message 的盒子。这里面装的就是 ChatGPT 的回复了,但还差一点点。 最后,message 里面还有一层叫 content 的盒子,打开它,我们就能看到 ChatGPT 的回复内容了。
所以,想要看到 ChatGPT 的回复,我们需要一步一步地「拆盒子」: completion → choices → [0] → message → content 在代码里,就是这样写: completion.choices[0].message.content。
现在,让我们把 print(completion) 改成 print(completion.choices[0].message.content) :
!pip install openai
from openai import OpenAI
client = OpenAI(
api_key="sk-yTmYibGsJ637VUkki2GZUzZ9vh7EWFEJ",
)
completion = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[
{"role": "user", "content": "你好"}
])
print(completion.choices[0].message.content)
这时候再运行代码,你就能看到 ChatGPT 干净利落的回复了:
虽然这些"盒子"的名字看起来有点复杂,但你只需要记住用 completion.choices[0].message.content 就能打开最后一个"盒子",看到回复内容。 以后如果你在学习 Python 时遇到了类似的情况,不要害怕,就想象成在拆一个套娃,一层一层地打开,最后你就能得到你想要的结果了。