初始提交:边缘AI算力机统一AI通讯层
CI / lint (push) Has been cancelled
CI / test (push) Has been cancelled
CI / build (push) Has been cancelled
CI / security-scan (push) Has been cancelled

This commit is contained in:
freedakgmail
2026-08-03 07:44:05 +08:00
commit 93a469061d
51 changed files with 11565 additions and 0 deletions
+105
View File
@@ -0,0 +1,105 @@
# Edge AI Gateway
边缘 AI 算力机统一 AI 通讯层 — OpenAI 兼容的 AI 网关。
## 快速开始
### 前置条件
- Go 1.23+
- Ollama(或 vLLM)推理引擎
- Make(可选)
### 编译
```bash
make build
```
### 运行
```bash
# 使用默认配置
make run
# 使用自定义配置
./bin/edgeai-gateway --config configs/config.yaml
```
### 测试
```bash
# 全部测试
make test
# 单元测试
make test-unit
# 覆盖率报告
make test-coverage
```
### Docker 部署
```bash
# 构建镜像
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、云端路由