| 
					
				 | 
			
			
				@@ -1,6 +1,5 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from paddle.distributed.fleet.data_generator import MultiSlotDataGenerator 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import sys 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import inspect 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 class DSSMReader(MultiSlotDataGenerator): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     def __init__(self): 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -48,36 +47,11 @@ class DSSMReader(MultiSlotDataGenerator): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             except Exception as e: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 sys.stderr.write(f"Error in generate_sample: {str(e)}\n") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return reader 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-def get_caller_info(): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    # 获取当前的堆栈帧 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    frame = inspect.currentframe() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    # 获取调用者的堆栈帧 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    caller_frame = frame.f_back 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    # 获取调用者的代码对象 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    caller_code = caller_frame.f_code 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    # 获取调用者的名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    caller_name = caller_code.co_name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    # 获取调用者的文件名 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    caller_filename = caller_code.co_filename 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    # 获取调用者的行号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    caller_line_no = caller_frame.f_lineno 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    # 获取调用者的函数参数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    args, _, _, arg_names = inspect.getargvalues(caller_frame) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    # 构建调用者信息字符串 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    caller_info = f"Called from {caller_name} in {caller_filename} at line {caller_line_no}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    for arg_name in arg_names: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        caller_info += f", {arg_name}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    return caller_info 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 if __name__ == "__main__": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    sys.stdout.write(get_caller_info()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     reader = DSSMReader() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     reader.init() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        sys.stdout.write("invoke run_from_stdin start") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         reader.run_from_stdin() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        sys.stdout.write("invoke run_from_stdin end") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     except Exception as e: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         sys.stderr.write(f"Error in main: {str(e)}\n") 
			 |