Guide · 使用教程
DeepInfra 开放权重 LLM API 教程:接入、成本核算、并发与 429 处理
用 DeepInfra 的 OpenAI 兼容接口调用模型,记录 token 与费用,设置并发、有限重试和预算上限,并核对模型数据政策。
DeepInfra 可以用 OpenAI 兼容接口调用托管 LLM。本教程从最小请求开始,建立一个可复查的质量、成本、并发验收流程。示例模型 ID 来自官方快速开始文档;上线前应在实时模型页确认它仍可用。
准备账号与测试集
在 DeepInfra 创建 API key,并确认账号付款或充值设置。密钥只存放在服务器环境变量或密钥管理器,不要放浏览器代码或 Git 仓库。打开模型目录,选一款开放权重文本模型,记录完整 ID、上下文长度、价格、接口能力和许可。准备至少 100 条脱敏的真实任务输入,包含短问答、长上下文、JSON、工具调用和失败边界。
平台也提供图像、Embedding 以及部分合作方模型。它们的调用方式、计价和数据政策可能不同,本文只用文本聊天请求讲解预算。
第一步:发送最小 Chat Completions 请求
把 DEEPINFRA_API_KEY 设置为当前进程的环境变量。以下是官方 OpenAI 兼容端点,示例模型若下线,请从最新目录替换 ID。
curl --fail-with-body --silent --show-error \
https://api.deepinfra.com/v1/openai/chat/completions \
-H "Authorization: Bearer $DEEPINFRA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-ai/DeepSeek-V4-Flash-0731",
"messages": [
{"role": "system", "content": "请简洁回答,不要编造来源。"},
{"role": "user", "content": "用两句话解释什么是 RAG。"}
]
}'
检查回答与 usage.prompt_tokens、usage.completion_tokens。官方示例还返回 estimated_cost,适合记入请求日志,但最终费用仍与账单核对。401 先检查当前进程密钥是否存在,不要把密钥打印进日志。400 先检查 model ID,再检查请求参数。
第二步:复用 OpenAI Python SDK
已有 OpenAI SDK 的服务可切换 base URL。只设置模型已确认支持的参数;官方文档明确提醒兼容接口不是百分之百参数兼容。
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["DEEPINFRA_API_KEY"],
base_url="https://api.deepinfra.com/v1/openai",
timeout=30.0,
)
response = client.chat.completions.create(
model="deepseek-ai/DeepSeek-V4-Flash-0731",
messages=[
{"role": "system", "content": "请简洁回答。"},
{"role": "user", "content": "解释 RAG 的检索和生成步骤。"},
],
max_tokens=180,
)
print(response.choices[0].message.content)
print(response.usage)
如果应用需要工具调用或结构化输出,为每个候选模型单独跑用例:工具 schema 是否被接受、JSON 是否符合约束、长输入能否处理、流式结束事件是否完整。不要仅凭接口返回 200 就认定业务迁移完成。
第三步:核算每条达标回答的成本
对每次请求记录时间、模型 ID、提示词版本、输入 token、输出 token、缓存 token(如有)、响应质量、错误码、重试次数、首 token 与完整耗时、estimated_cost。避免保存原始敏感输入。按官方当前模型价格计算:
理论费用 = 输入 token / 1,000,000 × 输入单价
+ 输出 token / 1,000,000 × 输出单价
+ 适用的缓存或服务层级费用
2026 年 10 月 7 日官网价格页上,DeepSeek-V4-Flash-0731 标准层每百万输入 token 0.06 美元、输出 token 0.18 美元,缓存输入另列 0.015 美元。这只是该模型该层级的时间点示例,不是 DeepInfra 的统一价格。算预算时把失败重试计入成本,以“成功且质量达标的回答”为分母,并用账单校准估算。
第四步:处理 429 与峰值并发
官方限流文档写的是默认每模型 200 个并发请求,不是 200 RPM。超过限额或模型资源繁忙都可能返回 429。不要把应用队列直接放到 200;先在账号实际配额内用 5、10、20 等较低并发逐档测试,记录成功率、P95、首 token 延迟和费用,再设生产阈值。
对 429、临时 5xx 或连接问题可做有限次数的指数退避与抖动。设置总超时和最大重试数,超过阈值时降级或排队;下游非幂等操作不可因为模型重试而执行两次。另设月度预算告警与应用端硬上限,不能把上游并发限制当作成本控制。
第五步:核对隐私与备用模型
DeepInfra 隐私说明称普通文本推理的输入输出通常仅在内存处理,但图像、批量任务和合作方模型有例外。客户资料与内部代码应先脱敏,再逐模型核对保留、共享与删除政策。不要把“平台支持隐私”当作所有模型的统一承诺。
备用模型要验证上下文、JSON 与工具调用行为、token 价格、质量和错误率,不能只改一个 model 字符串。完成固定测试集与目标峰值测试后,保存模型 ID、日期、价格快照和账单结果,才可判断是否采购更高容量或切到别的平台。
常见错误
- 401:密钥未设置到运行进程或已失效;只记录状态码,不输出密钥。
- 400:模型 ID 或参数无效;回退到最小请求,逐项恢复参数。
- 429:先限流,再有限退避;无限重试可能扩大费用和排队。
- 费用高于预算:检查输出长度、重复请求、缓存命中、服务层级和账单。
- 质量下降:固定模型版本与提示词,重新验收结构化输出和工具调用。
常见问题
- DeepInfra 兼容接口地址是什么?
- OpenAI SDK 的 base URL 设为 https://api.deepinfra.com/v1/openai;聊天请求使用当前可用模型 ID。
- 默认 200 是每分钟请求数吗?
- 不是,是官方默认每模型 200 个并发请求;资源繁忙也可能返回 429。
- estimated_cost 是最终账单吗?
- 将其作为请求级估算,并与账号账单核对。
- API key 可以放前端吗?
- 不可以,放服务器环境变量或密钥管理器。
- 429 要无限重试吗?
- 不应无限重试。应用端限流,设置有限重试、指数退避和总超时。
- 所有 DeepInfra 模型都不留存数据吗?
- 不能这样概括;图像、批量任务和合作方模型的规则可能不同。