Files
MoFin/venv/lib/python3.12/site-packages/litellm/proxy/policy_engine/architecture.md
T
知微 fa45d8aa5f fix: 小果地址统一node122(兼容LAN+EasyTier)
- health_checklist.json: 192.168.1.122→node122
- ocr_client.py: docstring IP→node122
- docs/market-data-requirements.md: IP→node122
- 所有API调用通过ProxyHandler({})绕过系统代理
  Privoxy对node122:18003返回500,直连正常
2026-06-30 02:56:35 +08:00

1.7 KiB

Policy Engine Architecture

Overview

The Policy Engine allows administrators to define policies that combine guardrails with scoping rules. Policies can target specific teams, API keys, and models using wildcard patterns, and support inheritance from base policies.

Architecture Diagram

flowchart TD
    subgraph Config["config.yaml"]
        PC[policies config]
    end

    subgraph PolicyEngine["Policy Engine"]
        PR[PolicyRegistry]
        PV[PolicyValidator]
        PM[PolicyMatcher]
        PRe[PolicyResolver]
    end

    subgraph Request["Incoming Request"]
        CTX[Context: team_alias, key_alias, model]
    end

    subgraph Output["Output"]
        GR[Guardrails to Apply]
    end

    PC -->|load| PR
    PC -->|validate| PV
    PV -->|errors/warnings| PR
    
    CTX -->|match| PM
    PM -->|matching policies| PRe
    PR -->|policies| PM
    PR -->|policies| PRe
    PRe -->|resolve inheritance + add/remove| GR

Components

Component File Description
PolicyRegistry policy_registry.py In-memory singleton store for parsed policies
PolicyValidator policy_validator.py Validates configs (guardrails, inheritance, teams/keys/models)
PolicyMatcher policy_matcher.py Matches request context against policy scopes
PolicyResolver policy_resolver.py Resolves final guardrails via inheritance chain

Flow

  1. Startup: init_policies() loads policies from config, validates, and populates PolicyRegistry
  2. Request: PolicyMatcher finds policies matching the request's team/key/model
  3. Resolution: PolicyResolver traverses inheritance and applies add/remove to get final guardrails