项目介绍:ChatGPT Python SDK
项目概述
ChatGPT Python SDK 是一个专为 Python 开发者设计的库。它能够让开发者轻松地将 ChatGPT 集成到他们的项目中,提供简化的接口,以便进行自然语言处理任务。通过这个库,用户能够在自己的应用程序中利用 ChatGPT 提供的强大对话能力。
安装或更新
要安装或更新 ChatGPT Python SDK,只需使用以下命令:
pip install -U chatgpt
配置设置
用户需要在工作目录中创建一个 config.json
文件来存储凭证信息,文件格式如下:
{
"email": "email@example.org",
"password": "xxx"
}
如果需要通过代理访问,还可以添加代理配置:
{
"email": "email@example.org",
"password": "xxx",
"proxy": "socks5://user:pass@host:port"
}
此外,还可以在配置文件中加入其他参数,例如 timeout
、cache_file_path
及 access_token_seconds_to_expire
:
{
"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)
可以通过以下命令启动 CLI:
chatgpt
或者
python -m chatgpt
在 CLI 中,可用的命令包括:
reset
: 重置当前对话的上下文。clear
: 清除终端显示。exit
: 退出 CLI。
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("Invalid token")
Chatgpt 错误代码
INVALID_ACCESS_TOKEN
: 表示提供的访问令牌无效或已过期。CHATGPT_API_ERROR
: 表示在请求 Chatbot API 时发生错误。CONFIG_FILE_ERROR
: 表示配置文件出现问题。UNKNOWN_ERROR
: 错误原因未知或无法确定时使用的代码。LOGIN_ERROR
: 登录过程出现问题,如用户名或密码错误。TIMEOUT_ERROR
: 请求 Chatbot API 超时。CONNECTION_ERROR
: 表示与 Chatbot API 连接出错。