e7e98271d4141a22f3eca0b5f5b43dc41fb45354
Edge AI Gateway
边缘 AI 算力机统一 AI 通讯层 — OpenAI 兼容的 AI 网关。
快速开始
前置条件
- Go 1.23+
- Ollama(或 vLLM)推理引擎
- Make(可选)
编译
make build
运行
# 使用默认配置
make run
# 使用自定义配置
./bin/edgeai-gateway --config configs/config.yaml
测试
# 全部测试
make test
# 单元测试
make test-unit
# 覆盖率报告
make test-coverage
Docker 部署
# 构建镜像
make docker
# 使用 docker-compose 启动完整环境(Gateway + Ollama + Prometheus + Grafana)
docker compose -f deploy/docker-compose.yaml up -d
API 端点
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /v1/chat/completions |
Chat 补全(流式/非流式) |
| GET | /v1/models |
列出可用模型 |
| POST | /v1/sessions |
创建会话 |
| GET | /v1/sessions/:id |
查询会话 |
| DELETE | /v1/sessions/:id |
删除会话 |
| GET | /health |
健康检查 |
| GET | /ready |
就绪检查 |
| GET | /metrics |
Prometheus 指标 |
配置
配置文件位于 configs/config.yaml,支持环境变量覆盖:
| 环境变量 | 说明 | 默认值 |
|---|---|---|
EDGEAI_CONFIG_PATH |
配置文件路径 | configs/config.yaml |
EDGEAI_SERVER_PORT |
服务端口 | 8080 |
EDGEAI_ADMIN_PORT |
管理端口 | 8081 |
EDGEAI_LOG_LEVEL |
日志级别 | info |
EDGEAI_DB_PATH |
数据库目录 | /var/lib/edgeai |
项目结构
cmd/gateway/ # 应用入口
internal/
config/ # 配置加载与校验
server/ # HTTP 服务器与路由
handler/ # 请求处理器与错误响应
middleware/ # 中间件(RequestID、BodyLimit、Logging、Recovery)
auth/ # API Key 认证
session/ # 会话存储(SQLite)
context/ # 上下文组装与 Token 估算
scheduler/ # 优先级队列与调度器
router/ # 逻辑模型映射
connector/ # 超时管理与取消传播
adapter/ # 推理引擎适配器(Ollama)
task/ # 任务状态机与持久化
observability/ # 结构化日志与 Prometheus 指标
pkg/api/ # API 类型定义
configs/ # 配置文件
deploy/ # Docker Compose 与 Prometheus 配置
test/ # 测试工具与集成/E2E 测试
开发阶段
- M1 (MVP) — 基础网关功能:API 代理、认证、调度、SSE 流式、Ollama 适配
- M2 (治理增强) — 熔断、背压、动态路由、幂等控制、Redis 集成
- M3 (多节点/多模态) — 多节点调度、视觉/语音模型、WebSocket、云端路由
Description
Languages
Go
99.6%
Makefile
0.2%
Dockerfile
0.2%