1. LiteLLM 装完模型后为什么第一件事是 curl 查询LiteLLM 是一个把多家模型统一成 OpenAI 兼容接口的本地网关默认监听http://localhost:4000。你在config.yaml里写好模型后它到底有没有加载成功、后端通不通、Key 认不认光看启动日志不够直观。这时候最省事的办法就是直接用 curl 打几个查询接口几秒钟就能确认状态。我平时排查的顺序是先查模型列表确认注册成功再查模型详情看参数有没有被正确解析最后发一条真实对话请求验证链路。这三步走完基本能定位 90% 的「模型装了但调不动」问题。这篇聚焦 LiteLLM 本地部署后的 curl 查询命令同时把 TaoToken 统一 Key 接进来让你不用在多个后端之间来回换 Key。适合已经在跑 LiteLLM、想快速验证模型安装结果的人也适合刚接触网关、想搞明白每个接口返回什么的新手。需要提前说明LiteLLM 的查询接口分两类一类是标准 OpenAI 兼容接口/v1/models等一类是 LiteLLM 专属管理接口/model/info、/health等。两类都要会用排查才完整。2. TaoToken 统一 Key 与 LiteLLM 的接入前置TaoToken 在这里的角色是「统一 Key API 通道」。你不需要为每个模型后端单独维护一套鉴权而是拿一个 TaoToken 的 Key通过它的 API 地址接入再让 LiteLLM 把请求转发出去。这样 LiteLLM 的config.yaml里所有模型可以共用同一套凭证管理成本低很多。接入前你需要准备三样东西第一一个可用的 TaoToken API Key。到控制台的 API Keys 页面创建地址是https://taotoken.net/console/api-keys创建后复制保存后面填进配置。第二确认 LiteLLM 已经装好并能启动。用litellm --version能看到版本号即可。第三确认jq已安装因为查询返回的 JSON 不格式化很难读。没装的话执行sudo apt update sudo apt install -y jqmacOS 用户用brew install jq。装完jq --version验证一下。TaoToken 的 API 基地址是https://taotoken.net/api这个地址在 LiteLLM 配置里会作为api_base使用。注意它和官网首页不是一回事配置时别填错。提示Key 只创建一次就够多个模型共用。如果团队协作建议在控制台按人分配不同 Key方便后面用/key/info查用量。3. 可复制的 LiteLLM 配置骨架LiteLLM 的配置核心是config.yaml但很多同学还会用到settings.json和config.toml来管理客户端侧或工具侧参数。这里把三个骨架都给出来你按需取用。先看 LiteLLM 服务端的config.yaml这是模型注册的主文件model_list: - model_name: tao-gpt-4o litellm_params: model: openai/gpt-4o api_base: https://taotoken.net/api api_key: os.environ/TAOTOKEN_API_KEY - model_name: tao-claude litellm_params: model: anthropic/claude-3-5-sonnet-20241022 api_base: https://taotoken.net/api api_key: os.environ/TAOTOKEN_API_KEY general_settings: master_key: sk-litellm-master-key database_url: 这里model_name是你对外暴露的名字curl 查询和调用都用它litellm_params.model是实际后端模型标识api_base统一指向 TaoToken 的 API 地址api_key用环境变量注入避免明文写进文件。启动前设置环境变量export TAOTOKEN_API_KEY你的TaoToken Key litellm --config config.yaml --port 4000再看客户端侧的settings.json如果你用某些支持 OpenAI 协议的编辑器或工具可以这样填{ openai_api_base: http://localhost:4000, openai_api_key: sk-litellm-master-key, model: tao-gpt-4o }最后是config.toml骨架适合用 TOML 管理配置的工具[llm] base_url http://localhost:4000 api_key sk-litellm-master-key model tao-gpt-4o timeout 60三个文件的共同点是客户端只认 LiteLLM 的本地地址和 master key真正的 TaoToken Key 藏在服务端环境变量里。这样分层之后换后端模型不用动客户端配置。4. curl 查询命令与响应验证配置跑起来后用下面这组命令逐条验证。假设 LiteLLM 在http://localhost:4000master key 是sk-litellm-master-key。查询模型列表确认模型注册成功curl -s http://localhost:4000/v1/models \ -H Authorization: Bearer sk-litellm-master-key | jq返回里data数组会列出所有model_name。如果你看到tao-gpt-4o和tao-claude说明注册成功。看不到就是config.yaml没被正确加载检查启动命令有没有带--config。查询模型详情看参数解析对不对curl -s http://localhost:4000/model/info \ -H Authorization: Bearer sk-litellm-master-key | jq这个接口返回每个模型的完整配置包括api_base、model等。重点看api_base是不是https://taotoken.net/api如果显示为空或错误地址说明litellm_params写错了。查询健康状态确认后端连通curl -s http://localhost:4000/health \ -H Authorization: Bearer sk-litellm-master-key | jq .data[] | {model_name, status}status为healthy表示 LiteLLM 能连上后端。如果某个模型是unhealthy多半是 Key 无效或网络不通。最后发一条真实对话请求验证完整链路curl -s http://localhost:4000/v1/chat/completions \ -H Content-Type: application/json \ -H Authorization: Bearer sk-litellm-master-key \ -d { model: tao-gpt-4o, messages: [{role: user, content: 用一句话说明你是什么模型}] } | jq .choices[0].message.content能打印出模型回复说明从客户端到 LiteLLM 再到 TaoToken 通道整条链路通了。这一步成功模型安装就算彻底验证完毕。把上面几条命令存成一个脚本会更省事#!/bin/bash BASEhttp://localhost:4000 KEYsk-litellm-master-key echo 模型列表 curl -s $BASE/v1/models -H Authorization: Bearer $KEY | jq -r .data[].id echo 健康状态 curl -s $BASE/health -H Authorization: Bearer $KEY | jq .data[] | {model_name, status} echo 对话测试 curl -s $BASE/v1/chat/completions \ -H Content-Type: application/json \ -H Authorization: Bearer $KEY \ -d {model:tao-gpt-4o,messages:[{role:user,content:ping}]} \ | jq -r .choices[0].message.content给脚本加执行权限chmod x check.sh之后每次改完配置跑一遍就行。5. 本篇常见报错排查401 Unauthorized鉴权失败。先确认 curl 里的Authorization是不是Bearer sk-litellm-master-key注意Bearer后面有空格。如果 master key 改过用改后的值。还有一种情况是config.yaml里master_key没配LiteLLM 会用默认值容易和你想的不一致。404 model not found模型名对不上。curl 请求里的model字段必须和config.yaml里的model_name完全一致大小写、连字符都不能差。用/v1/models查出来的名字才是准的别凭记忆写。500 / 502 后端异常LiteLLM 连不上 TaoToken 通道。先看/health返回什么再检查api_base是不是https://taotoken.net/api以及环境变量TAOTOKEN_API_KEY有没有在当前 shell 生效。用echo $TAOTOKEN_API_KEY确认一下空的话重新export。jq 报 command not foundjq没装。回到第 2 节的安装命令装完再跑。如果不想装jq把管道后面的| jq去掉也能看原始 JSON只是不格式化。返回空 data 数组config.yaml加载了但模型没解析出来。检查 YAML 缩进model_list下面每一项的- model_name前面是两个空格litellm_params缩进要对齐。YAML 对缩进敏感多一个少一个空格都会导致解析失败。连接被拒绝 Connection refusedLiteLLM 没启动或端口不对。确认litellm --config config.yaml --port 4000还在前台跑着或者用ps aux | grep litellm看进程在不在。端口被占用的话换一个比如--port 4001curl 地址同步改。排查时有个小技巧先只跑/v1/models这个接口不依赖后端连通性能返回就说明 LiteLLM 本身没问题问题在后面的模型配置或网络。逐层缩小范围比一上来就发对话请求高效得多。6. 稳定调用后的下一步模型验证通过、curl 能稳定拿到回复之后日常使用就不必每次都手敲命令了。如果你主要在编辑器或终端里做长期编码、跑 Agent 任务可以把 LiteLLM 的本地地址接到 Coding Plan 里让工具链统一走这个网关地址是https://taotoken.net/coding-plan。这样模型切换、Key 管理都在 LiteLLM 层完成客户端不用反复改配置。想直接在网页里对比不同模型的回复效果用模型对话页面更直观地址https://taotoken.net/models。把 LiteLLM 里注册的模型名填进去就能快速验证同一个问题在不同模型下的表现差异。接入文档在https://taotoken.net/doc里面有完整的参数说明和示例遇到配置细节拿不准时翻一下比猜快。Key 管理和用量查询还是回到控制台https://taotoken.net/console/api-keys配合 LiteLLM 的/key/info和/global/spend接口能清楚看到每个 Key 的消耗情况。整套流程跑顺之后你会发现 LiteLLM 加统一 Key 的组合最大的价值是把「模型接入」这件事从每个客户端各配一遍收敛成服务端配一次、处处可用。curl 查询命令就是这套体系的听诊器哪里不对打一针就知道。