ChatGPT Python SDK
一个允许开发者轻松将ChatGPT集成到Python项目中的库。
安装或更新
pip install -U chatgpt
配置
创建一个包含凭证的文件
在你的工作目录中创建文件 config.json
:
{
"email": "email@example.org",
"password": "xxx"
}
使用代理
{
"email": "email@example.org",
"password": "xxx",
"proxy": "socks5://user:pass@host:port"
}
使用其他参数
{
"email": "email@example.org",
"password": "xxx",
"timeout":300,
"cache_file_path":"/path/filename",
"access_token_seconds_to_expire":1800
}
环境变量
通过设置 CHATGPT_HOME
环境变量为所需的目录路径,你可以指定chatgpt的默认配置文件夹。
export CHATGPT_HOME="/home/$USER/.config/chatgpt"
使用方法
命令行界面(CLI)
你可以通过以下方式启动命令行界面:
chatgpt
或
python -m chatgpt
以下是可用的命令:
reset
: 忘记当前对话的上下文。clear
: 清除终端。exit
: 退出命令行界面。
SDK
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
from chatgpt import Conversation
conversation = Conversation()
# 流式传输消息。
for chunk in conversation.stream("We are going to start a conversation. I will speak English and you will speak Portuguese."):
print(chunk, end="")
sys.stdout.flush()
# 等待消息完全接收。
print(conversation.chat("What's the color of the sky?"))
# AI将忘记它在说葡萄牙语
conversation.reset()
print(conversation.chat("What's the color of the sun?"))
推荐使用 stream 而不是 chat。
异常处理:
from chatgpt import ChatgptError, ChatgptErrorCodes
try:
for chunk in conversation.stream("Hello, world!"):
print(chunk, end="")
sys.stdout.flush()
except ChatgptError as chatgpt_error:
message = chatgpt_error.message
code = chatgpt_error.code
if code == ChatgptErrorCodes.INVALID_ACCESS_TOKEN:
print("无效的令牌")
Chatgpt 错误代码:
INVALID_ACCESS_TOKEN
: 此错误代码表示提供给聊天机器人的API访问令牌无效或已过期。CHATGPT_API_ERROR
: 此错误代码表示在向聊天机器人的API发送请求时发生了错误。CONFIG_FILE_ERROR
: 此错误代码表示聊天机器人的配置文件存在问题。UNKNOWN_ERROR
: 当错误的原因未知或无法确定时,使用此错误代码。LOGIN_ERROR
: 此错误代码表示登录过程存在问题,例如用户名或密码不正确。TIMEOUT_ERROR
: 此错误代码表示向聊天机器人的API发送请求超时。CONNECTION_ERROR
: 此错误代码表示与聊天机器人API的连接存在问题。