Files
freedakgmail 5bcfbdb88d
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
docs: 添加使用示范和启动指南
- examples/demo_usage.py: Python 使用示范(openai SDK + requests)
- examples/demo_usage.go: Go 使用示范(net/http)
- run.md: 完整启动指南(前置条件、3种启动方式、API Key 配置、验证命令)
2026-08-03 07:57:31 +08:00

3.3 KiB
Raw Permalink Blame History

Edge AI Gateway 启动指南

前置条件

1. 安装 Go

# macOS
brew install go

# Linux
wget https://go.dev/dl/go1.23.0.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.23.0.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin

2. 安装 Ollama(本地推理引擎)

# macOS
brew install ollama

# Linux
curl -fsSL https://ollama.com/install.sh | sh

# 拉取模型
ollama pull deepseek-r1:1.5b

3. 安装 SQLite

# macOS(自带)
# Linux
sudo apt install sqlite3

启动方式

方式一:直接运行

# 1. 创建数据目录
mkdir -p /tmp/edgeai-data

# 2. 启动 Ollama(另一个终端)
ollama serve

# 3. 启动 Edge AI Gateway
EDGEAI_DB_PATH=/tmp/edgeai-data go run ./cmd/gateway/ --config configs/config.yaml

服务器将在 http://0.0.0.0:8080 启动。

方式二:编译后运行

# 1. 编译
go build -o bin/gateway ./cmd/gateway/

# 2. 启动
EDGEAI_DB_PATH=/tmp/edgeai-data ./bin/gateway --config configs/config.yaml

方式三:Docker Compose

cd deploy
docker-compose up -d

服务端口:

配置 API Key

首次启动后需要创建 API Key

# 1. 计算 key 的 SHA-256 哈希
HASH=$(echo -n "your-api-key" | shasum -a 256 | awk '{print $1}')

# 2. 插入数据库
sqlite3 /tmp/edgeai-data/auth.db "INSERT INTO api_keys (app_id, tenant_id, name, key_hash, allowed_models, allowed_priorities, is_admin, enabled) VALUES ('my-app', 'my-tenant', 'my-key', '$HASH', '[]', '[]', 1, 1);"

# 3. 重启服务器使 key 生效

环境变量

变量 默认值 说明
EDGEAI_DB_PATH /var/lib/edgeai 数据库目录
EDGEAI_SERVER_PORT 8080 服务端口
EDGEAI_LOG_LEVEL info 日志级别
EDGEAI_CONFIG_PATH configs/config.yaml 配置文件路径

验证

# 健康检查
curl http://localhost:8080/health

# 查看模型(需 API Key
curl -H "Authorization: Bearer your-api-key" http://localhost:8080/v1/models

# 非流式对话
curl -X POST http://localhost:8080/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer your-api-key" \
  -d '{"model":"general-chat","messages":[{"role":"user","content":"你好"}]}'

# 流式对话
curl -N -X POST http://localhost:8080/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer your-api-key" \
  -d '{"model":"fast-chat","messages":[{"role":"user","content":"你好"}],"stream":true}'

# Prometheus 指标
curl http://localhost:8080/metrics

可选:启动 vLLM

# 安装 vLLM
pip install vllm

# 启动 vLLM 服务(端口 8000
vllm serve --model deepseek-ai/deepseek-r1-1.5b --port 8000

# 然后在 Gateway 配置中使用 vllm-chat 模型

运行测试

# 单元测试
go test ./internal/... -count=1

# 集成测试
go test ./test/integration/ -count=1

# 全部测试
go test ./internal/... -count=1 && \
go test ./test/integration/ -count=1 && \
go test ./test/security/ -count=1 && \
go test ./test/compatibility/ -count=1 && \
go test ./test/performance/ -count=1 && \
go test ./test/chaos/ -count=1