feat: GLM 응답에서 assistant 텍스트 추출 로직 개선 및 관련 경고 메시지 추가
- GLM 응답의 content가 비어있을 경우 reasoning_content를 대신 사용하도록 로직 개선 - 새로운 메서드 _extract_glm_assistant_text 추가하여 assistant 텍스트 추출을 명확히 함 - 관련 단위 테스트 추가 및 README.md에 변경 사항 반영
This commit is contained in:
@@ -38,3 +38,19 @@ class TestAIPlannerParseJson(unittest.TestCase):
|
||||
self.assertEqual(len(plan["actions"]), 1)
|
||||
self.assertEqual(plan["actions"][0]["action"], "explore")
|
||||
|
||||
def test_extract_glm_text_prefers_content_then_reasoning(self):
|
||||
# content가 비어있고 reasoning_content에 JSON이 들어있는 케이스
|
||||
fake = {
|
||||
"choices": [
|
||||
{
|
||||
"finish_reason": "length",
|
||||
"message": {
|
||||
"content": "",
|
||||
"reasoning_content": '{"thinking":"t","current_goal":"g","actions":[],"after_this":"a"}',
|
||||
},
|
||||
}
|
||||
]
|
||||
}
|
||||
extracted = self.planner._extract_glm_assistant_text(fake)
|
||||
self.assertIn('"current_goal":"g"', extracted)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user