fix: ignore non-string reasoning wrappers
This commit is contained in:
@@ -130,8 +130,10 @@ def strip_think(text: str) -> str:
|
|||||||
return text.strip()
|
return text.strip()
|
||||||
|
|
||||||
|
|
||||||
def strip_reasoning_tags(text: str) -> str:
|
def strip_reasoning_tags(text: object) -> str:
|
||||||
"""Remove wrapper tags from text that is already known to be reasoning."""
|
"""Remove wrapper tags from text that is already known to be reasoning."""
|
||||||
|
if not isinstance(text, str):
|
||||||
|
return ""
|
||||||
text = re.sub(r"^\s*<(?:think|thinking|thought)/>\s*", "", text)
|
text = re.sub(r"^\s*<(?:think|thinking|thought)/>\s*", "", text)
|
||||||
text = re.sub(r"\s*<(?:think|thinking|thought)/>\s*$", "", text)
|
text = re.sub(r"\s*<(?:think|thinking|thought)/>\s*$", "", text)
|
||||||
text = re.sub(r"^\s*<(?:think|thinking|thought)>\s*", "", text)
|
text = re.sub(r"^\s*<(?:think|thinking|thought)>\s*", "", text)
|
||||||
|
|||||||
@@ -327,3 +327,6 @@ class TestStripReasoningTags:
|
|||||||
assert strip_reasoning_tags("Preparing final response</thinking>") == (
|
assert strip_reasoning_tags("Preparing final response</thinking>") == (
|
||||||
"Preparing final response"
|
"Preparing final response"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def test_non_string_reasoning_ignored(self):
|
||||||
|
assert strip_reasoning_tags(object()) == ""
|
||||||
|
|||||||
Reference in New Issue
Block a user