chatgpt api极简入门(参考官网教程)

news/2024/11/18 17:40:54/

写在前面

心血来潮,复试完结束很摆,研究点东西玩玩,之前之知道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.contentprint("@bot:" + str)# 主函数,使用读入控制台输入的方式对话
if __name__=="__main__":print('使用"CTRL + C"退出')print('=========开始聊天=========')while True:        print('@您:', end = '')chat(input())

效果预览
在这里插入图片描述
helper_plus.py

import os
import openaiopenai.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 = completionanswer = chat_response.choices[0].message.contentprint(f'@bot: {answer}')messages.append({"role": "assistant", "content": answer})

这部分就不写注释了,具体是操作方法是,把新的问题append到上次对话的结尾以带入情境。
后续会补写搭建nonebot机器人的文章,但不涉及开发,等我学习完再进行记录(#`O’)


http://www.ppmy.cn/news/747100.html

相关文章

从入门到资深

转自https://zhuanlan.zhihu.com/p/54641472 4.3. 到底要深入学什么 根据知识的半衰期&#xff0c;作为Android应用开发最应该学习的就是Java、App开发相关技术、Android系统底层源码、数据结构、设计模式等等。注意是深入学习。你要通过项目实战理解这些技术的原理内核。知其…

As从入门到精通

Android Studio2.0 教程从入门到精通Windows版 - 安装篇 系统要求 Win7或更高 内存 最少 4 GB &#xff0c;建议8 GB RAM 硬盘 4G Java Runtime Environment (JRE) 6或更高 Java Development Kit (JDK) 7 或更高 下载 新手建议下载安装版&#xff0c;比较简单一路…

Gstore官网学习三:快速入门

文章目录 一、数据格式二、构建数据库2.1、创建数据库方法一&#xff1a;命名行模式&#xff08;gbuild&#xff09;方法二&#xff1a;可视化工具&#xff08;gworkbench)方法三&#xff1a;HTTP API&#xff08;ghttp&#xff09; 2.2、数据库查询方法一&#xff1a;命令行模…

创业公司开发自己的公司官网-从入门到上线-(1)

《文件管理君》APP,欢迎各位尝鲜下载 一:啥是跨域啊? 答:由于页面开发中&#xff0c;静态资源是放在本地电脑上的&#xff0c;访问这些资源通常通过IP方式&#xff08;127.0.0.1&#xff09;或者localhosts来访问&#xff0c;与线上服务器所在域名不符&#xff0c;不能顺利进…

尚硅谷-尚医通实战经验总结

整个系统采用b2c的管理模式&#xff0c;分为管理员系统和用户系统&#xff08;直接商对客&#xff09; 1 后端整合Swagger进行技术测试 2 后端框架使用ssmp框架 3 logback和 log4j 作为日志实现框架 4 idea开发后端 5 vscode开发前端 6 vue做前端框架 7 ES6标准的JS语言…

Crestron的rava sip设置语音视频对讲的初步入门

目录 Crestron快思聪和SIP协议SIP协议兼容性触屏的设置方法SIP模式的设置SIP协议智能家居的好处 Crestron快思聪和SIP协议 Crestron快思聪是支持SIP协议的&#xff0c;其名为RAVA的SIP协议技术&#xff0c;在其官网是这样写的&#xff1a; Rava SIP Intercom & Phone Tech…

xilinx赛灵思官网数据加速卡入门指南

ug1301-getting-started-guide-alveo-accelerator-cards.pdf • 查看器 • AMD 自适应计算文档门户 (xilinx.com) Alveo Alveo U200 数据中心加速器卡 (xilinx.com)

递归回溯两个例题:1.数组组合 2.在矩阵中搜索单词

题目1&#xff1a;组合 给定两个整数 n 和 k&#xff0c;返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 输入&#xff1a;n 4, k 2 输出&#xff1a; [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4], ] 解题思路&#xff1a; 1.定…