mirror of
https://github.com/PaddlePaddle/FastDeploy.git
synced 2026-04-23 00:17:25 +08:00
【Optimization】update data_processor & add tool parser plugins (#6096)
* update data_processor * fix unit test * fix unit test * add unit test * add tool parser plugins * fix tool call * fix tool call * fix tool call * fix unit test * fix unit test * add unit test * fix unit test * fix unit test * fix unit test
This commit is contained in:
@@ -407,7 +407,7 @@ class OpenAIServingCompletion:
|
||||
|
||||
def calc_finish_reason(self, max_tokens, token_num, output, tool_called):
|
||||
if max_tokens is None or token_num != max_tokens:
|
||||
if tool_called or output.get("tool_call"):
|
||||
if tool_called or output.get("tool_calls"):
|
||||
return "tool_calls"
|
||||
else:
|
||||
return "stop"
|
||||
@@ -554,9 +554,9 @@ class OpenAIServingCompletion:
|
||||
text=output["text"],
|
||||
prompt_token_ids=None,
|
||||
completion_token_ids=output.get("token_ids") if request.return_token_ids else None,
|
||||
tool_calls=None,
|
||||
tool_calls=output["tool_calls"],
|
||||
completion_tokens=output.get("completion_tokens") if request.return_token_ids else None,
|
||||
reasoning_content="",
|
||||
reasoning_content=output["reasoning_content"],
|
||||
arrival_time=arrival_time,
|
||||
logprobs=logprobs_res,
|
||||
prompt_logprobs=(
|
||||
@@ -565,15 +565,12 @@ class OpenAIServingCompletion:
|
||||
draft_logprobs=draft_logprobs_res,
|
||||
speculate_metrics=output_speculate_metrics,
|
||||
)
|
||||
if not res["finished"] and output["enable_parser"]:
|
||||
delta_message_output = output["delta_message"]
|
||||
if delta_message_output is None:
|
||||
continue
|
||||
delta_message.text = delta_message_output.content or ""
|
||||
delta_message.reasoning_content = delta_message_output.reasoning_content or ""
|
||||
if delta_message_output.tool_calls:
|
||||
delta_message.tool_calls = delta_message_output.tool_calls
|
||||
tool_called[idx] = True
|
||||
|
||||
if output["tool_calls"] is not None:
|
||||
tool_called[idx] = True
|
||||
|
||||
if output["skipped"]:
|
||||
continue
|
||||
|
||||
choices.append(delta_message)
|
||||
|
||||
@@ -740,7 +737,7 @@ class OpenAIServingCompletion:
|
||||
else None
|
||||
),
|
||||
reasoning_content=output.get("reasoning_content"),
|
||||
tool_calls=output.get("tool_call", None),
|
||||
tool_calls=output.get("tool_calls"),
|
||||
logprobs=aggregated_logprobs,
|
||||
draft_logprobs=aggregated_draft_logprobs,
|
||||
prompt_logprobs=clamp_prompt_logprobs(prompt_logprobs_res),
|
||||
|
||||
Reference in New Issue
Block a user