[LogProbs]Enable prompt logprobs output and modify data transmission method for the online interface. (#5089)

* add prompt logprobs

* Merge prompt_logprobs_tensors and prompt_logprobs

* fix param check

* trigger ci

* fix unitest

* fix logprobs bug
This commit is contained in:
qwes5s5
2025-12-02 13:49:51 +08:00
committed by GitHub
parent af39819fcd
commit 117980dd4e
27 changed files with 4947 additions and 233 deletions

View File

@@ -52,6 +52,7 @@ from typing_extensions import TypeIs, assert_never
from fastdeploy import envs
from fastdeploy.entrypoints.openai.protocol import ErrorInfo, ErrorResponse
from fastdeploy.logger.logger import FastDeployLogger
from fastdeploy.worker.output import PromptLogprobs
T = TypeVar("T")
from typing import Callable, List, Optional
@@ -1073,6 +1074,21 @@ def optional_type(return_type: Callable[[str], T]) -> Callable[[str], Optional[T
return _optional_type
def clamp_prompt_logprobs(
prompt_logprobs: PromptLogprobs | None,
) -> PromptLogprobs | None:
if prompt_logprobs is None:
return prompt_logprobs
for logprob_dict in prompt_logprobs:
if logprob_dict is None:
continue
for logprob_values in logprob_dict.values():
if logprob_values.logprob == float("-inf"):
logprob_values.logprob = -9999.0
return prompt_logprobs
def to_numpy(tasks: List[Any]):
"""
Convert PaddlePaddle tensors in multimodal inputs to NumPy arrays.