An open source, high-performance AI Gateway and LLM proxy built in Rust.
Unified OpenAI-compatible API for OpenAI, Anthropic, Gemini, DeepSeek, and any OpenAI-compatible provider.
π¦ Rust β’ π OpenAI Compatible β’ ποΈ etcd
- π¦ Rust + Tokio β Extreme performance with low resource footprint; ships as a single binary
- π OpenAI-Compatible β One API to call all LLMs; drop-in replacement with zero code changes
- β‘ Dynamic Config β Hot-reload via etcd; update models and keys without restarting
- π‘οΈ Enterprise-Grade Control β API key auth, rate limiting (RPM / TPM / concurrent), and per-model access control
- π Observability β OpenTelemetry distributed tracing and Prometheus metrics out of the box
- π¨ Admin UI β Built-in management dashboard for models, API keys, and a chat playground
| Provider | Chat Completions | Streaming | Embeddings |
|---|---|---|---|
| π’ OpenAI | β | β | β |
| π Anthropic | β | β | β |
| π΅ Gemini | β | β | β |
| π DeepSeek | β | β | β |
| π OpenAI-Compatible | β | β | β |
- Rate limiting β RPM, RPD, TPM, TPD, and concurrent request limits
- Per-model and per-key access control
- Request validation with JSON Schema
- API key authentication on all proxy requests
- Per-key model allowlist
- Admin API key protection
- OpenTelemetry distributed tracing (Jaeger / Zipkin)
- Prometheus metrics export
- Structured logging via
logforth
- RESTful Admin API with OpenAPI spec + Scalar UI
- React-based Admin Dashboard
- Model CRUD / API Key CRUD / Chat Playground
- etcd-backed dynamic configuration (no restarts needed)
curl -fsSL https://run.api7.ai/aisix/quickstart | shThis script downloads configuration files, generates a random Admin Key, and starts AISIX with etcd via Docker Compose. Once running:
- Proxy API:
http://127.0.0.1:3000 - Admin API:
http://127.0.0.1:3001/aisix/admin - Admin UI:
http://127.0.0.1:3001/ui
For the full setup guide including model configuration and making your first request, see the Quick Start documentation.
See CONTRIBUTING.md for the full contribution guide including branching, code style, and PR expectations.
- Rust (latest stable)
- Node.js LTS + pnpm (
corepack enable pnpm) - Docker & Docker Compose (for etcd and the test environment)
protobuf-compilerβsudo apt install protobuf-compiler(Debian/Ubuntu) orbrew install protobuf(macOS)
-
Build UI
cd ui pnpm install --frozen-lockfile pnpm build ## Or if you don't want to, then create a stub folder. ## Run this command in the root directory of the project. mkdir -p ui/dist
-
Build gateway
cargo run
- Guardrails: content filtering and safety checks
- Load Balancing / Fallback: across providers
- Cost tracking & usage analytics
- Semantic caching: cache responses based on query intent, not exact match
- More providers: Azure, Bedrock, Ollama...
- Kubernetes Helm chart
- New protocol support
- OpenAI Responses API
- Anthropic Messages API
- Google Gemini GenerateContent API
- Multimodal APIs: Image, audio, video
- MCP proxy
- Contribute via CONTRIBUTING.md β setup, code style, and PR guidelines
- Join our Discord server for real-time chat with the community and maintainers
- Use GitHub Discussions for questions, ideas, and architecture discussions
- Use GitHub Issues for bug reports, feature requests, and actionable tasks
- Follow repository activity for ongoing documentation and product updates
This project is licensed under the Apache License 2.0.