22import re
33from app .utils .data_recorder import DataRecorder
44from app .schemas .A2A import WriterResponse
5+ from app .utils .log_util import logger
56
67
78class UserOutput :
@@ -41,6 +42,7 @@ def get_model_build_solve(self) -> str:
4142 return model_build_solve
4243
4344 def get_result_to_save (self , ques_count ):
45+ logger .info (f"开始处理结果保存,问题数量: { ques_count } " )
4446 # 动态顺序获取拼接res value,正确拼接顺序
4547 ques_str = [f"ques{ i } " for i in range (1 , ques_count + 1 )]
4648 seq = [
@@ -54,6 +56,7 @@ def get_result_to_save(self, ques_count):
5456 "sensitivity_analysis" ,
5557 "judge" ,
5658 ]
59+ logger .debug (f"处理序列: { seq } " )
5760
5861 # 收集所有内容和脚注
5962 all_content = []
@@ -62,20 +65,26 @@ def get_result_to_save(self, ques_count):
6265 footnote_mapping = {} # 用于存储原始编号到新编号的映射
6366
6467 # 第一遍:收集所有引用并建立映射
68+ logger .info ("开始第一遍处理:收集引用并建立映射" )
6569 for key in seq :
6670 if key not in self .res :
71+ logger .debug (f"跳过不存在的键: { key } " )
6772 continue
6873
6974 content = self .res [key ]["response_content" ]
7075 footnotes = self .res [key ]["footnotes" ]
7176
7277 if footnotes :
78+ logger .debug (f"处理 { key } 的脚注,数量: { len (footnotes )} " )
7379 for num , content in footnotes : # 直接解构元组
7480 if num not in footnote_mapping :
7581 footnote_mapping [num ] = str (footnote_counter )
7682 footnote_counter += 1
7783
84+ logger .info (f"脚注映射完成,共有 { len (footnote_mapping )} 个脚注" )
85+
7886 # 第二遍:更新内容和脚注
87+ logger .info ("开始第二遍处理:更新内容和脚注" )
7988 for key in seq :
8089 if key not in self .res :
8190 continue
@@ -85,6 +94,7 @@ def get_result_to_save(self, ques_count):
8594
8695 # 更新内容中的引用编号
8796 if footnotes :
97+ logger .debug (f"更新 { key } 的内容和脚注" )
8898 # 更新正文中的引用
8999 for old_num , new_num in footnote_mapping .items ():
90100 content = content .replace (f"[^{ old_num } ]" , f"[^{ new_num } ]" )
@@ -109,6 +119,7 @@ def get_result_to_save(self, ques_count):
109119 )
110120 final_content += "\n \n " + "\n " .join (sorted_footnotes )
111121
122+ logger .info (f"结果处理完成,最终内容长度: { len (final_content )} " )
112123 return final_content
113124
114125 def save_result (self , ques_count ):
0 commit comments