diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index 45e5cba121d..d2282110992 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -30,6 +30,54 @@ sequenceDiagram Handler-->>Client: ModelResponse ``` +### Proxy Server Components + +```mermaid +graph TD + subgraph "Incoming Request" + Client["Client Request"] + end + + subgraph "proxy/proxy_server.py" + Endpoint["API Endpoints
/v1/chat/completions, /v1/messages, etc."] + end + + subgraph "proxy/auth/" + Auth["user_api_key_auth.py
API Key, JWT, OAuth2"] + end + + subgraph "proxy/hooks/" + Hooks["max_budget_limiter
parallel_request_limiter
cache_control_check"] + end + + subgraph "proxy/*_endpoints/" + LLMEndpoints["anthropic_endpoints/
vertex_ai_endpoints/
google_endpoints/
pass_through_endpoints/"] + end + + subgraph "litellm/" + Router["router.py
Load Balancing"] + Main["main.py
completion()"] + end + + subgraph "proxy/management_endpoints/" + Management["key_management.py
team_management.py
model_management.py"] + end + + subgraph "proxy/db/" + DB["prisma_client.py
PostgreSQL/SQLite"] + end + + Client --> Endpoint + Endpoint --> Auth + Auth --> Hooks + Hooks --> LLMEndpoints + LLMEndpoints --> Router + Router --> Main + Endpoint --> Management + Management --> DB + Hooks --> DB +``` + **Key files:** - `proxy/proxy_server.py` - Main API endpoints - `proxy/auth/` - Authentication