@@ -67,6 +67,17 @@ def test_cot_chat():
67
67
logger .info ("Raw response received" )
68
68
debug_response_structure (raw_response , "Raw response: " )
69
69
70
+ # Verify response structure
71
+ if not isinstance (raw_response , dict ):
72
+ logger .error (f"Unexpected response type: { type (raw_response )} " )
73
+ raise TypeError (f"Expected dict response, got { type (raw_response )} " )
74
+
75
+ required_keys = ["answer" , "reasoning_steps" , "context" ]
76
+ missing_keys = [key for key in required_keys if key not in raw_response ]
77
+ if missing_keys :
78
+ logger .error (f"Missing required keys in response: { missing_keys } " )
79
+ raise KeyError (f"Response missing required keys: { missing_keys } " )
80
+
70
81
# Process through chat function
71
82
logger .info ("Processing through chat function..." )
72
83
result = chat (
@@ -91,9 +102,21 @@ def test_cot_chat():
91
102
# Save debug information to file
92
103
debug_info = {
93
104
"test_message" : test_message ,
94
- "raw_response" : str (raw_response ),
95
- "final_result" : str (result ),
96
- "history" : str (history )
105
+ "raw_response" : {
106
+ "type" : str (type (raw_response )),
107
+ "keys" : list (raw_response .keys ()) if isinstance (raw_response , dict ) else None ,
108
+ "content" : str (raw_response )
109
+ },
110
+ "final_result" : {
111
+ "type" : str (type (result )),
112
+ "length" : len (result ) if isinstance (result , list ) else None ,
113
+ "content" : str (result )
114
+ },
115
+ "history" : {
116
+ "type" : str (type (history )),
117
+ "length" : len (history ),
118
+ "content" : str (history )
119
+ }
97
120
}
98
121
99
122
with open ("cot_chat_debug.json" , "w" ) as f :
0 commit comments