文章详解在flat-pricing平台下如何通过"先小后大"的模型级联、请求结构化和 grounding 策略提升精度同时控制成本,提供可落地的工程思路。
提升 LLM 准确度通常会引发关于成本的假设。团队往往认为,必须为更大的模型、更长的上下文或反复的重试支付溢价,才能获得可靠的输出。这一假设在按 token 收费的平台上是成立的,因为在那种模式下,每个输入字符和每个解码步骤都会计入账单。而在 Oxlo.ai 上,情况变了。由于该平台采用按请求次数的固定费率,而非按 token 计费,你可以部署各种策略来提升准确度,而不必承担通常的成本惩罚。目标不是花更多钱,而是为每个请求做好路由、结构和 grounding,让合适的模型第一次就给出正确答案。
并非每个 prompt 都需要 671B 参数的推理模型。生产流量中有很大一部分是分类、摘要或简单的提取任务,小模型就能处理得很好。级联模式的思路是:先让一个快速、高效的模型处理请求,只有在第一次响应未通过质量门时,才升级到更大的模型。
在按 token 收费的提供商上,这种模式可能适得其反。你需要为初次尝试和备用方案都付费,而且备用步骤中长 prompt 的计费是全价 token 费率。Oxlo.ai 按请求计费而非按 token 计费,所以两步级联的费用恰好是两次请求。你可以用 DeepSeek V3.2 或 Qwen 3 32B 作为第一道worker,把 DeepSeek R1 671B MoE 或 GLM 5 留给例外情况。
import openai
client = openai.OpenAI(
base_url="https://api.oxlo.ai/v1",
api_key="YOUR_OXLO_API_KEY"
)
def classify_with_fallback(text):
# Step 1: Try the fast, efficient model
first = client.chat.completions.create(
model="deepseek-v3.2",
messages=[{"role": "user", "content": f"Classify this ticket: {text}"}],
max_tokens=50
)
content = first.choices[0].message.content
# Simple quality gate: if the model is uncertain, escalate
if "uncertain" in content.lower() or "unknown" in content.lower():
second = client.chat.completions.create(
model="deepseek-r1-671b",
messages=[{"role": "user", "content": f"Classify this ticket carefully: {text}"}],
max_tokens=200
)
return second.choices[0].message.content
return content
准确度不佳的一个常见原因并非模型的推理能力,而是解析阶段。当模型返回自由格式的文本时,你的应用必须用正则表达式或二次 prompt 来提取字段。这个提取层会引入错误,并常常迫使重试。Oxlo.ai 的 chat 模型支持 JSON 模式和函数调用,这让你能够在第一次尝试时就约束输出为有效的 schema。
在任何一个平台上,减少重试都是直接的成本收益,但在 Oxlo.ai 上这种收益是结构性的。一个返回有效 JSON 的请求与返回散文的请求费用相同。你不会通过迫使模型保持简洁来省钱——你省的钱来自消除了那些为恢复格式错误响应而发出的第二、第三个请求。
import json
from pydantic import BaseModel
class Extract