# 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、云端路由