nlpServer.py 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. """
  2. @author: luojunhui
  3. """
  4. from typing import List
  5. from pydantic import BaseModel
  6. from similarities import BertSimilarity
  7. import numpy as np
  8. import torch
  9. import logging
  10. class NLPServer(object):
  11. """
  12. nlp_server
  13. """
  14. def __init__(self, params):
  15. """
  16. :param params:
  17. """
  18. self.model = None
  19. self.function = None
  20. self.text_02 = None
  21. self.text_01 = None
  22. self.params = params
  23. def check_params(self):
  24. """
  25. 参数校验
  26. :return:
  27. """
  28. try:
  29. self.text_01 = self.params['text_01']
  30. self.text_02 = self.params['text_02']
  31. self.function = self.params['function']
  32. self.model = self.params['model']
  33. return None
  34. except Exception as e:
  35. error_info = {
  36. "error": "params error",
  37. "detail": str(e)
  38. }
  39. return error_info
  40. def choose_function(self):
  41. """
  42. :return:
  43. """
  44. match self.function:
  45. case "similarities":
  46. return
  47. case "similarities_cross":
  48. return
  49. case "similarities_cross_max":
  50. return
  51. case "similarities_cross_avg":
  52. return
  53. case "similarities_cross_mean":
  54. return
  55. def base_similarity(self):
  56. """
  57. base similarity
  58. :return:
  59. """
  60. try:
  61. res = {
  62. 'score_list': []
  63. }
  64. return res
  65. except Exception as e:
  66. return {"error": str(e)}
  67. def deal(self):
  68. """
  69. deal function
  70. :return:
  71. """
  72. return self.check_params if self.check_params else self.choose_function