拓冰建站拓冰建站
首页 / 资讯中心 / 正文

Helicone 架构全景解析:AI Gateway 与 LLM 可观测平台的七类 UML 架构视图

Helicone 架构全景解析AI Gateway 与 LLM 可观测平台的七类 UML 架构视图【免费下载链接】helicone Open source LLM observability platform. One line of code to monitor, evaluate, and experiment. YC W23 项目地址: https://gitcode.com/GitHub_Trending/he/helicone本篇技术指南以仓库根目录下的 DIAGRAMS.md 为骨架系统梳理 Helicone 接入 OpenAI API Key 后的整体架构与运行机制覆盖用例视图、类视图、时序视图、活动视图、状态视图、组件视图与部署视图七类 UML 图并结合worker/、docker/等目录下的真实源码逐一印证。读完本文你将掌握 Helicone 网关的参与者角色边界、一次代理请求的完整生命周期、连接状态机以及云端与自托管两种部署拓扑能够据此快速定位网关源码入口并规划自己的接入方案。一、总览Helicone 与 OpenAI API Key 的集成架构Helicone 是一个开源的 LLM 可观测性平台与 AI 网关其核心形态是一层位于应用与模型提供商如 OpenAI之间的代理。开发者不直接请求api.openai.com而是将请求发送到 Helicone 网关由网关完成认证、限流、缓存、成本计量与日志记录后再以真实的上游 API Key 转发给 OpenAI。这一一码接入、透明代理的设计在 README.md 的 Quick Start 中体现得最为直观import OpenAI from openai; const client new OpenAI({ baseURL: https://ai-gateway.helicone.ai, apiKey: process.env.HELICONE_API_KEY, }); const response await client.chat.completions.create({ model: gpt-4o-mini, messages: [{ role: user, content: Hello! }], });仅需替换baseURL与apiKey两个字段原生的 OpenAI SDK 调用即可无缝流入 Helicone 网关。DIAGRAMS.md 正是围绕这条主链路用七类 UML 图拆解了其中的角色、类、交互、流程、状态、组件与部署。二、用例视图Use Case Diagram四类参与者与八大能力DIAGRAMS.md 的用例图定义了四类参与者Actor与它们可执行的用例参与者定位Developer应用的开发者负责接入与调试System Administrator系统管理员负责服务部署与配置User最终用户通过应用间接消费 LLM 能力OpenAI API外部模型提供商作为系统的对端参与者对应的核心用例包括设置 Helicone 服务器Set up Helicone server、集成 OpenAI API KeyIntegrate OpenAI API key、配置代理设置Configure proxy settings、初始化 API 连接Initialize API connection、监控 API 使用Monitor API usage、实现请求限流Implement request throttling、管理缓存请求Manage cached requests、分析 API 使用模式Analyze API usage patterns。从源码结构看这些用例在网关 Worker 中均有落点。入口文件 worker/src/index.ts 的modifyEnvBasedOnPath函数会根据请求主机名前缀将流量分流为不同的WORKER_TYPE例如ai-gateway前缀进入AI_GATEWAY_API、oai前缀进入OPENAI_PROXY、anthropic前缀进入ANTHROPIC_PROXY同时为 openrouter、deepinfra、groq、perplexity、mistral、bedrock 等多家提供商配置了转发目标。这解释了用例中配置代理设置与初始化 API 连接为何是同一组能力不同的 provider 前缀在网关层统一收敛为认证 转发两条路径。实现请求限流与管理缓存请求两个用例则由 Helm 头驱动在 worker/src/lib/models/HeliconeHeaders.ts 中可以找到Helicone-RateLimit-Policy、Helicone-Cache-Enabled、Helicone-Cache-Seed、Helicone-Cache-Bucket-Max-Size、Helicone-Cache-Control等一系列请求头解析逻辑它们是限流策略与缓存桶配置的运行时入口。三、类视图Class DiagramUser、Helicone 与 OpenAI API Key 的关系DIAGRAMS.md 的类图勾勒出三个核心类及其协作关系User暴露send_req()操作发起请求Helicone暴露setup()操作负责初始化网关OpenAI API Key暴露access()操作代表对上游 API 的访问凭据。三者通过API Request连接最终与OpenAI Server完成交互——即用户发请求 → Helicone 网关处理 → 携带 API Key 访问 OpenAI。映射到真实代码这一类图对应的是网关中的RequestWrapper与SimpleAIGateway。在 worker/src/lib/RequestWrapper.ts 中RequestWrapper封装了请求的 URL、Headers、Authorization、Helicone 专属头与 Prompt 设置其核心构造流程包括通过mutatedAuthorizationHeaders处理认证头支持将提供方 Key 与 Helicone Key 以逗号分隔放入同一个Authorization头中例如Bearer sk-123, Bearer helicone-sk-123并自动拆分出helicone-auth与真正的 providerAuthorization支持从 URL 路径中提取sk-helicone/pk-helicone形式的 API Key 并回填到helicone-auth头setAuthorization使用 SHA-256 哈希hash函数定义在 worker/src/index.ts处理密钥避免明文密钥落库。类图中的OpenAI API Key在运行期则体现为 worker/src/routers/aiGatewayRouter.ts 中的两步先取原始 Provider KeygetRawProviderAuthHeader再取哈希 Key 校验合法性只有两者都通过才会创建携带orgId、apiKey等上下文的SimpleAIGateway实例aiGatewayRouter.ts继续后续转发。四、时序视图Sequence Diagram一次请求的完整生命周期DIAGRAMS.md 的时序图描述了最典型的调用链User → Helicone → OpenAI API即用户将请求发送给 HeliconeHelicone 完成Setup integrate API key后把请求转发给 OpenAI随后将 OpenAI 的响应原路返回给用户。在真实网关中这条时序被展开为更细的环节。以 worker/src/routers/aiGatewayRouter.ts 的POST *处理器为例一次请求依次经历路径预检根据v1/responses等路径自动设置Helicone-Gateway-Body-Mapping头决定使用OPENAI还是RESPONSES请求体映射认证RequestWrapper.auth()校验 Helicone 密钥失败返回401 Invalid Helicone API key组织上下文加载通过DBWrapper.getAuthParams()读取组织信息未找到返回401 Organization not found网关处理实例化SimpleAIGateway并调用gateway.handle()完成模型路由、缓存查询、限流、成本计量与上游转发响应返回与追踪tracer.finishTrace()结束 DataDog 链路追踪将响应返回给用户。值得注意的一点是在网关的时序中Helicone 响应并非总是来自 OpenAI。当启用了缓存Helicone-Cache-Enabled: true且缓存命中时网关会直接从缓存返回结果而不触达上游从而降低延迟与成本——这是 DIAGRAMS.md 时序图中未画出、但在实际运行中高频出现的一条分支路径。五、活动视图Activity Diagram从零到可用的接入流程DIAGRAMS.md 的活动图给出了接入 Helicone 的四个阶段构成一条严格有序的工作流Set up Helicone Server ↓ Integrate OpenAI API Key ↓ Configure proxy settings ↓ Initialize API connection这条流程对应两种落地方式托管云SaaS按 README.md 的 Quick Start注册获取HELICONE_API_KEY然后仅修改代码中的baseURL与apiKey即完成全部四步——Helicone 服务器由官方托管配置代理体现为指向https://ai-gateway.helicone.ai初始化连接由网关 Worker 自动完成自托管Self-host使用 docker/docker-compose.yml 拉起本地基础设施。该编排文件定义了 PostgreSQL 17db服务、ClickHouseclickhouse服务用于请求响应日志与统计、MinIO 对象存储minio服务用于请求体/响应体等大对象存储并自动创建request-response-storage、prompt-body-storage、hql-store等 bucket以及 Flyway 迁移等服务之后再将应用部署到自建的 Worker/容器环境。这一步更贴合系统管理员参与者视角。六、状态视图State Diagram网关连接状态机DIAGRAMS.md 的状态图描述了 Helicone 服务器在 API Key 集成与连接过程中的状态迁移Start Helicone State ↓ Not connected / Connecting / Connected ↓ API Key Error / API Success即网关启动后处于未连接状态当收到请求进入连接中认证与校验通过后进入已连接若 API Key 无效则落入API Key Error分支。源码中与该状态机最贴近的实现是认证分支的判定逻辑。在 worker/src/routers/aiGatewayRouter.ts 中可以看到三个明确的终态哈希 Key 为空 →401 Invalid Helicone API key (hshed)对应API Key Errorauth()返回错误或无原始 Key →401 Invalid Helicone API key对应API Key Error认证与组织校验全部通过 → 进入SimpleAIGateway.handle()正常转发对应API Success。此外worker/src/index.ts 中modifyEnvBasedOnPath对 EU 区域的切换request.isEU()时替换为 EU 的 ClickHouse、Supabase、S3 等配置也可以视为一种部署级状态切换同一套网关代码在不同数据区域下呈现不同的运行状态。七、组件视图Component Diagram网关系统的组件划分DIAGRAMS.md 的组件图将 Helicone 系统划分为五大组件User Interface用户界面即仪表盘与控制台Helicone Server核心网关服务器Configuration配置设置OpenAI API Key上游访问凭据External APIs外部 API模型提供商。结合仓库结构这套组件视图可以进一步细化组件仓库落点User Interfaceweb/Next.js 前端包含仪表盘、日志、会话、评测等页面与bifrost/营销/文档站点Helicone Server网关worker/Cloudflare Worker 网关含src/routers/下aiGatewayRouter.ts、openaiProxyRouter.ts、anthropicProxyRouter.ts、gatewayRouter.ts等路由模块后端 API / 数据分析valhalla/jawn/后端服务与clickhouse/ClickHouse 迁移脚本存储请求响应日志Configuration各类环境变量与Heicone-*请求头配置见worker/src/lib/models/HeliconeHeaders.tsExternal APIsOpenAI、Anthropic、Gemini、Groq、Mistral、Bedrock 等映射逻辑见worker/src/index.ts的 host 前缀分发其中Configuration组件是理解系统的关键许多能力不需要改代码而是通过请求头按请求粒度动态配置。例如在HeliconeHeaders.ts中Helicone-Prompt-Id/Helicone-Prompt-Mode/Helicone-Prompt-Version控制提示词版本切换Helicone-User-Id关联用户维度追踪Helicone-RateLimit-Policy下发限流策略。这使网关成为配置驱动的透明中间层。八、部署视图Deployment Diagram云端与自托管的节点拓扑DIAGRAMS.md 的部署图展示了系统的物理分布一个 Server 节点承载 Helicone Server另有两个虚拟机节点VM1、VM2与用户客户端User ClientOpenAI API Key 分布于相关节点上。当前仓库支持两种部署形态云端托管形态网关以 Cloudflare Workerworker/目录wrangler.toml配置运行前端为web/后端服务与存储PostgreSQL、ClickHouse、S3/MinIO按区域美区 / EU拆分EU 部署通过dockerfile_eu与prod_push_eu.sh等脚本支持自托管形态docker/docker-compose.yml 提供了一整套可本地拉起的基础设施栈PostgreSQL ClickHouse MinIO 迁移容器配合 docker/helicone-compose.sh 与 docker/README.md 即可搭建接近生产的多节点环境——PostgreSQL 承载组织、用户与密钥等关系数据ClickHouse 承载高吞吐的请求响应日志与统计MinIO 承担对象存储职责三者对应部署图中 Server、VM1、VM2 的分工。九、从图到代码七类视图的源码导航将 DIAGRAMS.md 的七类视图与仓库路径做一次系统性映射便于按图索骥深入源码视图关注点推荐源码入口用例视图参与者与能力边界worker/src/index.ts 的modifyEnvBasedOnPath类视图核心抽象与关系worker/src/lib/RequestWrapper.ts、worker/src/lib/ai-gateway/SimpleAIGateway.ts时序视图请求生命周期worker/src/routers/aiGatewayRouter.ts 的POST *处理器活动视图接入流程README.md Quick Start、docker/docker-compose.yml状态视图连接与认证状态worker/src/routers/aiGatewayRouter.ts 的 401 分支组件视图系统组件划分web/、worker/、valhalla/jawn/、clickhouse/目录结构部署视图物理节点拓扑docker/docker-compose.yml、worker/wrangler.tomlDIAGRAMS.md 所提供的这组 UML 视图价值在于它把一行代码接入背后的复杂系统透明化参与者是谁、请求如何流转、状态如何迁移、组件如何划分、节点如何部署。而结合源码后可以看到这套架构的每一环都有精确的实现落点——从多 provider 前缀路由、认证头拆分与密钥哈希到限流、缓存与请求体映射再到云端/自托管的双形态部署。对希望深入理解 Helicone 网关实现或基于它构建自有 LLM 网关的开发者而言本文的视图映射可以作为进入源码的可靠索引。【免费下载链接】helicone Open source LLM observability platform. One line of code to monitor, evaluate, and experiment. YC W23 项目地址: https://gitcode.com/GitHub_Trending/he/helicone创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门