[fix] serve_openai_api 非流式端点的 max_tokens 不生效,与流式端点行为不一致
非流式分支传的是 max_length,但 MiniMindForCausalLM.generate() 的签名里 没有这个形参(只有 max_new_tokens=8192),max_length 被 **kwargs 吞掉后 无人处理,于是 request.max_tokens 对生成长度零约束。 同一文件的流式分支(第117行)传的是 max_new_tokens=max_tokens,精确生效。 同一个请求参数在两条路径上行为完全不同。 判决性实验:同时传 max_length=15 与 max_new_tokens=20, prompt 长度 10 -> 实际输出总长 30(新增 20),证明 max_length 被无视。 改为与流式分支一致的 max_new_tokens=request.max_tokens(一行)。pull/864/head
parent
cc312c1cc6
commit
d4b67f1783
|
|
@ -202,7 +202,7 @@ async def chat_completions(request: ChatRequest):
|
|||
with torch.no_grad():
|
||||
generated_ids = model.generate(
|
||||
inputs["input_ids"],
|
||||
max_length=inputs["input_ids"].shape[1] + request.max_tokens,
|
||||
max_new_tokens=request.max_tokens,
|
||||
do_sample=True,
|
||||
attention_mask=inputs["attention_mask"],
|
||||
pad_token_id=tokenizer.pad_token_id,
|
||||
|
|
|
|||
Loading…
Reference in New Issue