Browse Source

第一个增强版上线

master
majiahui@haimaqingfan.com 1 year ago
parent
commit
fae2a5b1e8
  1. 79
      flask_drop_rewrite_request.py
  2. 2
      redis_check_uuid_mistral.py

79
flask_drop_rewrite_request.py

@ -1,5 +1,4 @@
import os import os
os.environ["CUDA_VISIBLE_DEVICES"] = "2"
from flask import Flask, jsonify from flask import Flask, jsonify
from flask import request from flask import request
import requests import requests
@ -10,7 +9,7 @@ from threading import Thread
import time import time
import re import re
import logging import logging
from vllm import LLM, SamplingParams import concurrent.futures
logging.basicConfig(level=logging.DEBUG, # 控制台打印的日志级别 logging.basicConfig(level=logging.DEBUG, # 控制台打印的日志级别
@ -42,7 +41,7 @@ pantten_biaoti_0 = '^[1-9一二三四五六七八九ⅠⅡⅢⅣⅤⅥⅦⅧⅨ]
pantten_biaoti_1 = '^第[一二三四五六七八九]章\s{0,}?[\u4e00-\u9fa5a-zA-Z]+' pantten_biaoti_1 = '^第[一二三四五六七八九]章\s{0,}?[\u4e00-\u9fa5a-zA-Z]+'
pantten_biaoti_2 = '^[0-9.]+\s{0,}?[\u4e00-\u9fa5a-zA-Z]+' pantten_biaoti_2 = '^[0-9.]+\s{0,}?[\u4e00-\u9fa5a-zA-Z]+'
pantten_biaoti_3 = '^[((][1-9一二三四五六七八九ⅠⅡⅢⅣⅤⅥⅦⅧⅨ][)_)][、.]{0,}?\s{0,}?[\u4e00-\u9fa5a-zA-Z]+' pantten_biaoti_3 = '^[((][1-9一二三四五六七八九ⅠⅡⅢⅣⅤⅥⅦⅧⅨ][)_)][、.]{0,}?\s{0,}?[\u4e00-\u9fa5a-zA-Z]+'
chatgpt_url = "http://114.116.25.228:12000/predict" chatgpt_url = "http://192.168.31.145:12001/predict"
class log: class log:
@ -141,6 +140,20 @@ def chulichangju_1(text, snetence_id, chulipangban_return_list, short_num):
return chulipangban_return_list return chulipangban_return_list
def get_multiple_urls(urls):
with concurrent.futures.ThreadPoolExecutor() as executor:
future_to_url = {executor.submit(dialog_line_parse, url[1], url[2]): url for url in urls}
results = []
for future in concurrent.futures.as_completed(future_to_url):
url = future_to_url[future]
try:
data = future.result()
results.append((url, data))
except Exception as e:
results.append((url, f"Error: {str(e)}"))
return results
def chulipangban_test_1(snetence_id, text): def chulipangban_test_1(snetence_id, text):
# 引号处理 # 引号处理
@ -237,6 +250,13 @@ def batch_predict(batch_data_list):
return batch_data_list_new return batch_data_list_new
def is_chinese(char):
if '\u4e00' <= char <= '\u9fff':
return True
else:
return False
def predict_data_post_processing(text_list): def predict_data_post_processing(text_list):
text_list_sentence = [] text_list_sentence = []
# text_list_sentence.append([text_list[0][0], text_list[0][1]]) # text_list_sentence.append([text_list[0][0], text_list[0][1]])
@ -290,6 +310,8 @@ def post_sentence_ulit(sentence, text_info):
sentence = sentence[sentence_lable_index + 4:] sentence = sentence[sentence_lable_index + 4:]
if sentence[-1] == "\n": if sentence[-1] == "\n":
sentence = sentence[:-1] sentence = sentence[:-1]
else: else:
sentence = text_info[0] sentence = text_info[0]
return sentence return sentence
@ -304,9 +326,14 @@ def pre_sentence_ulit(sentence):
sentence = str(sentence).strip() sentence = str(sentence).strip()
if_change = True if_change = True
if len(sentence) > 9: if len(sentence) > 9:
text = "You are a helpful assistant.\n\nUser:改写下面这句话,要求意思接近但是改动幅度比较大,字数只能多不能少:\n{}\nAssistant:".format(sentence)
if sentence[-1] != "":
text = f"User:改写下面这段文字,要求意思接近但是改动幅度比较大,字数只能多不能少,短句前后词跟上下句衔接不能有错误,并且如果结尾有标点符号,标点不能改变,如果结尾没有标点符号,不能擅自添加标点符号:\n{sentence}\nAssistant:"
else: else:
text = "You are a helpful assistant.\n\nUser:下面词不做任何变化:\n{}\nAssistant:".format(sentence) text = f"User:改写下面这句话,要求意思接近但是改动幅度比较大,字数只能多不能少:\n{sentence}\nAssistant:"
else:
text = f"下面词不做任何变化:\n{sentence}"
if_change = False if_change = False
return text, if_change return text, if_change
@ -361,20 +388,42 @@ def main(texts: dict):
## ==================================================================== ## ====================================================================
# input_data = []
# for i in range(len(text_sentence)):
# input_data.append([chatgpt_url, {"texts": text_sentence[i]}])
#
# with concurrent.futures.ThreadPoolExecutor() as executor:
# # 使用submit方法将任务提交给线程池,并获取Future对象
# futures = [executor.submit(dialog_line_parse, i[0], i[1]) for i in input_data]
#
# # 使用as_completed获取已完成的任务,并获取返回值
# results = [future.result() for future in concurrent.futures.as_completed(futures)]
#
# generated_text_list = []
# for dan in results:
# generated_text_list.append(dan["data"])
## ==============================================================================================
# urls = [
# [0, 'http://114.116.25.228:12000/predict', {'texts': '任务:改写句子\n改写下面这句话,要求意思接近但是改动幅度比较大,字数只能多不能少:\n中华苏维埃共和国时期的法律制度建设是中国共产党'}],
# [1, 'http://114.116.25.228:12000/predict', {'texts': '任务:改写句子\n改写下面这句话,要求意思接近但是改动幅度比较大,字数只能多不能少:\n革命道路的实践中,无数革命先辈用鲜血和生命铸就了以坚定信念、求真务实、一心为民、清正廉洁、艰苦奋斗、争创一流、无私奉献等为主要内涵的苏区精神,孕育了'}],
# [2, 'http://114.116.25.228:12000/predict', {'texts': '任务:改写句子\n改写下面这句话,要求意思接近但是改动幅度比较大,字数只能多不能少:\n年前的浙江枫桥干部群众创造了“依靠群众就地化解矛盾”的“枫桥经验”,并根据形势变化不断赋予新的内涵,已成为基层治理的'}],
# [3, 'http://114.116.25.228:12000/predict', {'texts': '任务:改写句子\n改写下面这句话,要求意思接近但是改动幅度比较大,字数只能多不能少:\n新时代,习近平总书记反复强调要坚持和发展新时代“枫桥经验”,加强和创新基层社会治理,切实把矛盾化解在基层,维护好社会稳定。'}],
# [4, 'http://114.116.25.228:12000/predict', {'texts': '任务:改写句子\n改写下面这句话,要求意思接近但是改动幅度比较大,字数只能多不能少:\n一是新时代“枫桥经验”对'}]
# ]
input_data = [] input_data = []
for i in range(len(text_sentence)): for i in range(len(text_sentence)):
input_data.append([url, {"texts": text_sentence[i]}]) input_data.append([i, chatgpt_url, {"texts": text_sentence[i]}])
with concurrent.futures.ThreadPoolExecutor() as executor: results = get_multiple_urls(input_data)
# 使用submit方法将任务提交给线程池,并获取Future对象
futures = [executor.submit(dialog_line_parse, i[0], i[1]) for i in input_data]
# 使用as_completed获取已完成的任务,并获取返回值 generated_text_list = [""] * len(input_data)
results = [future.result() for future in concurrent.futures.as_completed(futures)] for url, result in results:
# print(f"Result for {url}: {result}")
generated_text_list[url[0]] = result["data"]
generated_text_list = []
for dan in results:
generated_text_list.append(dan["data"])
for i in range(len(generated_text_list)): for i in range(len(generated_text_list)):
# if len(text_list[i][0]) > 7: # if len(text_list[i][0]) > 7:
@ -511,4 +560,4 @@ if __name__ == "__main__":
'%(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)s: %(message)s' '%(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)s: %(message)s'
# 日志格式 # 日志格式
) )
app.run(host="0.0.0.0", port=14002, threaded=True, debug=False) app.run(host="0.0.0.0", port=14008, threaded=True, debug=False)

2
redis_check_uuid_mistral.py

@ -89,4 +89,4 @@ def handle_query():
if __name__ == "__main__": if __name__ == "__main__":
app.run(debug=False, host='0.0.0.0', port=14003) app.run(debug=False, host='0.0.0.0', port=14009)

Loading…
Cancel
Save