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: if delta:
accumulated += delta accumulated += delta
if "</function>" in accumulated or "</invoke>" in accumulated: 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) pos = accumulated.find(end_tag)
if pos != -1:
accumulated = accumulated[: pos + len(end_tag)] accumulated = accumulated[: pos + len(end_tag)]
break
yield LLMResponse(content=accumulated) yield LLMResponse(content=accumulated)
done_streaming = 1 done_streaming = 1
continue continue

View File

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