need partial overlap function from newer utils. just inlined it
This commit is contained in:
@@ -51,11 +51,22 @@ from vllm.tool_parsers.abstract_tool_parser import (
|
|||||||
Tool,
|
Tool,
|
||||||
ToolParser,
|
ToolParser,
|
||||||
)
|
)
|
||||||
from vllm.tool_parsers.utils import partial_tag_overlap
|
|
||||||
|
|
||||||
logger = init_logger(__name__)
|
logger = init_logger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
def partial_tag_overlap(text: str, tag: str) -> int:
|
||||||
|
"""Length of the longest prefix of *tag* that matches a suffix of *text*.
|
||||||
|
|
||||||
|
E.g. text ending in ``"<tool_"`` returns 6 when tag is ``"<tool_call>"``.
|
||||||
|
Returns 0 when there is no overlap.
|
||||||
|
"""
|
||||||
|
max_check = min(len(tag) - 1, len(text))
|
||||||
|
for k in range(max_check, 0, -1):
|
||||||
|
if text.endswith(tag[:k]):
|
||||||
|
return k
|
||||||
|
return 0
|
||||||
|
|
||||||
|
|
||||||
class DeepSeekV32ToolParser(ToolParser):
|
class DeepSeekV32ToolParser(ToolParser):
|
||||||
"""
|
"""
|
||||||
Re-parse-and-diff tool parser for DeepSeek-V3.2 DSML format.
|
Re-parse-and-diff tool parser for DeepSeek-V3.2 DSML format.
|
||||||
|
|||||||
Reference in New Issue
Block a user