零代码编程:用通义千问免费批量翻译英文文档

首先,在阿里云的dashScope灵积模型服务中,申请一个API-key,有挺多免费token的。

然后,在通义千问中输入提示词:

你是一个Python编程专家,现在要完成一个编写基于qwen-turbo模型API和dashscope库的程序脚本,具体步骤如下:

打开文件夹:D:\AR

获取里面所有的txt文档;

读取txt文件内容;

将每个txt文件的内容作为输入,并在调用API时附加提示语“翻译成中文”,API Key为:XXX ,model为qwen-turbo;

接收API返回的结果,并将其保存到在同一文件夹中,文件标题名为原txt文件标题名加上“总结”,文档格式为txt文档;

注意:

每一步都要打印相关的信息;

根据API的限流和请求要求,合理安排任务的发送频率,避免触发API的速率限制;

要有错误处理和调试信息,这有助于找出问题所在;

请求的输入长度范围应当在[1, 6000]之间,如果超长,需要对TXT内容进行截断,使其不超过6000个字符,然后再发送至API。

在读取文件时跳过那些以"_总结.txt"结尾的文件,避免递归地处理同一个文件夹下的所有文件,包括已经生成的总结文件。

qwen-turbo模型API的使用方法,请参照下面这个例子:

from http import HTTPStatus

import dashscope

def sample_sync_call():

prompt_text = '用萝卜、土豆、茄子做饭,给我个菜谱。'

resp = dashscope.Generation.call(

model='qwen-turbo',

prompt=prompt_text

)

# The response status_code is HTTPStatus.OK indicate success,

# otherwise indicate request is failed, you can get error code

# and message from code and message.

if resp.status_code == HTTPStatus.OK:

print(resp.output) # The output text

print(resp.usage) # The usage information

else:

print(resp.code) # The error code.

print(resp.message) # The error message.

sample_sync_call()

运行程序后发现几个错误:

首先,prompt=content,这里不对, prompt应该是“翻译成中文”

其次,程序在递归地处理同一个文件夹下的所有文件,包括已经生成的总结文件

让通义千问进行修改,最终修改后的Python代码如下:

import os

import time

from typing import List

from http import HTTPStatus

import dashscope

# API Key

API_KEY = "XXX"

# 遍历文件夹获取txt文件

def get_txt_files(directory: str) -> List[str]:

txt_files = []

for root, dirs, files in os.walk(directory):

txt_files.extend([

os.path.join(root, file)

for file in files

if file.endswith('.txt') and not file.endswith('_总结.txt')

])

return txt_files

# 读取txt文件内容,截断过长的内容

def read_and_truncate_file(file_path: str) -> str:

with open(file_path, 'r', encoding='utf-8') as f:

content = f.read()

if len(content) > 6000:

print(f"原始文件内容超过6000字符,已截断至前6000个字符:{file_path}")

content = content[:6000]

return content

# 使用API翻译并保存结果

def translate_and_save(file_path: str, content: str):

try:

# 在内容前添加“翻译成中文”的提示语

prompt_text = "翻译成中文:" + content

if len(prompt_text) > 6000:

print(f"原始文件内容与提示语组合后超过6000字符,已截断至前6000个字符:{file_path}")

prompt_text = prompt_text[:6000]

resp = dashscope.Generation.call(

model='qwen-turbo',

prompt=prompt_text,

api_key=API_KEY

)

if resp.status_code == HTTPStatus.OK:

output_text = str(resp.output)

summary_file_path = os.path.splitext(file_path)[0] + "_总结.txt"

with open(summary_file_path, 'w', encoding='utf-8') as f:

f.write(output_text)

print(f"成功获取翻译结果并保存至:{summary_file_path}")

print(f"使用信息:{resp.usage}")

else:

print(f"请求失败,错误代码:{resp.code},错误信息:{resp.message}")

except Exception as e:

print(f"处理文件 {file_path} 时遇到错误:{str(e)}")

def main():

directory = "D:\\AR"

txt_files = get_txt_files(directory)

