conversation_history.append({"role" ""content" "该如何开始学习它呢?"# 第二次询问,这次传入的是包含了之前所有对话的history
response = openai.ChatCompletion.create(
model="pt-3.5-turbo" messages=conversation_history # 看,这里包含了完整的上下文
)
print(":"e.choices[0].message.content)
```
这样一来,AI在回答“如何学习”时,就知道我们之前聊过“Python是什么”,它的回答就会更有连贯性。这个模式,就是构建任何聊天机器人的基础逻辑。
你可能会觉得,有时候AI的回答太死板,或者太天马行空。其实,它的“性格”是可以微调的。这里有两个关键的“旋钮”:
1.temperature(温度):这个值通常在0到2之间。把它想象成AI的“想象力开关”。
*设为0:AI会非常保守、确定,每次对同样的问题,它都可能给出几乎一样的答案。适合需要严谨、可重复结果的场景。
*设为0.7~0.9:这是个甜点区间,AI的回答会有不错的创意和多样性,适合大多数聊天和创作。
*接近或大于1:AI会变得非常大胆、随机,可能会说出一些令人意想不到的话,但也容易跑偏。
2.max_tokens(最大令牌数):这个限制了AI一次能说多长的话。一个token大约相当于一个英文单词或者中文的半个到一个字。设得太小,回答会被截断;设得太大,可能浪费资源。对于一般对话,1024或2048是个安全的起点。
咱们在代码里加上它们试试:
```python
response = openai.ChatCompletion.create(
model="pt-3.5-turbo" messages=[{"e"user" ""给我讲一个关于人工智能的短故事。"}],
temperature=0.8, # 加点创造力
max_tokens=500 # 限制一下故事长度
)
```
多调调这两个参数,你就能慢慢找到让AI最符合你“口味”的那个感觉。
聊了这么多具体操作,我想说说我自己的一些感受。对我来说,学会用Python调用ChatGPT,最大的收获倒不是掌握了某个技术点,而是获得了一种新的思维方式。
以前遇到问题,我可能只能自己去查资料、慢慢想。现在呢,我的第一反应可能是:“这个问题,能不能写段代码,让AI帮我分析一下?” 比如,我会让它帮我:
*解释一段我看不懂的复杂代码,用比喻的方式。
*给我的文章草稿提修改意见,从读者角度。
*把一堆杂乱的数据,总结成几个要点。
*甚至,帮我生成一些测试用的虚拟数据。
它就像一个不知疲倦、知识渊博的伙伴,随时待命。关键在于,你要学会如何向它清晰地描述问题(也就是设计提示词)。这本身就是一个极其重要的能力。
当然,它绝不是万能的。它的回答可能会出错,可能需要你反复引导。把它当作一个强大的“副驾驶”,而不是完全托付的“自动驾驶”,你的体验会好得多。
最后,再唠叨几句。玩这个,有两件事一定要放在心上:
*费用问题:API调用不是完全免费的(虽然新账号有赠送额度)。一定要去平台看看计价方式,从小额度开始玩起,避免产生意外账单。养成查看使用量的习惯。
*内容安全:不要用它生成违法、有害或者侵犯他人隐私的内容。技术是工具,用好用坏,全在使用者一念之间。
好了,说到这,你应该已经掌握了用Python开启ChatGPT之旅的基本方法。从拿到API密钥,到发出第一个请求,再到进行多轮对话和调参,这条路径已经清晰了。
剩下的,就是你的想象力了。你可以试着把它做成一个微信机器人,一个自动回复邮件的工具,或者一个帮你整理知识笔记的小助手。门槛已经跨过,舞台交给你。别光看,打开你的电脑,复制粘贴第一段代码,开始你的第一次对话吧。那个感觉,真的很不一样。
