如何用官方健康检查脚本批量验证 LiteLLM Proxy 上所有配置模型的可用性 📅 发布时间:2026/9/10 3:29:52 👁 浏览次数: 如何用官方健康检查脚本批量验证 LiteLLM Proxy 上所有配置模型的可用性【免费下载链接】litellmThe fastest, litest AI Gateway. Rust core with Python SDK. Call 100 LLM APIs in OpenAI (or native) format with cost tracking, guardrails, load balancing, and logging [Bedrock, Azure, OpenAI, Anthropic, OpenAI, VertexAI, vLLM, Nvidia NIM]项目地址: https://gitcode.com/GitHub_Trending/li/litellm在一个配置了大量模型的 LiteLLM Proxy 上上线前后经常需要一次性确认每个模型是否真的可用。LiteLLM 仓库自带的官方健康检查客户端 health_check_client.py 就是干这件事的它先从 Proxy或本地 YAML 配置拿到全部已配置模型然后并发地向每个模型发出真实测试请求最后输出每个模型的健康状态、错误信息和响应时间。完成这件事的前提是Python 3.11 环境、已安装httpx与pyyaml依赖以及一个正在运行、可从当前机器访问的 LiteLLM Proxy 和一把可用的 API Key。待验证模型清单从哪里来脚本有两种模型发现方式来自 README 与脚本源码设置了LITELLM_MODELS_YAML时从 YAML 配置文件的model_list读取模型以每项的model_name作为请求用的模型 ID并从litellm_params.model_info.mode读取mode未设置时先查询 Proxy 的/v1/modelsOpenAI 兼容端点失败后回退到/model/info端点。脚本会根据mode字段判断一个模型是 embedding 还是 chat 模型拿不到mode时按模型名特征包含embedding、embed、text-embedding回退判断。准备环境与依赖按 README 的 Dependencies 一节需要Python 3.11httpx异步 HTTP 请求、pyyamlYAML 配置支持仓库中 health_check_requirements.txt 锁定的版本为httpx0.28.1、pyyaml6.0.2可参考该文件安装。另外确认两点前置条件Proxy 正在运行且网络可达如果你要直接从 Proxy API 拉取模型列表API Key 需要有列出模型的权限。执行健康检查最短主路径README Quick Start 原样给出LITELLM_BASE_URL与LITELLM_API_KEY请替换为你的 Proxy 实际地址和密钥在仓库根目录下执行export LITELLM_BASE_URLhttps://litellm.example.com export LITELLM_API_KEYyour-api-key python scripts/health_check/health_check_client.py以下是 README 给出的可选分支按需追加1. 用 YAML 配置文件代替 Proxy API 获取模型列表——当模型清单以本地配置文件为准时使用/path/to/config.yaml替换为你的 LiteLLM 配置文件实际路径export LITELLM_MODELS_YAML/path/to/config.yaml python scripts/health_check/health_check_client.py2. 自定义认证头——当 Proxy 使用自定义认证头而非标准Authorization头时把LITELLM_CUSTOM_AUTH_HEADER设为该头的名称脚本会把 API Key 以Bearer api_key形式放进这个头里export LITELLM_CUSTOM_AUTH_HEADERx-custom-auth-header3. 只验证部分模型——脚本源码支持LITELLM_MODELS_ONLY逗号分隔的模型 ID 列表只对这些模型发测试请求例如LITELLM_MODELS_ONLYclaude-3.7-sonnet,claude-3.5-sonnet。该变量目前只出现在脚本源码注释中README 未列出。4. JSON 输出——设置LITELLM_JSON_OUTPUTtrue后结果以 JSON 打印便于程序消费。单个模型如何被验证chat 模型向POST /v1/chat/completions发送测试 promptmax_tokens固定为 10embedding 模型向POST /v1/embeddings发送测试文本并记录返回向量维度所有模型通过 asyncio 并发测试单个请求默认超时 120 秒可用LITELLM_TIMEOUT调整默认测试 prompt 与 embedding 文本各约 10 万字符README 与脚本源码一致如不想发这么长的请求可用LITELLM_COMPLETION_PROMPT/LITELLM_EMBEDDING_TEXT替换为短文本。结果验证与判断默认的人类可读输出中每个模型一段末尾是汇总下面是 README 给出的文档示例数值不代表固定预期 Starting health check queries ---- gpt-4o ---- ✅ Success. Response: This is a test ---- text-embedding-3-small ---- ✅ Success. Generated embedding vector with 1536 dimensions. ---- gpt-5-codex ---- ❌ ERROR: HTTP 503: Service unavailable Health Check Summary Total models: 47 Healthy: 45 Unhealthy: 2 判断方式测试请求返回成功即显示✅ Successchat 模型附响应文本、embedding 模型附向量维度失败显示❌ ERROR并带 HTTP 状态码与响应片段或超时信息汇总区给出Total models/Healthy/Unhealthy三个计数退出码全部模型健康时为0存在任何不健康模型时为1。这是脚本设计给自动化场景用的明确判定信号可直接在脚本或流水线里用退出码决定通过与否。启用LITELLM_JSON_OUTPUTtrue时每个模型输出model、healthy、error、response_time_ms、mode字段embedding 模型另有dimensionschat 模型另有response_textREADME 中有示例。排查文档已列出的三类问题README Troubleshooting 一节列了与当前任务直接相关的三类现象未找到模型No Models Found确认LITELLM_BASE_URL正确、Proxy 正在运行且可访问确认 API Key 有列出模型的权限使用 YAML 方式时确认LITELLM_MODELS_YAML路径正确。超时Timeout Errors对响应较慢的模型调大LITELLM_TIMEOUT默认 120s检查到 Proxy 的网络连通性确认 Proxy 没有过载。认证错误Authentication Errors确认LITELLM_API_KEY正确且未过期确认该 Key 具备所需的权限。参考资料完整说明与更多使用场景如 cron 周期检查、CI/CD 集成health_check_client_README.md脚本源码health_check_client.py依赖锁定文件health_check_requirements.txt【免费下载链接】litellmThe fastest, litest AI Gateway. Rust core with Python SDK. Call 100 LLM APIs in OpenAI (or native) format with cost tracking, guardrails, load balancing, and logging [Bedrock, Azure, OpenAI, Anthropic, OpenAI, VertexAI, vLLM, Nvidia NIM]项目地址: https://gitcode.com/GitHub_Trending/li/litellm创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考