llm-d-router

Go 언어로 만든 AI 챗봇·언어모델, 인공지능 관련 프로젝트예요. 전 세계 개발자 460 명이 스타(좋아요)를 눌렀어요. 깃허브에 올라온 설치파일이 없는 개발자용 프로젝트예요. 마지막 수정은 1일 전이에요.

👩‍💻 개발자용⭐ 460 AI 챗봇·언어모델인공지능서비스 연결(API)

원문 소개: llm-d Router: The intelligent entry point for inference requests

바로 쓰기

내 상황에 맞는 방법을 하나 고르세요.

깃허브에는 설치파일이 없어요. 앱으로 배포하는 프로젝트라면 공식 사이트에서 받을 수 있는지 확인해 보세요.

브라우저에서 바로 열기 · 설치 없음

내 것으로 가져오기

git clone https://github.com/llm-d/llm-d-router.git

git clone: 개발자가 코드를 받는 명령어예요. 수정 내역까지 함께 받아져요.

한눈에 보기

인기⭐ 460 스타 · 🍴 517 포크
무료 여부Apache-2.0
무료이고 회사·상업용으로 써도 돼요. 출처(저작권 표시)만 남기면 돼요.
만든 언어Go
최신 버전v1.0.0 · 2026년 10월 17일
활동만든 날 2025.5.5 · 최근 수정 1일 전 · 열린 이슈(질문) 420개
공식 사이트llm-d.ai/docs/architecture/core/router

설명서 (README)

만든 사람이 쓴 원문 설명서예요. 영어가 어렵다면 한국어로 번역해서 보기 →

Go Report Card Go Reference License Join Slack FOSSA Status

llm-d Router

Important

Terminology Change: The Inference Scheduler has been renamed to llm-d Router; see Terminology.

Important

API & Code Consolidation: Core Endpoint Picker (EPP) code and the InferenceObjective and InferenceModelRewrite APIs have been merged into this repository from Gateway API Inference Extension (GIE). The GIE repository now exclusively hosts the InferencePool API—an extension of the Kubernetes Gateway API—and defines the Endpoint Picker Protocol.

