GOGO198 commited on
Commit
931e174
·
verified ·
1 Parent(s): d99c445

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +23 -12
app.py CHANGED
@@ -84,11 +84,15 @@ from functools import lru_cache
84
  @lru_cache(maxsize=100)
85
  def predict(vector):
86
  """处理768维向量输入并返回答案"""
 
87
  print(f"输入向量维度: {np.array(vector).shape}")
 
88
  try:
 
89
  if not isinstance(vector, list) or len(vector) == 0:
90
- print("错误:输入格式无效")
91
- return "错误:输入格式无效"
 
92
 
93
  if len(vector) != 1 or len(vector[0]) != 768:
94
  error_msg = f"错误:需要1x768的二维数组,收到{len(vector)}x{len(vector[0]) if vector else 0}"
@@ -96,20 +100,27 @@ def predict(vector):
96
  return error_msg
97
 
98
  # 添加实际处理逻辑
99
- D, I = index.search(np.array(vector, dtype=np.float32), k=3)
100
- results = [
101
- f"匹配结果 {i+1}: {metadata.iloc[I[0][i]]['source']} | 置信度: {1/(1+D[0][i]):.2f}"
102
- for i in range(3)
103
- ]
 
 
 
 
 
 
 
 
 
104
  return "\n".join(results)
105
 
106
  except Exception as e:
107
- # 添加详细错误日志
108
- error_msg = "处理错误,请重试或联系管理员"
109
- # import traceback
110
- # error_msg = f"处理错误: {str(e)}\n{traceback.format_exc()}"
111
  print(error_msg)
112
- return error_msg
113
 
114
  # 创建简化接口
115
  with gr.Blocks() as demo:
 
84
  @lru_cache(maxsize=100)
85
  def predict(vector):
86
  """处理768维向量输入并返回答案"""
87
+ start_time = time.time()
88
  print(f"输入向量维度: {np.array(vector).shape}")
89
+
90
  try:
91
+ # 验证输入格式
92
  if not isinstance(vector, list) or len(vector) == 0:
93
+ error_msg = "错误:输入格式无效"
94
+ print(error_msg)
95
+ return error_msg
96
 
97
  if len(vector) != 1 or len(vector[0]) != 768:
98
  error_msg = f"错误:需要1x768的二维数组,收到{len(vector)}x{len(vector[0]) if vector else 0}"
 
100
  return error_msg
101
 
102
  # 添加实际处理逻辑
103
+ vector_array = np.array(vector, dtype=np.float32)
104
+ D, I = index.search(vector_array, k=3)
105
+
106
+ results = []
107
+ for i in range(3):
108
+ try:
109
+ result = metadata.iloc[I[0][i]]
110
+ confidence = 1/(1+D[0][i])
111
+ results.append(f"匹配结果 {i+1}: {result['source']} | 置信度: {confidence:.2f}")
112
+ except Exception as e:
113
+ print(f"结果处理错误: {str(e)}")
114
+ results.append(f"结果 {i+1}: 数据获取失败")
115
+
116
+ print(f"处理完成 | 耗时: {time.time()-start_time:.2f}秒")
117
  return "\n".join(results)
118
 
119
  except Exception as e:
120
+ import traceback
121
+ error_msg = f"处理错误: {str(e)}\n{traceback.format_exc()}"
 
 
122
  print(error_msg)
123
+ return "处理错误,请重试或联系管理员"
124
 
125
  # 创建简化接口
126
  with gr.Blocks() as demo: