123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- """
- @author: luojunhui
- """
- from applications.textSimilarity import NLPFunction
- class NLPServer(object):
- """
- nlp_server
- """
- def __init__(self, params, model, embedding_manager):
- """
- :param params:
- """
- self.data = None
- self.function = None
- self.params = params
- self.nlp = NLPFunction(model=model, embedding_manager=embedding_manager)
- def check_params(self):
- """
- 参数校验
- :return:
- """
- try:
- self.data = self.params['data']
- self.function = self.params['function']
- self.use_cache = self.params.get('use_cache', True)
- print("参数校验成功")
- return None
- except Exception as e:
- error_info = {
- "error": "params error",
- "detail": str(e)
- }
- print("参数校验失败")
- return error_info
- def schedule_function(self):
- """
- :return:
- """
- match self.function:
- case "similarities":
- return self.nlp.base_string_similarity(text_dict=self.data, use_cache=self.use_cache)
- case "similarities_cross":
- return self.nlp.base_list_similarity(pair_list_dict=self.data, use_cache=self.use_cache)
- case "similarities_cross_max":
- return self.nlp.max_cross_similarity(data=self.data)
- case "similarities_cross_avg":
- return self.nlp.avg_cross_similarity(data=self.data)
- case "similarities_cross_mean":
- return self.nlp.mean_cross_similarity(data=self.data)
- def deal(self):
- """
- deal function
- :return:
- """
- return self.check_params() if self.check_params() else self.schedule_function()
|