The llm-d Router is the intelligent entry point for inference traffic, delivering LLM load and prefix-cache aware routing, request prioritization, and advanced flow control across diverse request formats to fulfill complex serving objectives. It supports a flexible deployment model: it can run in Standalone Mode, where a self-managed Envoy proxy runs either alongside the EPP or as a separate service, or integrate with L7 load balancers—including self-managed instances (e.g., Istio, AgentGateway) and cloud-managed services (e.g., Google Cloud's Application Load Balancer)—via the Kubernetes Gateway API.

The router achieves its intelligence through an Endpoint Picker (EPP) that integrates with production-grade proxies (such as Envoy) via the ext-proc protocol, injecting real-time signals into the data plane to optimize request placement.

llm-d Router Architecture

Core Components and APIs

This repository hosts the following core components:

  • Endpoint Picker (EPP): The intelligent routing engine that serves as the "brain" of the router. It evaluates incoming requests against the current state of the InferencePool, considering factors like KV-cache locality, current load, and priority to make optimal placement decisions. It integrates with L7 proxies via the ext-proc protocol.
  • Request Management APIs: These resources directly influence the EPP's request handling behavior:
    • InferenceObjective: Configures the EPP's scheduling goals for specific requests, including priority levels and performance targets.
    • InferenceModelRewrite: Directs the EPP to perform model name rewriting, enabling flexible traffic management for A/B testing and canary rollouts.
  • Disaggregation Sidecar: A coordination component deployed alongside model servers (typically as a sidecar to the decode worker). It orchestrates complex multi-stage inference lifecycles, such as P/D (Prefill/Decode) and E/P/D (Encode/Prefill/Decode), by communicating with specialized encode and prefill workers to manage KV-cache and embedding transfers. For more details, see the Disaggregation Documentation.

Modes of Operation

The llm-d Router supports two primary deployment modes as specified in the Kubernetes Gateway API Inference Extensions:

1. Standalone Mode

A deployment with a self-managed Envoy proxy that does not require Gateway API infrastructure. The standalone Helm chart supports two Envoy proxy topologies:

  • Sidecar mode (default): The proxy runs in the EPP pod. This topology is suited to basic testing and local evaluations.
  • Service mode: The proxy runs as a separate, horizontally scalable Deployment and Service and reaches EPP through the EPP Service. Set router.proxy.mode=service to scale the proxy independently from EPP.

See the Helm chart documentation for configuration examples.

2. Gateway Mode (Inference Gateway)

The recommended mode for production environments, leveraging the official Gateway API. In this mode, the EPP acts as a backend for an InferencePool, which is referenced by an HTTPRoute on a shared Gateway. This enables advanced traffic management, multi-cluster load balancing, and shared infrastructure for both inference and traditional workloads.

For more details on the router architecture, routing logic, and different plugins (filters and scorers), see the Architecture Documentation. For resource provisioning and container sizing recommendations under heavy or long-context workloads, see the EPP Container Sizing Guide. The OpenTelemetry JSON stdout logs document describes the log record format used by the EPP and routing sidecar. The Router trace catalog lists custom trace attributes and EPP scheduling spans. The TLS Documentation covers the serving and metrics TLS flags of the EPP, the routing sidecar and the coordinator.


Note

The project provides tools for automatic Envoy installation. However, if you install or configure it yourself, please note that the only supported request_body_mode and response_body_mode is FULL_DUPLEX_STREAMED

Terminology

To ensure clarity across the project, we use the following standard terminology:

  • llm-d Router: The complete intelligent entry point, comprising both the Proxy (e.g., Envoy) and the Endpoint Picker (EPP). This term replaces "Inference Scheduler" in all contexts.
  • llm-d Endpoint Picker (EPP): The specific component that implements the routing intelligence and scoring logic. Use this term when referring to capabilities or configurations specific to the EPP itself, rather than the request routing system as a whole.
  • Inference Gateway: A synonym for the llm-d Router when operating in Gateway Mode.
  • Request Scheduler: A sub-component within the EPP responsible for the queuing and dispatching of requests.

Contributing

Start with the llm-d organization contributing guide for project-wide guidelines, code of conduct, and community resources, then see CONTRIBUTING.md for what is specific to this repository, including how to claim an issue.

Our community meeting is bi-weekly at Wednesday 10AM PDT (Google Meet, Meeting Notes).

We currently utilize the #sig-router channel in llm-d Slack workspace for communications.

For large changes please create an issue first describing the change so the maintainers can do an assessment, and work on the details with you. See DEVELOPMENT.md for details on how to work with the codebase.

Contributions are welcome!

Security

See SECURITY.md for vulnerability reporting. Published container images carry a signed provenance attestation and an SBOM (software bill of materials). See Verifying Published Artifacts for how to check them.

License

FOSSA Status

자주 묻는 질문

llm-d-router 무료로 쓸 수 있나요?

네, Apache-2.0 라이선스로 공개된 오픈소스예요. 무료이고 회사·상업용으로 써도 돼요. 출처(저작권 표시)만 남기면 돼요. 깃허브 저장소에서 누구나 내려받을 수 있어요.

llm-d-router 설치는 어떻게 하나요?

따로 설치파일이 없어서 README 설명서의 안내를 따라 설치해야 해요. ZIP 다운로드로 전체 코드를 받거나, 브라우저에서 바로 열어 코드를 둘러볼 수 있어요.

코딩을 몰라도 llm-d-router 쓸 수 있나요?

조금 어려울 수 있어요. 완성된 설치파일이 없는 개발자용 프로젝트라서 터미널 명령어나 개발 환경이 필요해요. 처음이라면 Codespaces로 브라우저에서 먼저 실행해 보세요.

llm-d-router 인기는 어느 정도인가요?

깃허브 스타 460개, 포크 517개를 받은 프로젝트예요. 2025년에 만들어졌고 마지막 수정은 1일 전이에요. 스타가 1만 개를 넘으면 전 세계적으로 검증된 인기 프로젝트로 봐요.

복사했어요