API 与模型选型

本章目标:学会把一个 LLM 需求拆成“任务、输入、输出、质量、成本、延迟、安全”几个维度,然后选择合适的模型和 API。

先判断任务类型

任务 典型输入 典型输出 优先关注
文本生成 指令、上下文 自然语言 质量、风格、成本
结构化抽取 文档、网页、日志 JSON、表格 格式稳定、字段召回
代码生成 需求、上下文代码 patch、函数、解释 正确性、测试、上下文长度
文档问答 问题、检索片段 带引用答案 引用准确、幻觉控制
多模态理解 图片、视频、音频、文本 描述、分类、问答 输入模态、延迟、隐私
Agent 目标、工具、状态 工具调用、最终结果 可控性、权限、可观测性

不要先问“哪个模型最强”,先问“这个任务失败时会造成什么损失”。

API 形态

托管模型 API

适合:

注意:

示例:

from openai import OpenAI

client = OpenAI()

response = client.responses.create(
    model="your-model",
    input="用三句话解释什么是过拟合。"
)

print(response.output_text)

开源模型本地推理

适合:

注意:

示例:

from transformers import pipeline

generator = pipeline(
    "text-generation",
    model="Qwen/Qwen2.5-0.5B-Instruct",
    device_map="auto"
)

result = generator("解释什么是梯度下降:", max_new_tokens=120)
print(result[0]["generated_text"])

模型选择维度

维度 你要问的问题
质量 是否能通过你的真实评估集,而不是只通过 demo 问题
上下文 文档、代码、对话历史是否放得下
延迟 P50/P95 延迟是否满足交互要求
成本 单次请求成本、重试成本、评估成本、缓存收益是多少
工具能力 是否稳定支持 tool calling、结构化输出、并行工具
多模态 是否需要图片、音频、视频输入或输出
部署 托管 API、本地推理、私有云还是混合
合规 数据是否可外发,日志是否可保存

推荐选型流程

  1. 写 20-50 条真实评估样例。
  2. 先用强模型做 baseline,确认任务上限。
  3. 再用便宜或本地模型做对比。
  4. 记录质量、成本、延迟、失败类型。
  5. 只在评估集上证明“便宜模型够用”后再降级。

表格模板:

模型 通过率 平均成本 P95 延迟 主要失败
strong-model 92% 3.2s 少量引用错误
small-model 78% 1.1s 长文档漏召回
local-model 70% 固定成本 0.8s 格式不稳定

常见错误

只看排行榜

排行榜不能代表你的数据。模型选型必须基于自己的评估集。

只看输入 token 价格

真实成本还包括:

忽略失败处理

生产代码至少要处理:

把模型选择和架构选择混在一起

如果模型回答缺少私有知识,优先考虑 RAG,而不是微调。

如果输出格式不稳定,优先考虑结构化输出、校验和重试,而不是换更大模型。

如果任务需要外部动作,才考虑 Agent。

下一步

参考资料