赞
踩
心血来潮,复试完结束很摆,研究点东西玩玩,之前之知道nonebot搭建qq机器人的方法和步骤,这次记录下自己使用openai,gpt3.5的api的代码,参考自openai的官网。
要求 python
版本 >=3.8 && <4
安装openai的库
pip install openai
注意记得设置代理,可以使用api即可,通常来说,api比登录chatgpt的审核要求更加严格。
以下提供了两个版本,一个是没有上下文情境的版本,一个是加入情境的版本,一般来说,加入上下文情境会消耗更多的tokens
,因为把历史对话导入了prompt
中。
helper.py
# 导入openai库 import openai # 设置api-key openai.api_key = "sk-xxx" # 将openai chat封装成函数 def chat(prompt): # 核心的请求语句,prompt为问题内容 # model可选{'gpt-3.5-turbo', 'gpt-3.5-turbo-0301', 'text-davinci-003', 'text-davinci-002', 'code-davinci-002'},model特色参考官方文档 # role可选{'system', 'assistance', 'user'} completion = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[ {"role": "assistant", "content": prompt} ] ) str = completion.choices[0].message.content print("@bot:" + str) # 主函数,使用读入控制台输入的方式对话 if __name__=="__main__": print('使用"CTRL + C"退出') print('=========开始聊天=========') while True: print('@您:', end = '') chat(input())
效果预览
helper_plus.py
import os import openai openai.api_key = "sk-xxx" messages = [] print('使用"CTRL + C"退出') print('=========开始聊天=========') while True: content = input("@您: ") messages.append({"role": "user", "content": content}) completion = openai.ChatCompletion.create( model="gpt-3.5-turbo-0301", messages=messages ) chat_response = completion answer = chat_response.choices[0].message.content print(f'@bot: {answer}') messages.append({"role": "assistant", "content": answer})
这部分就不写注释了,具体是操作方法是,把新的问题append
到上次对话的结尾以带入情境。
后续会补写搭建nonebot
机器人的文章,但不涉及开发,等我学习完再进行记录(#`O’)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。