Repolode
llm-d

llm-d/llm-d-router

面向 LLM 推理流量的智能入口,在 Kubernetes 上依据负载、前缀缓存和优先级进行请求路由。

Star
458
Fork
516
未关闭 Issue
374
最近提交
18小时前

这是什么?

llm-d Router 是面向 LLM 推理的请求路由层。其中的 Endpoint Picker(EPP)会根据 KV 缓存局部性、当前负载和优先级,为每个进入的请求选择最合适的模型服务实例。它通过 ext-proc 协议接入基于 Envoy 的代理,使调度决策在数据面完成。

路由器支持两种部署方式:独立模式下可由 Helm Chart 部署自管的 Envoy 代理,既可作为 sidecar 运行,也可作为可独立水平扩展的服务运行;网关模式下则通过 Gateway API 的 HTTPRoute 引用共享 Gateway 上的 InferencePool,并可与 Istio、AgentGateway 以及 Google Cloud 的应用负载均衡器集成。

项目还提供 InferenceObjective 和 InferenceModelRewrite 两类 API,分别用于配置调度目标和改写模型名称,便于 A/B 测试与灰度发布。另有一个解耦辅助组件(disaggregation sidecar),负责协调 P/D(Prefill/Decode)和 E/P/D(Encode/Prefill/Decode)等多阶段推理流程。

核心功能

  • 01基于 KV 缓存局部性、当前负载和优先级信号进行请求路由。
  • 02通过 ext-proc 协议与 Envoy 集成。
  • 03支持通过 Helm 独立部署,可选 sidecar 或独立服务形式的代理。
  • 04兼容 Kubernetes Gateway API,可与 Istio 及云负载均衡器配合使用。
  • 05提供模型名称改写功能,便于 A/B 测试和灰度发布。
  • 06协调 P/D 与 E/P/D 等解耦式推理流程。

适用场景

  • 在 Kubernetes 上将 LLM 推理流量分发到多个模型服务副本。
  • 将相关请求导向同一后端,以提高前缀缓存命中率。
  • 在网关层改写模型名称,进行灰度发布或 A/B 测试。
  • 部署 Prefill/Decode 分离的推理流水线。

快速上手

  1. 1

    阅读 Helm chart 文档,了解在 Kubernetes 上独立部署的方法

使用前须知

  • 需要 Kubernetes 集群,它是为在 Kubernetes 上路由推理流量而设计的。
  • 如果你自行安装和配置 Envoy,唯一受支持的 request_body_mode 和 response_body_mode 是 FULL_DUPLEX_STREAMED。

收录于专题

标签

常见问题

llm-d-router 是什么?
面向 LLM 推理流量的智能入口,在 Kubernetes 上依据负载、前缀缓存和优先级进行请求路由。 llm-d Router 是面向 LLM 推理的请求路由层。其中的 Endpoint Picker(EPP)会根据 KV 缓存局部性、当前负载和优先级,为每个进入的请求选择最合适的模型服务实例。它通过 ext-proc 协议接入基于 Envoy 的代理,使调度决策在数据面完成。
llm-d-router 可以免费使用吗?用的什么许可证?
llm-d-router 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
llm-d-router 还在维护吗?
活跃维护中。llm-d-router 最近一次提交是在 2026年11月6日。
llm-d-router 适合用来做什么?
在 Kubernetes 上将 LLM 推理流量分发到多个模型服务副本。 将相关请求导向同一后端,以提高前缀缓存命中率。 在网关层改写模型名称,进行灰度发布或 A/B 测试。 部署 Prefill/Decode 分离的推理流水线。
llm-d-router 怎么安装和运行?
阅读 Helm chart 文档,了解在 Kubernetes 上独立部署的方法
在哪里获取 llm-d-router?
源代码和安装说明在 GitHub 上:https://github.com/llm-d/llm-d-router

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目