网关集成

以 Markdown 格式查看

Alephant Gateway 是 Agentic Finance Gateway 的模型访问层。它让智能体、成员、工作流和应用程序通过 Alephant Virtual Key 路由 LLM 请求,而非暴露原始 provider key。请求保持与 provider 兼容,同时 Alephant 会应用身份验证、路由、日志记录、预算、策略检查、分析和智能体运行归属。

配置 Virtual Key

  1. Keys 中添加 provider key。这是 Alephant 安全存储的上游 provider 凭据。
  2. 为将发送流量的应用程序、服务或用户创建 AgentVirtual Key
  3. 使用要强制执行的 provider、model 访问、department、budget 和 policy 配置该密钥。
  4. 复制生成的 vk-... token。此 token 是您的应用程序发送给 Alephant Gateway 的凭据。

请为不同的应用程序、环境、智能体或团队使用单独的 Virtual Key。这可使日志、成本归属和策略执行保持清晰。

通过网关发送请求

使用为您的环境配置的 Gateway 基础 URL,并在标准 Authorization 请求头中传递 Virtual Key。

$curl https://alephant.io/v1/chat/completions \
> -H "Authorization: Bearer $ALEPHANT_VIRTUAL_KEY" \
> -H "Content-Type: application/json" \
> -d '{
> "model": "gpt-4o-mini",
> "messages": [
> { "role": "user", "content": "Write a one sentence status update." }
> ]
> }'

对于网关请求,请使用 Virtual Key。请勿将您的 provider API key 发送给 Alephant;网关会在验证 Virtual Key 后注入已配置的上游凭据。

必填请求头

请求头用途
Authorization必需。使用 Bearer <virtual-key>。网关验证 Virtual Key 后,会在转发到上游前移除此请求头。
Content-Type对 JSON 模型请求使用 application/json。其他兼容 provider 的内容类型会被直接传递。

可选追踪请求头

这些请求头帮助您向请求附加业务上下文,并改进日志、分析和调试。标记为仅网关使用的请求头不会转发给上游模型 provider。

请求头用途
x-request-id可选的请求关联 ID。如果存在且兼容 UUID,可作为请求日志 ID 和策略请求 ID 使用。缓存命中响应可能会使用响应中的 alephant-id 替代请求关联。
Alephant-Agent-Id仅网关使用。用于智能体运行归属的稳定 Alephant agent ID。新的集成应优先使用此请求头。
Alephant-Run-Id仅网关使用。一次任务执行的稳定 run ID。在同一 run 的所有模型或工具调用中复用。
alephant-session-id仅网关使用。将请求归组到一个 session,以用于日志和分析。
alephant-session-path仅网关使用。可选的 session 路径。优先使用以 / 开头的值,例如 /checkout/retry
alephant-session-name仅网关使用。可选的人类可读 session 名称。
alephant-property-*仅网关使用。自定义日志属性。例如 alephant-property-environment: productionalephant-property-feature: onboarding
alephant-prompt-id仅网关使用。在转发请求前应用已存储的 prompt template。请求体必须是有效 JSON。
alephant-forced-routing高级功能。在 route 支持时强制路由到有效的 provider 名称。仅用于受控测试或显式故障转移 workflow。

请求追踪示例:

$curl https://alephant.io/v1/chat/completions \
> -H "Authorization: Bearer $ALEPHANT_VIRTUAL_KEY" \
> -H "Content-Type: application/json" \
> -H "x-request-id: 018f7f83-2a7a-7f1a-9b2f-2f2b21e8a001" \
> -H "Alephant-Agent-Id: agt_support_bot_8f3a" \
> -H "Alephant-Run-Id: run_ticket_8421_20260609_001" \
> -H "alephant-session-id: onboarding-demo" \
> -H "alephant-property-environment: production" \
> -H "alephant-property-customer-tier: enterprise" \
> -d '{
> "model": "gpt-4o-mini",
> "messages": [
> { "role": "user", "content": "Summarize this customer ticket." }
> ]
> }'

有关 Agent ID、Run ID、Session ID、Request ID 和 Trace ID 的完整指南,请参阅 智能体 ID 与运行 ID

缓存请求头

Alephant 支持网关侧响应缓存。缓存请求头为可选项,且不会发送给上游模型 provider。

请求头用途
Alephant-Cache-Enabled设为 true 时启用缓存行为。
Alephant-Cache-Read设为 true 时允许从缓存读取。
Alephant-Cache-Save设为 true 时允许将响应保存到缓存。
Alephant-Cache-Bucket-Max-Size可选的 bucket 数量。有效范围为 1-20。
Alephant-Cache-Seed可选 seed,参与缓存 key 派生。
Alephant-Cache-Control可选缓存控制,如 max-ages-maxage

语义缓存和 embedding 请求头是高级网关控制项。仅当您的 workspace 已配置语义缓存时使用它们:

请求头用途
Alephant-Embeddings-Model用于语义缓存查找的 embedding model。
Alephant-Embeddings-Key网关用于语义缓存查找的 embedding 凭据。
Alephant-Cache-Semantic-Threshold语义缓存匹配的相似度阈值。
Alephant-Cache-Ttl语义缓存 TTL。

日志与隐私控制

一些请求头会影响请求日志行为。

请求头用途
alephant-omit-request存在时省略请求侧日志行为。
alephant-omit-response存在时省略响应侧日志行为。
cf-ipcountry流量位于 Cloudflare 后方时的国家/地区代码来源。
x-alephant-country-codecf-ipcountry 缺失时的国家/地区代码后备值。
Referer记录为请求来源页面。

避免将密钥或受监管的个人数据放入自定义 alephant-property-* 请求头。它们旨在承载可安全显示在日志中的运营元数据。

客户端 IP 与策略评估

网关使用请求元数据评估策略,其中包括可表示为 UTF-8 的请求头。对于客户端 IP:

  • 策略评估可能使用 x-forwarded-for,其中最左侧的 IP 被视为客户端 IP。
  • 仅当直接对等端是已配置的受信任代理时,限流才信任 x-forwarded-for。否则,使用直接对等端 IP。

响应请求头

网关响应可能包含 Alephant 特有的响应元数据,例如:

请求头用途
alephant-provider启用响应请求头时,由网关选择的 provider。
alephant-provider-req-id可用且已启用时的上游 provider 请求 ID。
alephant-cache启用缓存的请求的缓存状态。
alephant-cache-bucket-idx缓存命中的 cache bucket 索引。
alephant-cache-latency缓存查找延迟。
alephant-idAlephant 请求标识符,尤其适用于缓存命中响应。

验证请求

通过网关发送请求后:

  1. 打开 Logs 确认请求已被记录。
  2. Analytics 中检查支出、请求、token 用量、model、provider 和范围限定元数据。
  3. 如果请求失败,请检查 HTTP 状态以及 Virtual Key 的 policy 或 budget 配置。

常见故障包括无效的 Virtual Key 身份验证、策略阻止、限流、不受支持的模型或预算强制执行。