nlpServer.py 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. """
  2. @author: luojunhui
  3. """
  4. from applications.textSimilarity import NLPFunction
  5. class NLPServer(object):
  6. """
  7. nlp_server
  8. """
  9. def __init__(self, params, model, embedding_manager):
  10. """
  11. :param params:
  12. """
  13. self.data = None
  14. self.function = None
  15. self.params = params
  16. self.nlp = NLPFunction(model=model, embedding_manager=embedding_manager)
  17. def check_params(self):
  18. """
  19. 参数校验
  20. :return:
  21. """
  22. try:
  23. self.data = self.params['data']
  24. self.function = self.params['function']
  25. print("参数校验成功")
  26. return None
  27. except Exception as e:
  28. error_info = {
  29. "error": "params error",
  30. "detail": str(e)
  31. }
  32. print("参数校验失败")
  33. return error_info
  34. def schedule_function(self):
  35. """
  36. :return:
  37. """
  38. match self.function:
  39. case "similarities":
  40. return self.nlp.base_string_similarity(text_dict=self.data)
  41. case "similarities_cross":
  42. return self.nlp.base_list_similarity(pair_list_dict=self.data)
  43. case "similarities_cross_max":
  44. return self.nlp.max_cross_similarity(data=self.data)
  45. case "similarities_cross_avg":
  46. return self.nlp.avg_cross_similarity(data=self.data)
  47. case "similarities_cross_mean":
  48. return self.nlp.mean_cross_similarity(data=self.data)
  49. def deal(self):
  50. """
  51. deal function
  52. :return:
  53. """
  54. return self.check_params() if self.check_params() else self.schedule_function()