response_info.py 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. database_delete_update_response_mapping = {
  2. "delete_query_error": ("根据id查询出错", 500),
  3. "delete_no_result": ("向量库中未查询到对应的数据", 200),
  4. "delete_error": ("根据id删除数据失败", 500),
  5. "delete_success": ("删除成功", 200),
  6. "update_query_error": ("更新数据出错", 500),
  7. "update_query_no_result": ("未查询到需要更新的数据", 200),
  8. "update_error": ("更新数据时出错", 500),
  9. "update_success": ("更新成功", 200),
  10. "delete_collection_error": ("删除数据库失败", 500),
  11. "delete_collection_success": ("删除数据库成功", 200),
  12. "create_collection_error": ("创建数据库失败", 500),
  13. "create_collection_success": ("创建数据库成功", 200),
  14. "insert_success": ("插入切片成功", 200),
  15. "insert_error": ("插入切片失败", 500),
  16. }
  17. def generate_message(result):
  18. message, code = database_delete_update_response_mapping.get(result)
  19. response_dict = {
  20. "code": code,
  21. "message": message
  22. }
  23. return response_dict
  24. def generate_response(result, page_num=0, page_size=10):
  25. if page_num:
  26. if not result:
  27. resp_dict = {"code": 200, "rows": [], "total": 0}
  28. elif "code" in result[0]:
  29. resp_dict = {}
  30. resp_dict.update(result[0])
  31. resp_dict["rows"] = []
  32. resp_dict["message"] = "查询向量库出错"
  33. resp_dict["total"] = 0
  34. # return resp_dict
  35. else:
  36. rows = []
  37. total_len = len(result)
  38. skip = int(page_num-1) * int(page_size)
  39. iter_result = result[skip:skip+page_size]
  40. for i in iter_result:
  41. d = {}
  42. d["slice_id"] = i.get("chunk_id")
  43. d["document_id"] = i.get("doc_id")
  44. d["slice_text"] = i.get("content")
  45. d["slice_char_len"] = i.get("metadata").get("chunk_len")
  46. rows.append(d)
  47. resp_dict = {
  48. "code": 200,
  49. "rows": rows,
  50. "total": total_len
  51. }
  52. return resp_dict
  53. else:
  54. if not result:
  55. resp_dict = {"code": 200, "data": {}}
  56. elif "code" in result[0]:
  57. resp_dict = {}
  58. resp_dict.update(result[0])
  59. resp_dict["data"] = {}
  60. resp_dict["message"] = "查询向量库出错"
  61. # return resp_dict
  62. else:
  63. d = {}
  64. for i in result:
  65. d["slice_id"] = i.get("chunk_id")
  66. d["document_id"] = i.get("doc_id")
  67. d["slice_text"] = i.get("content")
  68. # rows.append(d)
  69. resp_dict = {
  70. "code": 200,
  71. "data": d,
  72. # "total": total_len
  73. }
  74. return resp_dict