AI降重工具

news2024/11/16 5:45:02

WEB版 体验一下

在这里插入图片描述
在这里插入图片描述

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)

在这里插入图片描述
在这里插入图片描述

界面版: 部分代码

# 设置默认值
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()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1323493.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

搭建知识付费平台?明理信息科技为你提供全程解决方案

明理信息科技saas知识付费平台 在当今数字化时代,知识付费已经成为一种趋势,越来越多的人愿意为有价值的知识付费。然而,公共知识付费平台虽然内容丰富,但难以满足个人或企业个性化的需求和品牌打造。同时,开发和维护…

安装centos 7及配置网卡、连接Xshell

1.点击新建虚拟机 2.默认自定义 3.默认选择17版本的 4.选择稍后安装操作系统 5.选择Linux 6.选择安装目录和自定义名称,安装时尽量新建一个文件夹 7.根据电脑配置,自定义处理器大小,这里是建议配置 8.最少2个G 9.使用NAT 注: VMn…

智能优化算法应用:基于闪电连接过程算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于闪电连接过程算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于闪电连接过程算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.闪电连接过程算法4.实验参数设定…

pytorch中nn.Sequential详解

1 nn.Sequential概述 1.1 nn.Sequential介绍 nn.Sequential是一个序列容器,用于搭建神经网络的模块被按照被传入构造器的顺序添加到容器中。除此之外,一个包含神经网络模块的OrderedDict也可以被传入nn.Sequential()容器中。利用nn.Sequential()搭建好…

音视频技术开发周刊 | 324

每周一期,纵览音视频技术领域的干货。 新闻投稿:contributelivevideostack.com。 467亿参数MoE追平GPT-3.5!爆火开源Mixtral模型细节首公开,中杯逼近GPT-4 今天,Mistral AI公布了Mixtral 8x7B的技术细节,不…

Java精品项目源码新基于协同过滤算法的旅游推荐系统(编号V69)

Java精品项目源码新基于协同过滤算法的旅游推荐系统(编号V69) 大家好,小辰今天给大家介绍一个基于协同过滤算法的旅游推荐系统

java参数校验

引入依赖 <!--参数效验--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId></dependency><!--Length参数效验--><dependency><groupId>org.hib…

Golang(壹)

爱情不需要华丽的言语&#xff0c;只需要默默的行动。 简介 应用领域&#xff1a; 下载vscode 使用vscode Go下载 - Go语言中文网 - Golang中文社区 下载sdk 解压到文件中&#xff0c;打开sdk解压文件 穿插dos操作系统知识点&#xff1a; 测试go语言环境 看到vscode 的目录结…

[Win10系统] Win10 任务栏软件图标显示为空白 | 解决方案

文章目录 [Win10系统] Win10 任务栏软件图标显示为空白 | 解决方案前言产生错误的原因解决方案方法一&#xff1a;手动操作方法二&#xff1a;自动操作 总结 [Win10系统] Win10 任务栏软件图标显示为空白 | 解决方案 前言 有时候&#xff0c;我们在使用 Windows 10 系统时&…

深度学习环境配置------windows系统(GPU)------Pytorch

深度学习环境配置------windows系统&#xff08;GPU&#xff09;------Pytorch 准备工作明确操作系统明确显卡系列 CUDA和Cudnn下载与安装1.下载2.安装 环境配置过程1.安装Anacoda2.配置环境1&#xff09;创建一个新的虚拟环境2&#xff09;pytorch相关库的安装 2.安装VScode1&…

图片去除背景,无水印下载的六大免费平台!

随着人工智能技术的不断进步&#xff0c;越来越多的应用场景开始利用人工智能技术来提升用户体验。其中&#xff0c;AI去除图片背景是一项非常实用的功能。AIGCer尝试了多个平台&#xff0c;排除了很多有水印&#xff0c;需要付费&#xff0c;去除效果差等平台&#xff0c;为大…

[Verilog] 设计方法和设计流程

主页&#xff1a; 元存储博客 文章目录 1. 设计方法2. 设计流程 3 Vivado软件设计流程总结 1. 设计方法 Verilog 的设计多采用自上而下的设计方法&#xff08;top-down&#xff09;。设计流程是指从一个项目开始从项目需求分析&#xff0c;架构设计&#xff0c;功能验证&#…

Re解析(正则表达式解析)

正则表达式基础 元字符 B站教学视频&#xff1a; 正则表达式元字符基本使用 量词 贪婪匹配和惰性匹配 惰性匹配如下两张图&#xff0c;而 .* 就表示贪婪匹配&#xff0c;即尽可能多的匹配到符合的字符串&#xff0c;如果使用贪婪匹配&#xff0c;那么结果就是图中的情况三 p…

vue-springboot+java导师选择分配双选管理系统 0spy6

.2.3功能需求 本导师选择管理系统是为了提高用户查阅信息的效率和管理人员管理信息的工作效率&#xff0c;可以快速存储大量数据&#xff0c;还有信息检索功能&#xff0c;这大大的满足了学生、导师和管理员这三者的需求。操作简单易懂&#xff0c;合理分析各个模块的功能&…

凤凰架构之事务处理

目录 本地事务全局事务共享事务分布式事务可靠消息队列TCC事务SAGA事务 本地事务 本地事务是最基础的一种事务解决方案&#xff0c;只适用于单个服务使用单个数据源的场景。从应用角度看&#xff0c;它是直接依赖于数据源本身提供的事务能力来工作的&#xff0c;在程序代码层面…

石器时代H5小游戏架设教程

本文讲解石器时代 H5 之恐龙宝贝架设教程&#xff0c;想研究 H5 游戏如何实现&#xff0c;那请跟着此次教程学习在拥有小游戏源码的情况下该如何搭建起来 开始架设 1. 架设条件 石器时代架设需要准备&#xff1a; 一台linux 服务器&#xff0c;建议 CentOs 7.6 版本&#xf…

2023 英特尔On技术创新大会直播 |AI科技创新的引路者

英特尔大会 前言英特尔人工智能英特尔创新技术基于英特尔架构的科学计算总结 前言 英特尔技术创新大会是一个令人激动和启发的盛会。在这次大会上&#xff0c;我有幸观看了许多令人瞩目的科技创新和前沿技术的展示。这些展示不仅展示了英特尔作为科技巨头的实力&#xff0c;更…

告诉你playwright 不使用with sync_playwright() as编写脚本的新方法

大家都知道playwright代码的标准写法是&#xff1a; with sync_playwright() as p:browser p.chromium.launch(channel"chrome", headlessFalse)page browser.new_page()page.goto("http://www.baidu.com")print(page.title())browser.close() with sy…

Vue - 组件注册及其原理

1 Vue组件注册 Vue中注册组件的方式有两种&#xff1a;全局注册和局部注册。 2 局部注册 import HelloWorld from xxx/xxx export default {components: {HelloWorld} }3 全局注册 3.1 全局组件挂载 示例一&#xff1a; /** src/main.js */ // 表格动态列组件 import Dyn…

mysql 22day 对表格的增删改查、对数据的增删改查、对内容进行操作

目录 mysql 配置文件授权 远程链接 &#xff08;grant&#xff09;数据库操作创建库&#xff08;create&#xff09;切换数据库&#xff08;use&#xff09;查看当前所在库 表操作创建一张员工表查看表结构修改表名称增加字段修改字段名&#xff08;ALTER &#xff09;修改字段…