【开源推荐】OpenAI接口管理分发系统,支持多种渠道,可用于二次分发管理key,代码全开源

whdahanh 发布于 2023-08-28 264 次阅读


PHP学习网将不定时分享优质开源项目,优质技术文章,精选面试题和资源,大家可以把PHP学习网设为?星标,第一时间获取最新推送,以防错过优质内容

今天推荐的这个系统,是一个OpenAI的接口管理分发系统,我看了代码全开源,可用于二次分发管理key,可以花钱购买key,已经打包好Docker,可以一键安装, 不过我不是用key安装的,下面我说一下我的安装方式。

开发环境

go 语音

mysql 5.5以上

redis

node 环境,需要安装 pm2对进程管理。

演示截图

功能支持

OpenAI 官方通道

自定义渠道:例如各种未收录的第三方代理服务

支持通过负载均衡的方式访问多个渠道。

支持 stream 模式,可以通过流式传输实现打字机效果。

支持多机部署

支持令牌管理,设置令牌的过期时间和额度。

支持兑换码管理,支持批量生成和导出兑换码,可使用兑换码为账户进行充值。

支持通道管理,批量创建通道。

支持用户分组以及渠道分组,支持为不同分组设置不同的倍率。

支持渠道设置模型列表。

支持查看额度明细。

支持用户邀请奖励。

支持以美元为单位显示额度。

支持发布公告,设置充值链接,设置新用户初始额度。

支持模型映射,重定向用户的请求模型。

支持失败自动重试。

支持绘图接口。

支持丰富的自定义设置,

支持自定义系统名称,logo 以及页脚。

支持自定义首页和关于页面,可以选择使用 HTML & Markdown 代码进行自定义,或者使用一个单独的网页通过 iframe 嵌入。

支持通过系统访问令牌访问管理 API。

支持 Cloudflare Turnstile 用户校验。

支持用户管理,支持多种用户登录注册方式

搭建方式

我这里选用的是nginx的搭建方式,首先下载项目到服务器的项目目录下,然后执行一下命令

# 构建前端cd one-api/webnpm installnpm run build# 构建后端cd ..go mod downloadgo build -ldflags "-s -w" -o one-apichmod u+x one-api./one-api --port 3000 --log-dir ./logs #启动命令

启动后访问 http://127.0.0.1:3000 即可登录,初始登录用户名:root , 密码:123456

部署环境变量

REDIS_CONN_STRING:设置之后将使用 Redis 作为请求频率限制的存储,而非使用内存存储。

例子:REDIS_CONN_STRING=redis://default:redispw@localhost:49153

SQL_DSN:设置之后将使用指定数据库而非 SQLite,请使用 MySQL 8.0 版本。

例子:SQL_DSN=root:123456@tcp(localhost:3306)/oneapi

注意需要提前建立数据库 oneapi,无需手动建表,程序将自动建表。

目前我只部署了这两个,一个是 redis,一个是 mysql 将数据写入数据库中。

PM2安装

yarn global add pm2

安装后在项目目录生成启动文件 pm2 init simple,之后会生成 ecosystem.config.js 配置文件,修改为以下内容。

module.exports = {apps : [{name : "one-api",script : "./one-api --port 3000 --log-dir ./logs",watch: true}]}

启动:pm2 start ecosystem.config.js

停止:pm2 stop ecosystem.config.js

至此整个项目即可启动起来。

本篇文章来源于微信公众号:作者:原创 Hi飞飞 PHP学习网 PHP学习网 微信号 gh_72592a908697 功能介绍 每天学一点,每天进步一点 :) 发表于
转载地址:https://mp.weixin.qq.com/s/B_9lAXuEjiunpyIKzDnaYg



微信扫描下方的二维码阅读本文

此作者没有提供个人介绍
最后更新于 2023-08-28