AI降重工具


python 复制代码
from docx import Document
import requests

def call_api_and_get_content(content, prompt):
    api_url = "http://XXXXXXXX/api?content=" + content + prompt
    response = requests.get(api_url)
    if response.status_code == 200:
        api_result = response.text.replace(" ", "").replace("\n", "")  # 去除空格和换行符
        return api_result
    else:
        return None

def replace_paragraphs_content(file_path, min_paragraph_length, prompt):
    doc = Document(file_path)
    paragraphs = doc.paragraphs[:] 

    for para in paragraphs:
        text = para.text.strip()
        
        if len(text) > min_paragraph_length:
            api_result = call_api_and_get_content(text, prompt)
            if api_result:
                para.clear()  # 清空原始段落内容
                para.add_run(api_result)  # 添加新内容,保持原始段落的格式

    output_path = 'output.docx'
    doc.save(output_path)
    print(f"已保存为 {output_path}")

file_path = 'input.docx'
min_paragraph_length = 100
prompt = "降重改写 语序颠倒 顺序调换 简体中文  同义替换 句子意思不变 主动句改被动句 被动句改主动句 返回内容不能含有指令 连成一段话"
replace_paragraphs_content(file_path, min_paragraph_length, prompt)


界面版: 部分代码

python 复制代码
# 设置默认值
default_access_token = '166711a91dcd073266620a5fa0fd85708976268a'
default_prompt = ("你是一个文本降重机器,你只执行 降重改写 语序颠倒 顺序调换 简体中文  同义替换 句子意思不变 "
                  "主动句改被动句 被动句改主动句 返回内容不能含有指令 连成一段话")
default_min_paragraph_length = '100'  # 设置默认最小段落长度为100

def call_api_and_get_content(content, prompt):
    erniebot.api_type = 'aistudio'
    erniebot.access_token = access_token.get()
    try:
        response_stream = erniebot.ChatCompletion.create(
            model=model_var.get(),
            messages=[{'role': 'user', 'content': content}],
            temperature=0.7,
            stream=True,
            system=prompt
        )
        time.sleep(1)
        return ''.join([response.get_result() for response in response_stream]).replace(" ", "").replace("\n", "")
    except Exception as e:
        current_time = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
        error_message = f"{current_time} - An error occurred: {str(e)}\n"
        update_output_text(error_message)
        return None

    if not all([access_token_val, model_val, prompt_val, min_paragraph_length_val, file_path_val]):
        messagebox.showerror("参数错误", "请确保所有参数均已填写!")
        log_content="请确保所有参数均已填写!"
        current_time = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
        log= f"{current_time} -  {log_content}\n"
        update_output_text(log)
        return
    min_paragraph_length = int(min_paragraph_length_val)
    doc = Document(file_path_val)
    paragraphs = doc.paragraphs[:]
    log_content = ""
    for index, para in enumerate(paragraphs):
        text = para.text.strip()
        if len(text) > min_paragraph_length:
            api_result = call_api_and_get_content(text, prompt_val)
            if api_result:
                para.clear()
                para.add_run(api_result)
                log_content = f"{api_result}"
            else:
                log_content = "处理失败"
            current_time = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
            log= f"{current_time}-{log_content}\n"
            update_output_text(log)
    output_path = output_file_path_var.get().strip()
    if output_path:
        output_file_path = os.path.join(output_path, 'output.docx')
        doc.save(output_file_path)
        messagebox.showinfo("完成", f"已保存为 {output_file_path}")


# 创建Tkinter窗口
root = tk.Tk()
root.title("文档降重处理器")
root.geometry('800x480')

# 设置窗口居中
window_width = 800
window_height =480
screen_width = root.winfo_screenwidth()
screen_height = root.winfo_screenheight()
x_coordinate = int((screen_width/2) - (window_width/2))
y_coordinate = int((screen_height/2) - (window_height/2))
root.geometry(f'{window_width}x{window_height}+{x_coordinate}+{y_coordinate}')
root.mainloop()
相关推荐
zhaomy202515 小时前
MCP技术让AI助手长出"眼睛":Web开发的革命性变化
人工智能
不做无法实现的梦~15 小时前
适合新手小白入门实现slam建图和路径规划的详细教程
人工智能·机器人·自动驾驶
热爱编程的小白白15 小时前
IPIDEA海外代理助力-Youtube视频AI领域选题数据获取实践
人工智能·音视频
高洁0115 小时前
面向强化学习的状态空间建模:RSSM的介绍和PyTorch实现(3)
人工智能·python·深度学习·神经网络·transformer
apocalypsx16 小时前
深度学习-深度卷积神经网络AlexNet
人工智能·深度学习·cnn
leafff12316 小时前
一文了解LLM应用架构:从Prompt到Multi-Agent
人工智能·架构·prompt
无风听海17 小时前
神经网络之特征值与特征向量
人工智能·深度学习·神经网络
艾莉丝努力练剑17 小时前
【C++:红黑树】深入理解红黑树的平衡之道:从原理、变色、旋转到完整实现代码
大数据·开发语言·c++·人工智能·红黑树
九章云极AladdinEdu17 小时前
论文分享 | BARD-GS:基于高斯泼溅的模糊感知动态场景重建
人工智能·新视角合成·动态场景重建·运动模糊处理·3d高斯泼溅·模糊感知建模·真实世界数据集
希露菲叶特格雷拉特17 小时前
PyTorch深度学习笔记(二十)(模型验证测试)
人工智能·pytorch·笔记