Experiential 开源模型网关实现 LLM 的统一访问、路由与优化

Experiential 的作用及其重要性

Experiential 提供了一个单一的 OpenAI 兼容 API,可以将请求转发到托管、自带密钥 (BYOK) 或本地运行的语言模型的任何组合,同时为运营者提供对用户访问、支出限制和模型选择的精细化控制。通过将生产流量收集为 OpenTelemetry 追踪 (traces),该平台可以自动训练自定义路由器,或微调模型以提高质量、延迟和成本效益。


开箱即用的核心功能

统一控制平面

  • 所有模型——OpenAI, Anthropic, Gemini, Azure, Bedrock, Fireworks, OpenRouter 或自托管的开源模型——都可以通过同一个 /v1/chat/completions 端点访问。
  • 网关强制执行针对用户、代理 (agent) 和使用场景的策略,包括预算上限(例如,默认的 $50 命令预算)。

流量驱动的优化

  • 从代理中摄取 OpenTelemetry 追踪并进行匿名存储;任何提示词 (prompts)、凭据或原始内容都不会被发送到遥测服务。
  • exp build 向导会根据这些追踪数据创建一个模拟的项目路由器,而 exp optimize 可以通过 Tinker 工具微调开源模型,以更好地服务于观察到的工作负载。

低开销路由

  • 基准测试显示,对于 BYOK 请求,网关增加的延迟低于 1 ms,非常适合高吞吐量应用。
  • 仓库中未详细说明缓存策略,但社区成员已就 Token 级缓存及其成本影响提出了澄清请求。

快速入门

本地开发

pip install experiential
exp   # runs the setup wizard and prints a one-time API key
export EXP_GATEWAY_KEY=...   # use the printed key
curl http://127.0.0.1:8000/v1/chat/completions \
  -H "Authorization: Bearer $EXP_GATEWAY_KEY" \
  -H 'Content-Type: application/json' \
  -d '{"model":"opus-5","messages":[{"role":"user","content":"Help me"}]}'

向导会自动创建一个公开别名(例如,opus-5)和默认支出预算。

托管平台

  • 托管服务位于 https://platform.experientiallabs.ai,并在 https://api.experientiallabs.ai/v1 暴露相同的 OpenAI 兼容 API。
  • 入驻步骤包括上传 LLM 追踪数据、连接任何提供商的 BYOK 密钥,并将现有的编码代理(Claude Code, Cursor, Codex, Aider 等)重新指向新端点。

从真实流量中进行优化

  1. 收集追踪数据 – 从您的代理中导出 OTLP JSONL 文件,或使用公共终端任务数据集:
    curl -L -o traces.otel.jsonl \
      https://huggingface.co/datasets/experiential-labs/wmo-terminal-tasks-traces/resolve/540883e451dc13d34fb50fdd36b143cb0f1fb0db/traces.otel.jsonl
    
  2. Build a Project Router – 运行交互式构建器:
    exp build support-agent   # selects providers, models, budget, and trace file
    
  3. Fine-Tune a Model – 在收集到路由器追踪数据后,调用 Tinker 来创建一个自定义模型:
    exp optimize model support-agent
    

该生成的模型可以通过同一个网关提供服务,从而完成从观察到改进的闭环。


遥测政策

  • Experiential 通过 PostHog 提供匿名的聚合遥测数据。
  • 遥测数据绝不包含用户提示词、模型名称、凭据或原始内容。
  • 用户可以通过以下命令切换遥测功能:
    exp config telemetry status   # view current state
    exp config telemetry disable  # turn off
    exp config telemetry enable   # turn on
    

设置存储在本地的 .exp/settings.toml 中。


社区反馈亮点

"Finally an open source tool doing this!" – ashermania

"The gateway adds under 1 ms for BYOK requests. Amazing!" – ceroxylon

"Is it similar to LiteLLM? If so, what sets it apart?" – cheema33

"Caching is definitely one of the hardest parts to get right..." – foremerge

"Curious if you initially had this in Python and then rewrote in Rust?" – 23david

这些评论强调了三个反复出现的主题:(1) 开源、模型不可知论的网关的新颖性,(2) ultra-low 延迟的重要性,以及 (3) 关于缓存策略和实现语言的开放性问题。


与相似项目的对比

  • LiteLLM – 提供多个提供商的薄封装,但缺乏内置的流量驱动型路由器和优化闭环。
  • Enterpilot/GoModel, Maximhq/Bifrost, BerriAI/LiteLLM – 提供多提供商路由;Experiential 的独特之处在于其遥测引导的路由器构建器和通过 Tinker 实现的集成式微调。
  • vLLM Semantic Router – 专注于开源推理的语义路由;Experiential 通过处理 BYOK、预算执行和托管 SaaS 服务的提供来与之互补。

开发与贡献

uv sync --extra dev               # install dev dependencies
uv run ruff format --check .      # code formatting check
uv run ruff check .               # linting
uv run ty check                   # type checking
uv run pytest -q                  # test suite

贡献指南、代理 (agent) 规范和 API 文档维护在仓库的 AGENTS.mdSETUP.md 文件中。


展望

Experiential 证明了开源网关可以既作为异构 LLM 集群的控制平面,又作为持续模型改进的数据收集点。随着越来越多的组织采用多提供商策略,能够自动路由、执行支出限制并闭合生产流量与模型训练之间反馈闭环的工具将成为必不可少的的基础设施。

Sources

相关

  • 项目
  • 项目
  • Dispatch
  • 项目
  • 项目