ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

one-api 安装使用简单操作即可完成!TaoToken 统一 Key 通道配置实战

one-api 安装使用简单操作即可完成!TaoToken 统一 Key 通道配置实战 1. 为什么我要把 one-api 和 TaoToken 放在一起用one-api 是一个开源的 OpenAI 接口聚合与分发网关简单说它能把多家模型服务商的 API Key 统一收拢到一个后台对外只暴露一个地址、一套 Key。你手上有五六个不同平台的 Key每个平台的计费方式、接口路径、模型名都不一样客户端要挨个配置改起来很烦。one-api 解决的就是这个“多对一”的收敛问题。但 one-api 本身只是个“壳”它需要后端有真实可用的模型通道。TaoToken 在这里扮演的角色就是统一 Key 通道你从 TaoToken 拿到一个 Key把它作为 one-api 里的一个渠道填进去one-api 就能通过这个通道去调用背后的模型。这样你的客户端只需要认 one-api 的地址和 Key后端换通道、加模型客户端完全不用动。这套组合适合谁自己搭过 Docker、想在宝塔面板上快速起一个模型网关的人手头有多个 Key 想统一管理的人以及想用一套 OpenAI 兼容接口去接不同模型、又不想改代码的人。下面我按 Docker SQLite、Docker MySQL、宝塔面板三种场景把安装、配置、验证、排错走一遍。2. TaoToken 前置准备拿到统一 Key 和接入地址在动 one-api 之前先把 TaoToken 这边的信息准备好。你需要两样东西一个 API Key和一个接入地址。打开 TaoToken 官网 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 注册登录后进入控制台。在控制台里找到 API Keys 页面新建一个 Key。这个 Key 就是后面要填进 one-api 渠道里的凭证。接入地址用 https://taotoken.net/api 注意这个地址不带任何查询参数one-api 里填 Base URL 时直接用这个。注意Key 只在创建时完整显示一次复制后先存到安全的地方。如果泄露了在控制台里删掉重建即可。TaoToken 的接口是 OpenAI 兼容格式所以 one-api 里渠道类型选 OpenAI 就能对接。模型名方面你可以在 TaoToken 的文档页 https://taotoken.net/doc 查到当前支持的模型列表填渠道时把模型名写对不然请求会返回模型不存在的错误。如果你后面打算长期跑编码类任务或者 Agent可以顺带看一下 Coding Plan 页面 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 它针对高频编码场景做了额度安排比按量计费更省心。不过这一步不影响 one-api 的安装先把网关跑起来再说。3. Docker 部署 one-apiSQLite 与 MySQL 两套可复制配置one-api 官方推荐用 Docker 跑一条命令就能起。下面两条命令你按需二选一。3.1 SQLite 方案单机最省事SQLite 方案不需要额外装数据库数据存在容器挂载的目录里适合个人用或者测试环境。命令如下docker run --name one-api -d --restart always \ -p 3000:3000 \ -e TZAsia/Shanghai \ -v /home/ubuntu/data/one-api:/data \ justsong/one-api逐段解释一下。--name one-api给容器起名后面重启、看日志都用这个名字。-d后台运行。--restart always表示容器挂了或者宿主机重启后自动拉起来生产环境建议保留。-p 3000:3000把容器内的 3000 端口映射到宿主机 3000你访问http://你的IP:3000就能进后台。-e TZAsia/Shanghai设置时区不然日志时间会对不上。-v /home/ubuntu/data/one-api:/data把数据目录挂出来容器删了数据还在这个路径你可以改成自己的。3.2 MySQL 方案多实例或数据量大时用如果你打算跑多个 one-api 实例或者数据量会比较大用 MySQL 更稳。在 SQLite 命令基础上加一个SQL_DSN环境变量docker run --name one-api -d --restart always \ -p 3000:3000 \ -e SQL_DSNroot:123456tcp(localhost:3306)/oneapi \ -e TZAsia/Shanghai \ -v /home/ubuntu/data/one-api:/data \ justsong/one-apiSQL_DSN的格式是用户名:密码tcp(数据库地址:端口)/库名。上面这行里用户名 root、密码 123456、数据库在本机 3306、库名 oneapi。你要按自己的实际情况改。数据库和库要先建好one-api 启动时会自动建表但库本身得存在。注意如果 MySQL 跑在宿主机而不是容器里localhost在容器内指向的是容器自己不是宿主机。这种情况要么把 MySQL 也放进 Docker 网络要么把地址改成宿主机的内网 IP。这是新手最容易踩的坑。3.3 宝塔面板下的操作路径宝塔面板里操作更直观。先在软件商店搜 Docker安装 Docker 管理器。装好后进 Docker 管理界面找到“容器”标签点“创建容器”。镜像填justsong/one-api端口映射填 3000 到 3000环境变量按上面 SQLite 或 MySQL 的方案加挂载目录填/home/ubuntu/data/one-api对应/data。创建完容器状态显示运行中就说明起来了。如果你习惯用终端宝塔的终端功能里直接粘贴上面的 docker run 命令也一样效果没区别。宝塔的好处是容器日志、重启、删除都能点鼠标完成不用记命令。4. 在 one-api 后台配置 TaoToken 渠道并验证调用链路容器起来后浏览器访问http://你的服务器IP:3000。首次进入默认账号是 root密码是 123456登录后第一件事就是改密码这个后台暴露在公网上不改密码风险很大。4.1 添加渠道登录后进“渠道”页面点“添加新的渠道”。类型选 OpenAI名称随便起比如taotoken。Base URL 填https://taotoken.net/api注意结尾不要多加斜杠。密钥填你在 TaoToken 控制台创建的那个 Key。模型这一栏填你要用的模型名多个模型用逗号隔开具体支持哪些去 TaoToken 文档页确认。填完点提交渠道列表里会出现这条记录状态应该是启用。如果状态显示异常点一下“测试”按钮one-api 会发一个测试请求返回绿色就说明通道通了。4.2 创建令牌并验证渠道通了还不够客户端调用的是 one-api 自己签发的令牌不是 TaoToken 的 Key。进“令牌”页面点“添加新的令牌”起个名字额度按需设提交后会生成一个以sk-开头的字符串这就是给客户端用的 Key。现在用 curl 验证整条链路curl https://taotoken.net/api/v1/chat/completions \ -H Content-Type: application/json \ -H Authorization: Bearer sk-你的one-api令牌 \ -d { model: 你配置的模型名, messages: [{role: user, content: 你好}] }把地址换成你 one-api 的地址令牌换成刚生成的模型名换成渠道里配的。返回里有choices字段和正常内容就说明客户端到 one-api 到 TaoToken 到模型的整条链路是通的。如果返回 401检查令牌返回模型不存在检查模型名拼写返回渠道错误回渠道页面点测试看具体报错。5. 本篇常见错误排查容器起不来日志报数据库连接失败。多半是 MySQL 的SQL_DSN写错了或者库没建。先用 SQLite 方案排除是不是数据库问题确认 one-api 本身能跑再换 MySQL。访问 3000 端口打不开。检查服务器安全组和宝塔防火墙有没有放行 3000。宝塔面板里“安全”页面要单独加规则云服务器控制台的安全组也要加两个地方都放行才行。渠道测试报 401 或 403。TaoToken 的 Key 复制错了或者 Key 被删了。回控制台重新建一个注意别把前后空格复制进去。请求返回“模型不存在”。渠道里配的模型名和请求里写的对不上。one-api 的模型名要和 TaoToken 支持的模型名一致去文档页核对。宝塔里容器一直重启。看容器日志常见原因是挂载目录权限不对或者端口被占用。换个宿主机端口比如-p 3001:3000再试。改了渠道配置不生效。one-api 有缓存改完渠道后在渠道页面点一下“测试”或者重启容器让配置重新加载。6. 接下来怎么走one-api 跑起来、TaoToken 渠道配通之后你就有了一套统一的模型入口。客户端那边把 Base URL 指向你的 one-api 地址Key 用 one-api 签发的令牌就能调所有配好的模型。想加新模型在 TaoToken 渠道里补模型名就行客户端不用改。如果你要长期跑编码任务建议去 Coding Plan 页面 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 看看额度方案比按量调用更划算。想快速试模型效果可以直接用模型对话页面 https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 验证。需要管理多个 Key 或者看用量去控制台 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。接入过程中遇到报错先查接入文档 https://taotoken.net/doc 大部分配置问题那里都有说明。
返回列表