OneAPI开源大模型网关部署:支持国产数据库(达梦/人大金仓)存储用户与渠道数据

news2026/4/7 8:21:00
OneAPI开源大模型网关部署支持国产数据库达梦/人大金仓存储用户与渠道数据1. 引言为什么你需要一个统一的大模型网关如果你正在使用或者计划使用大模型大概率会遇到这样的烦恼每个厂商的API格式都不一样密钥管理起来一团糟费用统计更是让人头疼。今天要介绍的OneAPI就是来解决这些问题的。简单来说OneAPI是一个开源的LLM API管理和分发系统。它最大的价值在于让你可以用一套标准的OpenAI API格式去访问市面上几乎所有主流的大模型。无论是OpenAI的GPT、百度的文心一言还是阿里的通义千问你都不需要再去研究它们各自复杂的接口文档OneAPI帮你统一搞定。更棒的是它支持将用户数据和渠道数据存储到国产数据库里比如达梦DM和人大金仓Kingbase这对于有特定数据存储要求的团队来说是个非常实用的功能。这篇文章我会带你从零开始手把手完成OneAPI的部署并重点讲解如何配置国产数据库。整个过程非常简单基本上就是下载、配置、运行三步走开箱即用。2. 快速了解OneAPI的核心能力在动手部署之前我们先快速浏览一下OneAPI能为你做什么。了解它的能力你才能更好地判断它是否适合你的场景。2.1 广泛的模型支持这是OneAPI最强大的地方。它就像一个“万能转换器”把不同厂商的API都转换成了OpenAI的格式。目前支持的主流模型包括但远不止这些国际模型OpenAI GPT系列、Anthropic Claude系列、Google Gemini系列、xAI Grok等。国内模型百度文心一言、阿里通义千问、讯飞星火、智谱ChatGLM、字节豆包、腾讯混元、360智脑、DeepSeek等。其他服务Ollama本地模型、Together.ai、Novita.ai等第三方代理服务。这意味着你可以在一个界面里管理所有这些模型的访问密钥并用同一套代码调用它们。2.2 企业级管理功能如果你不只是自己用还需要给团队或客户提供API服务OneAPI的管理功能就派上用场了用户与令牌管理可以创建用户为其分配API令牌并设置额度、过期时间、访问频率限制和允许访问的模型列表。渠道管理与负载均衡可以为同一个模型配置多个供应商渠道比如多个OpenAI账号并设置负载均衡策略提升可用性和分摊额度。财务管理支持设置充值链接、生成兑换码、查看详细的额度消耗明细并以美元显示费用方便成本核算。自定义与扩展可以自定义系统名称、Logo、首页甚至通过管理API进行功能扩展无需修改源代码。2.3 部署与存储灵活性部署简单提供独立的可执行文件和Docker镜像基本上是一键部署。数据库支持默认使用SQLite方便轻量级使用。也支持MySQL、PostgreSQL等。最重要的是它支持达梦数据库和人大金仓数据库满足国产化需求。高可用支持多机部署构建高可用的API网关集群。接下来我们就进入实战环节看看如何把它跑起来。3. 环境准备与一键部署OneAPI的部署方式非常灵活你可以根据自身环境选择。这里我们以最常见的Docker部署为例这也是最推荐的方式能避免很多环境依赖问题。3.1 部署前提条件确保你的服务器或本地开发环境已经安装Docker和Docker Compose。这是运行容器的基础。一个顺手的终端工具比如Mac的Terminal或Windows的PowerShell。可选但推荐一个域名和SSL证书如果你计划对外提供服务。3.2 使用Docker Compose快速启动这是最快上手的方法。创建一个名为docker-compose.yml的文件内容如下version: 3.8 services: oneapi: image: justsong/one-api:latest container_name: one-api restart: always ports: - 3000:3000 # 将容器内的3000端口映射到宿主机的3000端口 volumes: - ./data:/data # 持久化存储数据包括SQLite数据库如果使用 environment: - SQL_DSNsqlite:///data/oneapi.db # 默认使用SQLite数据文件会保存在./data目录下 - SESSION_SECRETyour_strong_session_secret_here # 请务必修改为一个强随机字符串 - TZAsia/Shanghai # 设置时区保存这个文件后在同一个目录下打开终端执行一条命令docker-compose up -d等待命令执行完毕Docker会自动拉取镜像并启动容器。现在打开你的浏览器访问http://你的服务器IP:3000或http://localhost:3000就能看到OneAPI的登录界面了。首次登录重要提示 系统默认的管理员账号是root密码是123456。出于安全考虑登录后第一件事就是去修改这个默认密码3.3 直接使用可执行文件部署如果你不想用Docker也可以直接下载对应平台的可执行文件。去OneAPI的GitHub Releases页面下载最新版本。解压后你会得到一个名为one-api的可执行文件。在终端中运行它chmod x one-api # 如果是Linux/Mac需要添加执行权限 ./one-api --port 3000 --sql-dsn sqlite:///data/oneapi.db同样通过浏览器访问http://localhost:3000即可。至此一个最基本的OneAPI服务就已经跑起来了。但我们现在用的是默认的SQLite数据库。接下来我们看看如何切换到国产数据库。4. 配置国产数据库达梦/人大金仓OneAPI使用GORM作为ORM框架理论上支持GORM所支持的所有数据库。对于达梦和人大金仓需要通过自定义驱动来实现。4.1 使用达梦数据库DM前提你已经在服务器上安装并运行了达梦数据库并创建好了一个用于OneAPI的数据库例如oneapi。步骤一修改Docker Compose配置我们需要修改之前的docker-compose.yml文件主要是更新环境变量SQL_DSN并挂载达梦的驱动文件。version: 3.8 services: oneapi: image: justsong/one-api:latest container_name: one-api restart: always ports: - 3000:3000 volumes: - ./dm-driver:/dm-driver # 挂载达梦数据库驱动目录 # 注意我们不再挂载./data卷因为数据将存储在达梦数据库中 environment: # 达梦数据库连接字符串示例 # 格式dm://用户名:密码数据库地址:端口?schema模式名charsetutf8 - SQL_DSNdm://oneapi_user:YourPassword123192.168.1.100:5236?schemaONEAPIcharsetutf8 - SESSION_SECRETyour_strong_session_secret_here - TZAsia/Shanghai # 告诉OneAPI使用达梦驱动 - GORM_DRIVERdm # 指定达梦驱动jar包路径驱动需预先准备 - DM_DRIVER_PATH/dm-driver/dm-jdbc-driver.jar步骤二准备达梦数据库驱动从达梦官网下载对应版本的JDBC驱动通常是DmJdbcDriver18.jar之类的文件。在宿主机上创建一个目录如./dm-driver将驱动jar包放入。确保docker-compose.yml中volumes部分正确映射了这个目录。步骤三启动并初始化运行docker-compose up -d。OneAPI在首次启动时会自动根据SQL_DSN连接到达梦数据库并创建所需的表结构。4.2 使用人大金仓数据库Kingbase配置流程与达梦类似区别在于连接字符串和驱动。修改Docker Compose配置version: 3.8 services: oneapi: image: justsong/one-api:latest container_name: one-api restart: always ports: - 3000:3000 volumes: - ./kingbase-driver:/kingbase-driver # 挂载人大金仓驱动目录 environment: # 人大金仓数据库连接字符串示例基于PostgreSQL协议 # 格式host地址 port端口 user用户名 password密码 dbname数据库名 sslmodedisable - SQL_DSNhost192.168.1.101 port54321 useroneapi_user passwordYourPassword123 dbnameoneapi sslmodedisable - SESSION_SECRETyour_strong_session_secret_here - TZAsia/Shanghai # 人大金仓通常兼容PostgreSQL协议 - GORM_DRIVERpostgres # 指定驱动路径如果需要特定驱动 - KINGBASE_DRIVER_PATH/kingbase-driver/kingbase8-8.6.0.jar准备驱动从人大金仓官网下载对应的JDBC驱动jar包并放置到挂载目录中。4.3 验证数据库连接部署完成后如何确认OneAPI已经成功连接到了国产数据库呢查看日志使用命令docker logs one-api查看容器日志如果没有报数据库连接错误通常就是成功了。登录管理后台用root账号登录OneAPI后台。检查数据尝试创建一个用户或一个渠道然后到达梦或人大金仓的客户端中查询对应的表如users,channels看看是否有新数据插入。这是最直接的验证方式。切换到国产数据库后所有的用户信息、渠道配置、消费记录等数据都会安全地存储在你自己的数据库服务器中。5. 基础配置与使用指南服务跑起来数据库也连上了现在我们来让它真正工作起来添加模型渠道并测试API调用。5.1 添加你的第一个模型渠道我们以添加一个OpenAI渠道为例使用root账号登录OneAPI管理后台http://localhost:3000。在左侧菜单找到渠道-新建渠道。填写渠道信息渠道类型选择OpenAI。渠道名称起个容易识别的名字如我的GPT-4。密钥填入你的OpenAI API Key格式以sk-开头。代理可选如果你的网络需要可以填写代理地址例如http://your-proxy.com:8080。模型可选可以手动填写此渠道支持的模型如gpt-3.5-turbo, gpt-4不填则默认支持所有。点击提交。渠道状态显示为已启用绿色即表示添加成功。添加其他模型流程完全一样只是在“渠道类型”中选择对应的供应商如百度文心一言、阿里通义千问等然后填入该平台提供的API Key和相应的Base URL如果需要。5.2 创建用户并获取令牌渠道是“货源”用户是“买家”。接下来我们创建一个API用户。在左侧菜单进入令牌-新建令牌。填写令牌信息名称用于区分如测试用户A。过期时间设置令牌的有效期。剩余额度给这个令牌分配多少额度单位是美元。模型权限可以限制这个令牌只能访问哪些模型如只允许用gpt-3.5-turbo。点击提交。系统会生成一个以sk-开头的密钥这个密钥只会显示一次请务必妥善保存。这就是你的用户调用API时需要的凭证。5.3 像调用OpenAI一样调用所有模型这是最精彩的部分。假设你保存的令牌是sk-abc123...。以前你用Python调用OpenAI可能是这样的from openai import OpenAI client OpenAI(api_key你的-openai-key, base_urlhttps://api.openai.com/v1)现在你只需要把base_url改成你的OneAPI地址api_key换成刚才生成的OneAPI令牌from openai import OpenAI # 注意base_url 指向你自己的 OneAPI 服务地址 client OpenAI(api_keysk-abc123..., base_urlhttp://localhost:3000/v1) # 发起一个聊天请求模型名写你在OneAPI里看到的任意支持的模型 completion client.chat.completions.create( modelgpt-3.5-turbo, # 这里可以换成 qwen-max, ernie-bot, spark-v3 等等 messages[ {role: user, content: 你好请介绍一下你自己。} ] ) print(completion.choices[0].message.content)看到了吗代码几乎不用改。无论你想调用文心一言还是通义千问只需要修改model参数即可。OneAPI帮你完成了所有复杂的适配工作。5.4 关键功能体验查看消费在日志页面可以查看所有API调用的详细记录包括消耗的额度。负载均衡为同一个模型类型如gpt-3.5-turbo添加多个渠道后在渠道页面可以设置负载均衡模式如轮询、权重当一个渠道额度用完或故障时会自动切换到下一个。自定义模型名在模型页面你可以设置“模型映射”。比如用户请求gpt-4你可以实际让他使用qwen-max。这在做成本优化或A/B测试时很有用。6. 总结OneAPI带来的改变走完整个部署和配置流程你会发现OneAPI确实大大简化了多模型管理的复杂度。我们来总结一下它的核心价值1. 统一入口降低开发成本你再也不需要为每个大模型供应商编写不同的API调用代码。一套基于OpenAI格式的代码走遍天下。这对于需要快速切换或对比不同模型效果的应用来说效率提升是巨大的。2. 集中管理提升运营效率所有API密钥、用户、额度、消费记录都在一个后台管理。你可以清晰地看到每个模型、每个用户的费用情况方便进行成本控制和财务核算。3. 支持国产满足合规需求对国产数据库达梦、人大金仓的支持是OneAPI一个非常重要的特性。这使得它能够进入对数据存储有国产化要求的项目或单位拓宽了应用场景。4. 开源灵活可按需扩展作为开源项目你可以查看其全部代码并根据自己的业务需求进行定制化开发。通过它提供的管理API你甚至可以在不修改源码的情况下集成到自己的运维体系中。给初学者的最后建议先从Docker SQLite的方式体验最快几分钟就能看到效果。熟悉基本操作后如果确有需求再考虑迁移到达梦或人大金仓这类企业级数据库。无论你是个人开发者、小团队还是有一定规模的企业OneAPI都能为你管理大模型API带来极大的便利。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2491919.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…