fix: Address code review feedback on tool format normalization

This commit is contained in:
0xallam
2026-02-20 08:08:59 -08:00
committed by Ahmed Allam
parent e09b5b42c1
commit b9dcf7f63d
2 changed files with 5 additions and 7 deletions

View File

@@ -145,11 +145,9 @@ class LLM:
if delta:
accumulated += delta
if "</function>" in accumulated or "</invoke>" in accumulated:
for end_tag in ("</function>", "</invoke>"):
end_tag = "</function>" if "</function>" in accumulated else "</invoke>"
pos = accumulated.find(end_tag)
if pos != -1:
accumulated = accumulated[: pos + len(end_tag)]
break
yield LLMResponse(content=accumulated)
done_streaming = 1
continue

View File

@@ -3,8 +3,8 @@ import re
from typing import Any
_INVOKE_OPEN = re.compile(r'<invoke\s+name=["\']([^"\']+)["\']\s*>')
_PARAM_NAME_ATTR = re.compile(r'<parameter\s+name=["\']([^"\']+)["\']\s*>')
_INVOKE_OPEN = re.compile(r'<invoke\s+name=["\']([^"\']+)["\']>')
_PARAM_NAME_ATTR = re.compile(r'<parameter\s+name=["\']([^"\']+)["\']>')
_FUNCTION_CALLS_TAG = re.compile(r"</?function_calls>")
_QUOTED_FUNCTION = re.compile(r"""<function\s*=\s*['"]([^"']+)['"]\s*>""")
_QUOTED_PARAMETER = re.compile(r"""<parameter\s*=\s*['"]([^"']+)['"]\s*>""")