Skip to content

AI 大模型网关

AI Model Gateway 在 OpenEdge 的鉴权、计费、日志、成本限制和连接账户体系后提供 OpenAI-compatible 模型接口。

支持的 Endpoint

所需 scope:

text
ai:invoke
http
POST /v1/apps/ai/:alias/chat
POST /v1/apps/ai/:alias/chat/stream
POST /v1/apps/ai/:alias/embeddings

BYOK 模式

当前 MVP 支持 BYOK,也就是用户自带模型供应商 API Key。API Key 可以直接配置在 AI 服务实例中,也可以先保存为 Connected Account,再由服务实例引用。

支持的连接账户 provider:

text
openai-compatible
openrouter
deepseek
custom-api-key

服务配置

直接密钥模式会保存加密后的 provider key:

json
{
  "provider": "openai-compatible",
  "mode": "byok",
  "base_url": "https://api.openai.com/v1",
  "default_model": "gpt-4o-mini",
  "api_key_encrypted": "enc:v1:...",
  "max_tokens_per_request": 2048,
  "max_cost_per_request": 0.05,
  "log_requests": false
}

连接账户模式只保存引用:

json
{
  "provider": "openai-compatible",
  "mode": "byok",
  "connected_account_id": "conn_...",
  "base_url": "https://openrouter.ai/api/v1",
  "default_model": "anthropic/claude-sonnet",
  "max_tokens_per_request": 4096,
  "max_cost_per_request": 0.10
}

Chat 示例

bash
curl -X POST https://api.open4x.com/v1/apps/ai/default/chat \
  -H "X-API-Key: sk_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "messages": [
      { "role": "user", "content": "把这段文字总结成三点。" }
    ],
    "max_tokens": 1000,
    "max_cost": 0.05
  }'

响应体保持上游 OpenAI-compatible 格式。账务信息通过响应头返回:

http
X-OpenEdge-Estimated-Cost: 0.0005
X-OpenEdge-Final-Cost: 0.0005
X-OpenEdge-Total-Tokens: 400

Streaming

bash
curl -N -X POST https://api.open4x.com/v1/apps/ai/default/chat/stream \
  -H "X-API-Key: sk_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "messages": [{ "role": "user", "content": "写一段发布说明。" }],
    "stream": true
  }'

OpenEdge 会转发供应商 SSE 流,并在流结束后结算 token 用量。如果上游没有返回 usage,则按预扣估算费用结算。

Embeddings

bash
curl -X POST https://api.open4x.com/v1/apps/ai/default/embeddings \
  -H "X-API-Key: sk_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "text-embedding-3-small",
    "input": ["第一段文本", "第二段文本"],
    "max_cost": 0.02
  }'

计费

BYOK 模式下平台收取网关服务费:

text
final_cost = request_fee + total_tokens / 1,000,000 * token_gateway_fee

网关会在调用前检查余额,记录 estimated cost 和 final cost,并在最终成本低于预扣费用时退款。

安全

  • Provider API Key 使用 CONFIG_ENCRYPTION_KEY 加密。
  • 控制台不会返回明文 provider key。
  • base_url 必须是 HTTPS,并通过 SSRF 防护。
  • 默认日志只保存 provider、model、token usage、status、cost 和 latency,不保存 prompt 或完整 response。