摘要
API_gateway 是一个面向个人或小型内部场景的大模型聚合网关。它将多个上游模型服务收敛到统一入口,并提供用户注册登录、网关 API Key、调用记录和管理页面。项目基于 Flask 构建,可直接以 SQLite 启动,也准备了 Docker 与 Gunicorn 部署文件。
项目背景
当应用同时接入多个大模型平台时,客户端往往需要处理不同的地址、鉴权和响应格式。聚合网关可以把这些差异留在服务端,对客户端暴露相对稳定的请求接口,同时集中管理上游密钥、用户权限与使用记录。
核心功能
- 用户注册、登录、登出与密码哈希存储。
- 为用户生成和重置独立的网关 API Key。
- 管理多个上游模型供应商及其访问配置。
- 提供统一聊天接口,并尽量归一化响应和用量字段。
- 提供后台页面查看密钥、用量和调用信息。
- 支持本地 Python、Gunicorn、Docker 与 Docker Compose 部署。
技术架构与技术栈
Web 层采用 Flask,数据访问使用 Flask-SQLAlchemy,登录会话由 Flask-Login 管理,密码使用 Flask-Bcrypt 进行哈希。上游 HTTP 调用使用 requests,默认数据存储为 SQLite,生产运行可使用 Gunicorn。
项目将认证路由、API 路由、模型和模板分离,已经具备小型 Flask 应用的基本结构。安全更新后,实例数据库、Python 缓存和本地环境文件不再进入版本控制;SECRET_KEY 与数据库地址统一从环境变量读取。
项目亮点
项目覆盖了一个网关原型需要的主要环节:用户身份、网关密钥、上游转发、调用统计和部署,而不仅仅是一个简单的 HTTP 代理。对想理解“大模型服务统一入口”如何从脚本演进为 Web 应用的开发者,它提供了较完整的参考骨架。
使用与部署
本地运行需要 Python 3.8+。创建虚拟环境并安装依赖后,设置随机且足够长的 SECRET_KEY,再执行 python run.py。生产环境建议使用 Gunicorn 或 Docker,并将数据库、上游密钥与会话密钥交由部署平台的安全变量管理。
这个项目目前更适合作为个人或内部原型。面向公开生产环境时,还应继续补充速率限制、CSRF 策略、密钥加密、数据库迁移、审计日志、异常隔离和自动化测试。
适用场景
- 个人统一管理多个大模型服务。
- 内部团队的轻量模型访问入口。
- Flask 登录、密钥与转发机制的综合示例。
- 继续扩展限流、配额、计费和模型路由策略的基础工程。