自定義引數¶
您可以使用 vLLM 的自定義引數來傳遞不在 vLLM SamplingParams 和 REST API 規範中的引數。新增或刪除 vLLM 自定義引數不需要重新編譯 vLLM,因為自定義引數是以字典的形式傳遞的。
如果您想使用自定義 logits processor 而不修改 vLLM 原始碼,自定義引數可能會非常有用。
注意
請確保您的自定義 logits processor 為自定義引數實現了 validate_params。否則,無效的自定義引數可能導致意外行為。
離線自定義引數¶
傳遞給 SamplingParams.extra_args 的自定義引數(作為 dict)將對任何可以訪問 SamplingParams 的程式碼可見。
這允許將尚未包含在 SamplingParams 中的引數作為請求的一部分傳遞到 LLM 中。
線上自定義引數¶
vLLM REST API 允許透過 vllm_xargs 將自定義引數傳遞給 vLLM 伺服器。下面的示例將自定義引數整合到 vLLM REST API 請求中。
curl https://:8000/v1/completions \
-H "Content-Type: application/json" \
-d '{
"model": "Qwen/Qwen2.5-1.5B-Instruct",
...
"vllm_xargs": {"your_custom_arg": 67}
}'
此外,OpenAI SDK 使用者可以透過 extra_body 引數訪問 vllm_xargs。
batch = await client.completions.create(
model="Qwen/Qwen2.5-1.5B-Instruct",
...,
extra_body={
"vllm_xargs": {
"your_custom_arg": 67
}
}
)
注意
vllm_xargs 在底層被賦值給 SamplingParams.extra_args,因此使用 SamplingParams.extra_args 的程式碼同時相容離線和線上場景。