Experiential是一个开源模型网关,提供统一控制面板,支持闭源、开源、本地及自定义模型。它通过兼容OpenAI的API,管理用户和代理的模型使用权限与成本,并能将生产流量优化为定制路由器或模型。
正文
好的,这是根据您的要求,对原文主要内容进行的中文重述:
项目名称: Experiential
核心定位: 一个开源的模型网关和路由器,专为智能体工作流设计。
主要功能:
- 统一API接口: 通过一个兼容OpenAI的API,可以统一调用托管模型、自带密钥(BYOK)的模型以及本地模型。
- 精细化管控: 能够控制哪些用户或智能体可以使用哪些模型、用于哪些场景,并设定其花费上限。
- 流量优化: 可以将生产环境的流量转化为自定义的路由策略或模型,以优化质量、速度和成本。
快速入门:
- 本地部署: 通过
pip install experiential和exp命令即可启动一个本地的OpenAI兼容网关。首次运行时会通过设置向导引导用户选择提供商和模型,并设置默认的公共别名、身份和预算(如50美元)。 - 托管服务: 如果不想本地运行,可以使用托管平台
platform.experientiallabs.ai,它提供相同的API接口。
API使用:
- 启动本地网关后,可以通过Python代码加载一个项目路由器,并将其作为官方的OpenAI客户端来使用。
流量优化:
- 首先,收集当前智能体的OpenTelemetry追踪数据(例如,可使用公开的
terminal-tasks数据集)。 - 然后,使用
exp build命令,根据追踪数据构建一个项目,该命令会引导用户配置提供商、模型和预算。 - 最后,可以使用
exp optimize命令,基于收集到的追踪数据对模型进行微调优化。
遥测功能:
- 默认启用匿名的聚合产品遥测,但不会收集提示词、追踪数据、模型名称或用户凭证等敏感信息。用户可以通过
exp config telemetry命令查看或关闭此功能。
开发相关:
- 项目使用
uv进行依赖管理,并提供了代码格式化、类型检查和测试等开发命令。
评论
根据评论内容,主要观点和论据总结如下:
1. 对开源工具的积极评价
- 评论2(ashermania):“Finally an open source tool doing this!”(终于有开源工具做这个了!)
- 评论5(ceroxylon):“Open source and no markup is the right default for a gateway.”(开源且无加价是网关的正确默认设置。)
2. 对缓存和成本问题的关注
- 评论1(Areibman):“One major advantage of sticking with a single model is saving money on cached input tokens... cost would balloon out of control”(坚持使用单一模型的主要优势是节省缓存输入令牌的成本...成本会失控膨胀)
- 评论6(akshay_akula):“The caching question above is the one I would want answered before swapping models”(在切换模型前,我想先了解缓存问题)
3. 对技术实现和性能的赞赏
- 评论5(ceroxylon):“The gateway adds under 1 ms for BYOK requests... The Tinker implementation is my favorite part”(网关为BYOK请求增加不到1毫秒...Tinker实现是我最喜欢的部分)
- 评论3(23david):“Super interesting... Curious if you initially had this in Python and then rewrote in Rust?”(非常有趣...好奇最初是用Python写的然后重写为Rust吗?)
4. 与其他工具的对比询问
- 评论4(cheema33):“Is it similar to LiteLLM? If so, what sets it apart?”(它和LiteLLM类似吗?如果是,区别是什么?)
总结:评论整体对开源网关项目持积极态度,但核心关注点集中在缓存机制对成本的影响,以及与其他工具(如LiteLLM)的差异化优势。技术实现(如Rust重写、低延迟)也受到肯定。