for file_path in txt_files:

content = read_and_truncate_file(file_path)

print(f"正在处理文件:{file_path}...")

time.sleep(1) # 模拟控制请求频率,实际请根据API限流要求调整间隔时间

translate_and_save(file_path, content)

if __name__ == "__main__":

main()

修改后的程序,运行成功。

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

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

相关文章

基于Spring Boot的校园疫情防控系统设计与实现

基于Spring Boot的校园疫情防控系统设计与实现 开发语言:Java框架:springbootJDK版本:JDK1.8数据库工具:Navicat11开发软件:eclipse/myeclipse/idea 系统部分展示 管理员登录首页界面图,管理员进入校园疫…

liceo靶机复现

liceo-hackmyvm 靶机地址:https://hackmyvm.eu/machines/machine.php?vmLiceo 本机环境:NAT模式下,使用VirtualBox 信息收集: 首先局域网内探测靶机IP 发现IP为10.0.2.4 开启nmap扫描一下看看开了什么端口 扫描期间看一下web页…

llamaindex 分成检索 实现 多文档 RAG架构

llamaindex 分成检索 实现 多文档 RAG架构 分成检索多文档 RAG 架构智能文档检索与选择系统精细化分析,具体到点的作用 怎么用llamaindex,建立这样的自动文档检索系统?步骤一:准备数据步骤二:建立自动检索器步骤三&…

ElasticSearch教程入门到精通——第一部分(基于ELK技术栈elasticsearch 8.x新特性)

ElasticSearch教程入门到精通——第一部分(基于ELK技术栈elasticsearch 8.x新特性) 1. ElasticSearch安装(略)2. ElasticSearch基础功能2.1 索引操作2.1.1 创建索引2.1.2 Head 索引2.1.3 查询索引2.1.3.1 查询单独索引2.1.3.2 查询…

JAVA面试题---WEB部分

网络通讯 TCP与UDP TCP(Transmission Control Protocol 传输控制协议)是一种面向连接(连接导向)的、 可靠的、 基于 IP 的传输层协议。 UDP 是 User Datagram Protocol 的简称,中文名是用户数据报协议,是 OSI 参考模 型中的传输层协议,它是…

利用PDAL2.7.1 实现点云滤波

利用PDAL2.7.1 实现点云滤波 本文介绍利用PDAL实现点云滤波方法,包含pipeline命令行运行、C代码两种方法,C代码分别介绍对点云文件进行滤波、点云全部在内存中进行滤波的pdal两种调用方法。并简单探究pdal的设计结构。 目录 1 pipeline命令调用方法2 文…

数字身份管理:Facebook如何利用区块链技术?

随着数字化进程的加速,个人身份管理已成为一个关键议题。在这方面,区块链技术正在逐渐展现其巨大潜力。作为全球最大的社交媒体平台,Facebook也在积极探索和应用区块链技术来改进其数字身份管理系统。本文将深入探讨Facebook如何利用区块链技…

python3基础算法题1

需求 求出一个字符串中最后一个单词长度? 代码 # 找出一个字符串中最后一个单词的长度 class Solution:def lengthOfLastWord(self, s: str) -> int:listOfWords s.strip().split(" ")return int(len(listOfWords[-1]))测试代码 import class1print(class1.…

Windows Server 安全策略配置

前言 Windows Server是由微软开发的一种操作系统,主要用于在企业或机构的服务器上运行。它提供了一系列的功能和工具,旨在提高服务器的性能、可靠性、安全性和管理性。 特点 强大的性能:Windows Server具有高度优化的内核和资源管理&#x…

LT6911UXB HDMI2.0 至四端口 MIPI DSI/CSI,带音频 龙迅方案

1. 描述LT6911UXB 是一款高性能 HDMI2.0 至 MIPI DSI/CSI 转换器,适用于 VR、智能手机和显示应用。HDMI2.0 输入支持高达 6Gbps 的数据速率,可为4k60Hz视频提供足够的带宽。此外,数据解密还支持 HDCP2.2。对于 MIPI DSI / CSI 输出&#xff0…

