2025-05-08 15:32:50 +08:00
2025-05-08 15:32:50 +08:00
2025-05-08 14:28:15 +08:00
2025-05-08 14:28:15 +08:00
2025-05-08 14:28:15 +08:00
2025-05-08 14:28:15 +08:00
2025-05-08 15:32:50 +08:00
2025-05-08 14:28:15 +08:00

简介

FileTranslate

一个使用大预言模型(llm)翻译pdf和markdown的包

github主页

安装

使用pip
pip install filetranslate

使用uv
uv add filetranslate

前置条件获取大模型平台的baseurl、key、model-id

由于需要使用大语言模型进行markdown调整与翻译所以需要预先获取模型的baseurl、key、model-id
常见的大模型平台baseurl可见常用baseurl

使用方式

使用默认参数翻译pdf

from filetranslate.translater import FileTranslater

#不开启公式、代码识别
FileTranslater(base_url="<baseurl>",key="<key>",model_id="<model-id>").translate_pdf_file("<pdf路径>",to_lang="中文")

#开启公式、代码识别(需要下载更多模型)
FileTranslater(base_url="<baseurl>",key="<key>",model_id="<model-id>").translate_pdf_file("<pdf路径>",to_lang="中文",formula=True,code=True)

第一次使用时需要下载模型约1G、使用公式、代码识别需要多约0.5G),请稍作等待
输出文件默认放在./output

使用不同的agent分别进行文本修正和翻译

from filetranslate.translater import FileTranslater

translater = FileTranslater()

refine_agent=translater.create_refine_agent(baseurl="<baseurl-1>",key="<key-1>",model_id="<model-id-1>")
translate_agent=translater.create_translate_agent(baseurl="<baseurl-2>",key="<key-2>",model_id="<model-id-2>")

translater.translate_pdf_file(pdf_path="<pdf路径>",to_lang="中文",refine_agent=refine_agent,translate_agent=translate_agent)

参数说明

创建FileTranslate

from filetranslate.translater import FileTranslater

translater = FileTranslater(base_url="<baseurl>",
                            key="<key>",
                            model_id="<model-id>",#使用的模型id
                            chunksize=4000,#【可选】markdown分块长度分块越大效果越好不建议超过4096
                            max_concurrent=6#【可选】并发数受到ai平台并发量限制
                            )

翻译pdf文件

translater.translate_pdf_file(r"<要翻译的pdf路径>",
                              to_lang="中文",
                              formula=False,#是否启用公式识别
                              code=False,#是否启用代码识别
                              refine=True,#是否在翻译前先修正markdown文本
                              output_format="markdown",#"markdown"与"html"两种输出格式
                              output_dir="./output"#默认输出文件夹
                              )

翻译markdown文件

translater.translate_markdown_file(r"<要翻译的markdown路径>",
                                    to_lang="中文",
                                    refine=False,#【可选】是否在翻译前先修正markdown文本
                                    output_format="markdown",#"markdown"与"html"两种输出格式
                                    output_dir="./output"#默认输出文件夹
                                    )

常用baseurl

平台名称 baseurl
ollama http://127.0.0.1:11434/v1
lm studio http://127.0.0.1:1234/v1
openai https://api.openai.com/v1/
deepseek https://api.deepseek.com/v1
智谱ai https://open.bigmodel.cn/api/paas/v4
Description
华宝培训项目-翻译部分
Readme MPL-2.0 11 MiB
Languages
Python 68.3%
HTML 16.5%
CSS 15%
Dockerfile 0.1%