""" @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'] 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) case "similarities_cross": return self.nlp.base_list_similarity(pair_list_dict=self.data) 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()