安卓四大组件之ContentProvider

目录 前言一、ContentProvider基础介绍1.1 简介1.2 作用1.3 实现原理 二、具体使用2.1 统一资源标识符(URI)2.2 MIME数据类型2.2.1 MIME类型组成2.2.2 常见的MIME类型2.2.3 ContentProvider根据 URI 返回MIME类型2.2.4 类型分类2.2.5 示例 2.3 ContentPr…

7个AI工具助力产品管理提升

大家好,人工智能AI技术不断进步,AI在产品管理领域的应用也日益广泛。AI以辅助者的角色助力提升产品优化流程的效率,同时激发创新,是不可或缺的强大伙伴。本文将介绍七个AI工具,旨在自动化产品管理者的日常工作流程&…

深度学习中的归一化:BN,LN,IN,GN的优缺点

目录 深度学习中归一化的作用常见归一化的优缺点 深度学习中归一化的作用 加速训练过程 归一化可以加速深度学习模型的训练过程。通过调整输入数据的尺度,归一化有助于改善优化算法的收敛速度。这是因为归一化后的数据具有相似的尺度,使得梯度下降等优化…

私有开源LLM实例的三个考虑因素

原文地址:three-considerations-for-private-open-source-llm-instances 2024 年 4 月 29 日 在生产应用中使用商业 LLM APIs 会带来明确且经过充分研究的风险。因此,企业越来越多地转向利用开源的私有托管LLM实例,并通过RAG技术进行增强。 介…

MySQL慢SQL优化方案汇总

⛰️个人主页: 蒾酒 🔥系列专栏:《mysql经验总结》 目录 写在前面 优化思路 避免查询不必要的列 分页优化 索引优化 JOIN优化 排序优化 UNION 优化 写在最后 写在前面 本文介绍了MySQL常见的优化慢sql的手段,坚持看完相信对你…

The Role of Subgroup Separability in Group-Fair Medical Image Classification

文章目录 The Role of Subgroup Separability in Group-Fair Medical Image Classification摘要方法实验结果 The Role of Subgroup Separability in Group-Fair Medical Image Classification 摘要 研究人员调查了深度分类器在性能上的差异。他们发现,分类器将个…

phpstudy 搭建 upload-labs 文件上传靶场

phpstudy 搭建靶场:下载安装好phpstudy后,下载靶场源码: upload-labs下载地址: https://github.com/c0ny1/upload-labs 下载完压缩文件,解压文件,解压后的文件夹命名为upload--labs 将解压后到文件夹放…

JavaFX创建桌面应用exe文件以及SceneBuilder使用讲解

文章目录 1 JavaFX1.1 引言1.2 简单使用1.2.1 搭建项目1.2.2 fxml文件1.2.3 生成exe文件 1.3 Idea中集成SceneBuilder1.4 注解讲解1.4.1 FXMLController1.4.2 FXML1.4.3 FXMLLoaderParameters1.4.4 FXMLProperty 1.5 SceneBuilder1.5.1 添加组件ControlsFX1.5.1.1页面展示 1.5.…

安装英伟达nvidia p4计算卡驱动@FreeBSD14

FreeBSD也能跑cuda AI训练拉! 在FreeBSD安装好pytorch和飞桨cpu版本后,尝试安装英伟达nvidia p4计算卡驱动。毕竟全靠cpu速度太慢了,还是GPU快啊!在磕磕绊绊几天后,终于成功成功安装好nvidia p4的cuda驱动&#xff0c…

细说SVPWM原理及软件实现原理,关联PWM实现

细说SVPWM原理及软件实现原理,关联PWM实现 文章目录 细说SVPWM原理及软件实现原理,关联PWM实现1. 前言2. 基础控制原理回顾2.1 FOC 原理回顾2.2 细说 SVPWM2.2.1 矢量扇区计算2.2.2 矢量作用时间计算 2.2.3 如何理解 U4 U6 2/3Udc?2.2.4 如何理解 U4m…