适用场景
LiteLLM 可以把不同模型供应商统一成 OpenAI 风格调用,也可以作为团队内部的 LLM Gateway。天池 Token 已提供 OpenAI 兼容 /v1/chat/completions,因此可以通过 LiteLLM 的 OpenAI provider 接入。
常见接入方式有两种:
| 方式 | 适合场景 |
|---|---|
| LiteLLM Python SDK | Python 项目里直接调用天池 Token |
| LiteLLM Proxy | 团队内部先接入 LiteLLM,再让其他 OpenAI 兼容客户端访问 LiteLLM |
准备环境变量
export SKYPOOL_API_KEY="stc-..."export SKYPOOL_API_BASE="https://a.skypool.xyz/v1"PowerShell:
$env:SKYPOOL_API_KEY="stc-..."$env:SKYPOOL_API_BASE="https://a.skypool.xyz/v1"方式一:Python SDK 直接调用
安装 LiteLLM:
uv add litellm或使用 pip:
pip install litellm最小调用示例:
import osfrom litellm import completion response = completion( model="openai/gemma4:26b", api_key=os.environ["SKYPOOL_API_KEY"], api_base=os.environ.get("SKYPOOL_API_BASE", "https://a.skypool.xyz/v1"), messages=[ { "role": "user", "content": "请用一句话说明 LiteLLM 已经接入天池 Token。", } ], max_tokens=128,) print(response.choices[0].message.content)流式调用:
import osfrom litellm import completion stream = completion( model="openai/gemma4:26b", api_key=os.environ["SKYPOOL_API_KEY"], api_base=os.environ.get("SKYPOOL_API_BASE", "https://a.skypool.xyz/v1"), messages=[ { "role": "user", "content": "请分三点介绍天池 Token。", } ], stream=True, max_tokens=512,) for chunk in stream: delta = chunk.choices[0].delta.content if delta: print(delta, end="")说明:LiteLLM 的 openai/<model> 前缀表示按 OpenAI 兼容方式调用;真实模型 ID 仍然是天池 Token 平台模型名。
方式二:LiteLLM Proxy
创建 litellm_config.yaml:
model_list: - model_name: "gemma4:26b" litellm_params: model: "openai/gemma4:26b" api_base: os.environ/SKYPOOL_API_BASE api_key: os.environ/SKYPOOL_API_KEY litellm_settings: drop_params: true启动 LiteLLM Proxy:
litellm --config litellm_config.yaml --port 4000然后其他 OpenAI 兼容客户端可以访问 LiteLLM:
from openai import OpenAI client = OpenAI( api_key="anything", base_url="http://127.0.0.1:4000",) completion = client.chat.completions.create( model="gemma4:26b", messages=[ { "role": "user", "content": "请返回一句 LiteLLM Proxy 接入成功提示。", } ],) print(completion.choices[0].message.content)验证上游
如果 LiteLLM 报错,先绕过 LiteLLM 直接验证天池 Token:
curl -X POST "https://a.skypool.xyz/v1/chat/completions" \ -H "Authorization: Bearer <consumer_api_key>" \ -H "Content-Type: application/json" \ --data-raw '{ "model": "gemma4:26b", "messages": [ { "role": "user", "content": "请返回一句简短的接入成功提示。" } ], "max_tokens": 64, "stream": false }'排查清单
| 现象 | 处理方式 |
|---|---|
AuthenticationError | 检查 SKYPOOL_API_KEY 是否设置,并确认不是 LiteLLM Proxy 的虚拟 Key 混用 |
NotFoundError | 检查 model 是否写成 openai/<平台模型 ID> |
| Proxy 模型不生效 | 检查 model_name 和客户端请求的 model 是否一致 |
| 参数不兼容 | 在 litellm_settings 中保留 drop_params: true,再逐步打开高级参数 |
| 流式异常 | 先跑非流式请求,再打开 stream=True |