This commit is contained in:
parent
0f21bf2124
commit
12c50c556f
|
|
@ -114,32 +114,38 @@ def search_docs(request: QueryRequest, user_id: str = Query(..., description="
|
|||
|
||||
|
||||
|
||||
# 假设 response 是查询的返回结果
|
||||
if response and hasattr(response, 'json'):
|
||||
response_data = response.json() # 提取 JSON 数据
|
||||
|
||||
# 检查 response_data 是否为列表且不为空
|
||||
if isinstance(response_data, list) and len(response_data) > 0:
|
||||
# 确保 response 是一个有效的列表
|
||||
if response and isinstance(response, list): # 检查 response 是否有效且为可迭代的列表
|
||||
# 返回检索结果
|
||||
result = {
|
||||
"user_id": user_id,
|
||||
"query": request.query,
|
||||
"results": [
|
||||
{"score": float(node.score or 0), "text": node.get_content()} # 确保从 Node 中获取文本
|
||||
for node in response_data
|
||||
]
|
||||
"results": []
|
||||
}
|
||||
logger.info(f"Search results for user {user_id}: {result}")
|
||||
|
||||
# 遍历 response 中的每个 node
|
||||
for i, node in enumerate(response):
|
||||
# 确保每个 node 具有必要的方法和属性
|
||||
if hasattr(node, 'get_content') and hasattr(node, 'embedding'):
|
||||
result["results"].append({
|
||||
"score": float(node.score or 0), # 评分(如果有的话)
|
||||
"text": node.get_content() # 获取文本内容
|
||||
})
|
||||
# 打印相关信息(如果需要日志记录)
|
||||
logger.info(f"Result {i + 1}:")
|
||||
logger.info(f" Text: {node.get_content()}") # 打印文本
|
||||
embedding = node.embedding
|
||||
logger.info(f" Embedding (Vector): {embedding}") # 打印向量
|
||||
logger.info(f" Embedding Length: {len(embedding)}") # 打印向量长度(维度)
|
||||
else:
|
||||
# 如果没有有效结果
|
||||
logger.warning("No valid results found in response_data or response_data is not a list.")
|
||||
result = {
|
||||
"user_id": user_id,
|
||||
"query": request.query,
|
||||
"results": [] # 返回空结果
|
||||
}
|
||||
else:
|
||||
logger.warning("Response is not iterable or invalid.")
|
||||
logger.warning(f"Result {i + 1} is missing necessary attributes.")
|
||||
|
||||
# 如果没有有效的结果
|
||||
if not result["results"]:
|
||||
logger.warning("No valid results found in response.")
|
||||
else:
|
||||
logger.warning("No valid results found in response or response is not a list.")
|
||||
result = {
|
||||
"user_id": user_id,
|
||||
"query": request.query,
|
||||
|
|
@ -148,6 +154,9 @@ def search_docs(request: QueryRequest, user_id: str = Query(..., description="
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
logger.info(f"Search results for user {user_id}: {result}")
|
||||
return result
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue