各种 LLM API 的反向代理服务器。
该项目允许你为各种 LLM API 运行反向代理服务器。
- 支持多种 API
- 将 OpenAI 格式的提示翻译为任何其他 API,包括流式响应
- 带有轮换和速率限制处理功能的多个 API 密钥
- 基本用户管理
- 基于角色的简单权限
- 每模型令牌配额
- 临时用户账户
- 提示和完成记录
- 滥用检测和预防
如果你想运行自己的服务器实例,需要将其部署到某个地方,并用你的 API 密钥进行配置。下面提供了几个简单的选项,当然,如果你知道自己在做什么,而且服务支持 Node.js,你也可以将其部署到任何其他服务中。
有关如何在自己的 VPS 或本地机器上自行托管应用程序的说明,请参见此处。
确保根据部署情况设置了TRUSTED_PROXIES
环境变量。更多信息请参阅.env.example和config.ts。
有关如何部署到 Huggingface 空间的说明,请参见此处
要在本地运行代理进行开发或测试,请安装 Node.js >= 18.0.0 并按以下步骤操作。
- 克隆软件仓库,在项目目录下打开终端
- 使用
npm install
安装依赖项 - 在项目根目录下创建一个
.env
文件,并添加 API 密钥。示例请参见 .env.example 文件(没必要全复制,挑用得上的就行)。 - 用
npm run start:dev
以开发模式启动服务器。
也可以使用 npm run start:dev:tsc
来启用整个项目的类型检查,但启动时间会变慢。可以使用 npm run type-check
,在不启动服务器的情况下进行类型检查。
如在windows平台上运行,请在克隆项目到本地目录后新建一个.env
文件并添加必要的API密钥(一个或多个),具体格式参考 .env.example 文件,然后直接使用start.bat一键启动
要构建项目,请运行 npm run build
。这将把 TypeScript 代码编译成 JavaScript 并输出到 build
目录。
请注意,如果要在内存非常紧张(<= 1GB)的 VPS 上构建服务器,可能需要使用 NODE_OPTIONS=--max_old_space_size=2048 npm run build
运行构建,以避免在构建过程中内存耗尽,前提是启用了交换。 对于大多数合理的流量水平,应用程序本身在 512MB 的 VPS 上运行良好。
如果要在 GitGud 上分支仓库,最好禁用 GitLab CI/CD,否则会因为没有 CI 运行程序而收到构建失败的垃圾邮件。具体方法是进入 Settings > General > Visibility, project features, permissions,然后禁用 "CI/CD "功能。