fix: default remaining to high quota for unknown models on startup and update AGENTS.md
This commit is contained in:
@@ -4,11 +4,14 @@
|
||||
|
||||
## 1. 项目上下文
|
||||
此仓库包含用于 **LiteLLM** 的自定义回调脚本,核心功能是限制模型用量(特别是火山引擎/VolcEngine)。
|
||||
- **核心逻辑**:通过 `quota_interceptor` 拦截请求,并通过 `DailyLimitHandler` 记录用量到 Redis。
|
||||
- **核心逻辑**:通过 `quota_interceptor` 拦截请求,并通过 `DailyLimitHandler` 记录用量到 Redis。后台 `active_monitor_loop` 守护线程定期从火山引擎 API 同步配额到 Redis。
|
||||
- **架构**:所有逻辑统一在 `volc_limit_sync.py` 单文件中。LiteLLM 通过 `config.yaml` 中 `callbacks: ["volc_limit_sync.proxy_handler_instance"]` 加载回调,模块加载时自动启动后台同步线程。
|
||||
- **关键文件**:
|
||||
- `volc_limit_sync.py`: 主同步逻辑,从火山引擎 API 拉取配额并更新 Redis。
|
||||
- `daily_limit.py`: 轻量级回调,用于 LiteLLM 运行时检查。
|
||||
- `config.yaml`: 包含模型定义的 LiteLLM 配置文件。
|
||||
- `volc_limit_sync.py`: **唯一核心文件**,包含同步守护线程(`active_monitor_loop`)、LiteLLM 回调(`DailyLimitHandler` + `quota_interceptor`)、限额计算、模型屏蔽/恢复等全部逻辑。
|
||||
- `config.yaml`: LiteLLM 配置文件,包含模型定义和回调配置。
|
||||
- `docker-compose.yml`: 容器编排,仅挂载 `config.yaml` 和 `volc_limit_sync.py`。
|
||||
- `debug_volc_sync.py` / `debug_volc_sync_manual.py`: 调试脚本,用于手动验证 API 和 Redis 状态。
|
||||
- `daily_limit.py.deprecated`: 已废弃,功能已全部合并到 `volc_limit_sync.py`,仅保留作历史参考。
|
||||
|
||||
## 2. 环境与运行 (Build & Run)
|
||||
|
||||
@@ -40,7 +43,7 @@ pip install litellm redis requests
|
||||
### 3.1 基础规范
|
||||
- **Python 版本**:兼容 Python 3.8+。
|
||||
- **命名规范**:
|
||||
- 变量/函数:`snake_case` (e.g., `clean_model_name`, `get_daily_limit`)
|
||||
- 变量/函数:`snake_case` (e.g., `clean_model_name`, `get_effective_limit`)
|
||||
- 常量:`UPPER_CASE` (e.g., `LOG_LEVEL`, `REDIS_HOST`)
|
||||
- 类名:`PascalCase` (e.g., `DailyLimitHandler`)
|
||||
- **类型提示 (Typing)**:
|
||||
|
||||
Reference in New Issue
Block a user