import requests import json import re def CallResult(prompt): headers = { 'Content-Type': 'application/json', 'Cookie': 'MODEL_USER_AUTH=4879b93405ebb89cad144590f0a4873f#3', } data = json.dumps({ 'reqSource': "private", 'reqParams': { 'busCode': "fpExtract", 'degree': "low", 'fpRequire': prompt, }, }) # print("ChatGLM prompt:",prompt) # 调用api response = requests.post("http://81.70.174.229:9000/api/serveChannel",headers=headers,data=data) if response.status_code != 200: return "查询结果错误" resp = response.json() return resp['data'] # 调用glm def CallResultNew(prompt): headers = { 'Content-Type': 'application/json', 'Cookie': 'MODEL_USER_AUTH=92962ed4181f5221b20faaad1c42b3b8#3', } # 调用api if prompt != "": url = f'http://81.70.174.229:8090/smarty/fpNameExtract?fpRequire={prompt}&modelType=llm' response = requests.get(url, headers=headers) if response.status_code != 200: return "查询结果错误" resp = response.json() return resp['data'] def CallContentResult(prompt): content = "" seqs = re.split("。", prompt) for seq_ele in seqs: if seq_ele != '': headers = { 'Content-Type': 'application/json', 'Cookie': 'MODEL_USER_AUTH=4879b93405ebb89cad144590f0a4873f#3', } data = json.dumps({ 'reqSource': "private", 'reqParams': { 'busCode': "fpExtract", 'degree': "low", 'fpRequire': seq_ele.replace("\n", "").replace(" ", ""), }, }) # 调用api response = requests.post("http://81.70.174.229:9000/api/serveChannel", headers=headers, data=data) if response.status_code != 200: return "查询结果错误" resp = response.json() glm_data =resp['data'] print(f'glm_data = {glm_data}') act_list_str = ",".join(glm_data["actList"]) obj_list_str = ",".join(glm_data["objList"]) content = content + act_list_str + "|" + obj_list_str + " -> " print(content) return content def CallContentResultNew(prompt): content = "" seqs = re.split("。", prompt) for seq_ele in seqs: if seq_ele != '': headers = { 'Content-Type': 'application/json', 'Cookie': 'MODEL_USER_AUTH=92962ed4181f5221b20faaad1c42b3b8#3', } url = f'http://81.70.174.229:8090/smarty/fpNameExtract?fpRequire={prompt}&modelType=llm' response = requests.post(url, headers=headers) if response.status_code != 200: return "查询结果错误" resp = response.json() glm_datas = resp['data'] for glm_data in glm_datas: name = glm_data["name"] content += name content = content.replace("
", ",") return content def AutoDLResult(prompt): # prompt = prompt.replace("\n", " ") # print(f"prompt: {prompt}") # url = f"http://10.100.148.24:8000" # payload = json.dumps({ # # 'top_p': 0.8, # # 'temperature': 0.1, # 'prompt': prompt, # }) # headers = { # 'Content-Type': 'application/json', # 'Accept': 'application/json' # } # response = requests.request("POST", url, headers=headers, data=payload) # desc = response.json().get("response") # print(f"desc : {desc}") # pattern = r"\d+\.?\d*" # nums = re.findall(pattern, desc) # if len(nums) > 0: # print("提取到的数字:", nums[0]) # n = float(nums[0]) # if n is None: # return 0, "" # return n, filter_emoji(desc) return 0, "" def AutoDLResultNoNum(prompt): # prompt = prompt.replace("\n", " ") # print(f"prompt: {prompt}") # url = f"http://10.100.148.24:8000" # payload = json.dumps({ # # 'top_p': 0.8, # # 'temperature': 0.1, # 'prompt': prompt, # }) # headers = { # 'Content-Type': 'application/json', # 'Accept': 'application/json' # } # response = requests.request("POST", url, headers=headers, data=payload) # desc = response.json().get("response") # print(f"desc : {desc}") # return desc return "" def qwenResult(sentence1, sentence2): url = f"http://127.0.0.1:5010/api/v1/compare" payload = json.dumps({ 'sentence1': sentence1, 'sentence2': sentence2, }) headers = { 'Content-Type': 'application/json', 'Accept': 'application/json' } response = requests.request("POST", url, headers=headers, data=payload) desc = response.json().get("data") print(f"desc : {desc}") return desc # 去除文本中的特殊表情 def filter_emoji(desstr, restr=''): # 过滤表情 try: co = re.compile(u'[\U00010000-\U0010ffff]') except re.error: co = re.compile(u'[\uD800-\uDBFF][\uDC00-\uDFFF]') return co.sub(restr, desstr) if __name__ == '__main__': # text = "这是一个带有表情符号😊的字符" # text = filter_emoji(text) # content_x = '''会议管理,支持相关人员建立评审会议,评审会议和项目关联,并支持后续的专家抽取、结果确认等。会议建立完成后,相关人员可选择专家抽取模式,手动抽取是从专家库中手动筛选及选取专家参加评审。会议建立完成后,相关人员可选择专家抽取模式,自动抽取实现专家按标签自动抽取,抽取成功后生成会议通知、会议签到单。''' # content_y = '''1、专家库管理概述:实现和省级专家库对接,获取专家信息,并实现用户自行录入专家信息。同时要实现专家自定义抽取、抽取规则模板设置、在线短信与智能语音通知,专家赴会反馈等功能,继而实现专家线上管理。同时需要建立信创专家和信息化专家两个大类别,两个类别可重合。2、专家库基础信息:(1)统一的专家基础信息:构建统一的专家信息,同时与现有专家库进行数据同步,实现信息化项目专家信息的统一共享。支持多维度的专家查询通道。(2)标签管理:实现专家标签管理,为不同的专家贴上擅长领域标签,让专家擅长领域更加直观,让单位建设信息化项目有一个对应标签的专家支撑,为项目单位信息化项目保驾护航,减少单位信息化项目建设的风险。(3)专家卡片:专家卡片涵盖专家基本信息、专业标签信息以及参与信息化项目履职情况,形成一个动态的专家档案信息。(4)自定义设计:专家登录系统后可自行修改完善自身专家信息。信息需数管中心审核后方可生效。3、专家抽取管理:实现已有专家中,可根据不同类型筛选,并随机抽取对应专家,系统通过对接短信平台和智能语音平台来自动发送评审会议通知,专家实施反馈。(1)需在抽取管理中预设抽取规则模板:模板一:1000万预算以下项目,抽取5名评审专家,先抽取1名信创专家,待信创专家确认参会后再抽取4名信息化专家。模板二:1000万预算(含)以上项目抽取7名评审专家,先抽取1名信创专家,待信创专家确认参会后再抽取6名信息化专家。支持多轮抽取,已确保专家随机抽取的有效性。(2)专家评审通知规则:抽中的专家立即通过智能语音电话进行通知,专家选择参会后以短信形式再次发送项目评审会的时间、地址、项目名称信息给参会专家。如抽中专家接了电话未反馈是否参会或拒绝参会,系统自动进行下一轮抽取。如抽中的专家未接电话,10分钟后再拨打一次,如还未接,判断为不参会,系统自动进行下一轮抽取。直至抽满足够人数为止。(3)抽取规避原则:1)信创专家会和信息化专家有重叠,在信创专家中抽中的专家在后续信息化专家抽取中要规避。2)如有专家是在此申报单位中任职的,系统要自动规避抽取。(4)评审会信息修改与取消:需要实现评审会评审时间或地点修改,可以语音电话通知和短信通知相应专家的功能。需要实现评审会取消与通知,可以语音电话通知和短信通知相应专家的功能。(5)自动抽取失败处理:如专家自动抽取中发生反馈参会专家数量少于所需专家数量时,需要提实现手动指定专家参会的功能。(6)专家请假:提供专家评审会请假功能,已抽中并参加评审会的专家,如后续需要请假,可由两种方式进行申请:(1)专家电话联系评审会邀请人进行请假,评审会邀请人在系统中录入并确认该专家请假,邀请人可再次发起专家抽取进行补充专家。(2)专家登录系统进行申请请假,请假申请后系统自动再抽取一轮专家进行补充,并将变更信息通知评审会邀请人。4、专家履职: 可在系统中,查看专家参与评审的所有项目记录信息,并履行相关的项目审查工作。''' # str_con = AutoDLResultNoNum(f"告诉我下面两段话的重复率百分比是多少: \n第一段话是:'{content_x}', \n ----------------- \n 第二段话是:'{content_y}'") # print(str_con) # qwenResult("你好啊", "你真好") string = "相似度等级:高 原因:这两段话都涉及到信息" print(string[6:7])