项目简介:node-chatgpt-api
node-chatgpt-api 是一个功能强大的工具包,旨在为开发者提供与 ChatGPT 和 Bing AI 进行互动的简便途径。该项目提供了多种方式来实现与 AI 的通信,无论是通过 Node.js 模块、REST API 服务,还是命令行界面(CLI)应用都可以实现。
项目特性
- API 服务器:支持通过 Docker 运行 API 服务器,便于在非 Node.js 应用中使用 ChatGPT。
- CLI 界面:提供一个命令行界面,用户可以直接与 ChatGPT 进行对话。
- 灵活的客户端:项目中包含的客户端可以轻松集成到用户的 Node.js 应用中。
- ChatGPTClient:支持使用 OpenAI 提供的官方 ChatGPT 模型
gpt-3.5-turbo
。- 可以复制 ChatGPT 的会话格式,包括会话 ID 和消息 ID,并通过 Keyv 支持持久化对话。
- BingAIClient:支持 Bing AI 的版本,使用 GPT-4 提供支持。
- 具有内置的 jailbreak 功能,可以实现每个会话和每日通信无上限。
- ChatGPTBrowserClient:通过反向代理服务器进行 Cloudflare 绕过,与 ChatGPT 网站进行交互。
使用方法
先决条件
- Node.js 版本需大于等于 16.0.0
- 需要 npm 工具
- 可选的 Docker 支持(用于运行 API 服务器)
- OpenAI API Key(获取于 OpenAI 账户)
模块使用
安装 npm 包:
npm i @waylaidwanderer/chatgpt-api
API 服务器设置与运行
安装并运行:
npm i -g @waylaidwanderer/chatgpt-api
或者直接运行:
chatgpt-api
你可以通过提供设置文件 settings.js
来定制 API 服务器的行为。
命令行界面
如果使用全局安装:
chatgpt-cli
使用本地安装:
npm run cli
使用反向代理
用户可以通过设置 reverseProxyUrl
,利用反向代理服务器而不使用官方的 ChatGPT API。此方法可能进一步支持绕过 Cloudflare。
备注
对于 ChatGPTClient
,由于 gpt-3.5-turbo
是 ChatGPT 的底层模型,当前实现可能与官方行为并不完全一致:
- 会话不与任何用户 ID 绑定。
- 模型的参数(如温度、频率惩罚等)不详,使用了一些认为合理的默认值。
- 会话限制在大约 3000 个 token 内。
贡献方式
欢迎对该项目的贡献,您可以通过创建一个详细的 pull request 说明您的更改来参与项目开发。
许可证
该项目采用 MIT 许可证,开放源代码以便用户使用与贡献。