跳转至

模型使用总览

本页用于对比各类 client 的支持差异,并说明何时使用不同模式。

Client 对比

Client 构造方式 适用场景
OpenAI from_openai(client, model_name=...) 托管 OpenAI 兼容 API
vLLM(服务端) from_vllm(client, model_name=...) OpenAI 兼容的 vLLM HTTP 服务
vLLM(离线) from_vllm_offline(llm) 基于 vllm.LLM 的本地离线推理

支持度矩阵

能力项 OpenAI vLLM(服务端) vLLM(离线)
use_gim_prompt=True 推荐开启 仅非 GIM 训练模型开启 仅非 GIM 训练模型开启
output_type=None OpenAI 服务商不支持 JSON 时兜底 可用但不推荐 可用但不推荐
output_type="cfg" 不支持 推荐 推荐
output_type="json" 支持 支持 支持

初始化差异

  • OpenAI 和 vLLM 服务端都接收 OpenAI 兼容 client 对象。
  • vLLM 离线模式接收 vllm.LLM 实例,而不是 OpenAI client。
  • 使用 vLLM 服务端时,需通过 base_url 指向你的服务地址。

提示词使用建议

  • 本地主流场景是 GIM 训练模型:优先 use_gim_prompt=False
  • 非 GIM 训练模型建议开启 use_gim_prompt=True
  • OpenAI 路径建议优先开启 use_gim_prompt=True

output_type 选择

OpenAI

  • 推荐 output_type="json"
  • 若 OpenAI 服务商不支持 JSON 约束,则使用 output_type=None

vLLM(服务端 / 离线)

  • 无论 GIM 训练模型还是非训练模型,都推荐 output_type="cfg"
  • 当你明确需要 JSON 输出时可改用 output_type="json"

常用可选参数

  • include_grammar=True:在输入中注入语法文本。
  • backend:选择 Outlines 后端实现。
  • **inference_kwargs:透传底层后端生成参数。