- 楼主
- #1
分享一个调用大模型翻译的脚本。 #5174
快来注册!
*即使不注册, DCC也会展示所有知识性和分享内容
- 楼主
- #2
https://disk.monika.love/s/jWmTb
脚本发在了莫盘。
我使用的依赖:openai==1.61.1 tenacity==9.0.0 tqdm==4.67.1。版本不是必须这几个的,只是我恰好用了这几个版本,然后又没有测试其他版本。
python在3.12.8和3.13.2的环境下都使用过,可以正常运行。其他版本也可以尝试使用,我没做测试,不能保证能跑起来。
- 楼主
- #3
- 已编辑
使用准备:一个兼容openai的大模型api密钥。
我准备的是阿里的deepseek-v3模型,实际上r1模型效果更好,但由于推理模型消耗的token更多,所有没有使用。需要的可以自己调用,r1模型实测效果更好。
获取方式,去提供大模型服务的公司网页注册,一般都会有免费送的token额度。正常来说翻译一些文本是够了。例如阿里送的是deepseek-v3和r1模型的各1000万token(一个标点符号,一个数字,一个词都会使用一个token)。以及自己几乎所有模型每个100万token。
为免广告嫌疑。不提供注册教程。
- 楼主
- #4
- 楼主
- #5
- 楼主
- #6
- #7
- 已编辑
依赖你可以pip freeze > requirements.txt
一下
然后, 你apikey没打码
- 楼主
- #8
脚本翻译是针对目录的,也就是在input_directory输入的是目录,而非指定的文件。脚本会检测目录下所有非隐藏的文件,读取后切成30行每块,每块会发送一个请求到api。然后等待api返回信息,所有块都返回完毕后,把每块返回的内容按顺序拼接起来。在输出目录创建同名文件保存。(若该目录存在同名文件,则会跳过该文件)
简单说,上面一行填需要翻译的文件在的目录,下面一行填输出的位置,然后启动脚本就行了,脚本会自动扫描并翻译目录下所有文件。输出的文件与输入的文件同名。
- 楼主
- #9
- 楼主
- #10
- 楼主
- #11
- 楼主
- #12
- 楼主
- #13
#7 Edge 演示用的api_key是乱编的。
我用的环境比较乱,里面有一些无关的包。
- 楼主
- #14
- 楼主
- #15
今天抽空手动处理翻译好的文件的时候,有点厌倦了反复对比恢复格式。做了个小工具来简化流程。
具体来说,需要有mod文件的译文和原文。它会检查两者各有多少个被“”围住的字符串,也就是一般情况需要翻译的部分,如果数量相同,就会提取译文所有在“”内的文本,按顺序放在原文的位置上。第一个译文到第一块原文的位置,依次类推。
在译文稍加处理后(去掉可能存在的重复段落,或者“”被改为「」这种有相似功能的符号),基本上可以正常运行。一次性恢复原格式。
注意,若译文顺序颠倒错乱,就算使用了也还是颠倒错乱的。但一般大模型返回的文件应该不会有这种问题。大多数情况只是缩进和换行错了。
使用方式为终端:python rpy格式修复.py 原文件 翻译文件 输出文件。记得加路径。
- 楼主
- #16