Update app.py
Browse files
app.py
CHANGED
@@ -74,35 +74,17 @@ def load_resources():
|
|
74 |
def predict(vector):
|
75 |
"""处理768维向量输入并返回答案"""
|
76 |
try:
|
77 |
-
|
78 |
-
|
|
|
79 |
|
80 |
-
#
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
if vector.shape[1] != 768:
|
89 |
-
return f"维度错误:预期768维,收到{vector.shape[1]}维"
|
90 |
-
|
91 |
-
# 添加处理日志
|
92 |
-
print(f"接收请求 | 维度: {vector.shape}")
|
93 |
-
|
94 |
-
# FAISS 搜索
|
95 |
-
D, I = index.search(vector, k=3)
|
96 |
-
|
97 |
-
# 获取最相关结果
|
98 |
-
results = []
|
99 |
-
for i in range(3):
|
100 |
-
result = metadata.iloc[I[0][i]]
|
101 |
-
results.append(f"相关结果 {i+1}: {result['source']} | 相似度: {1/(1+D[0][i]):.2f}")
|
102 |
-
|
103 |
-
response = "\n".join(results)
|
104 |
-
print(f"处理时间: {time.time() - start_time:.2f}秒")
|
105 |
-
return response
|
106 |
|
107 |
except Exception as e:
|
108 |
# 添加详细错误日志
|
|
|
74 |
def predict(vector):
|
75 |
"""处理768维向量输入并返回答案"""
|
76 |
try:
|
77 |
+
# 确保输入数据完整
|
78 |
+
if len(vector[0]) != 768:
|
79 |
+
return "维度错误:需要768维向量"
|
80 |
|
81 |
+
# 添加实际处理逻辑
|
82 |
+
D, I = index.search(np.array(vector, dtype=np.float32), k=3)
|
83 |
+
results = [
|
84 |
+
f"匹配结果 {i+1}: {metadata.iloc[I[0][i]]['source']} | 置信度: {1/(1+D[0][i]):.2f}"
|
85 |
+
for i in range(3)
|
86 |
+
]
|
87 |
+
return "\n".join(results)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
88 |
|
89 |
except Exception as e:
|
90 |
# 添加详细错误日志
|