Skip to main content

能翻译pdf和markdown的工具

Project description

简介

DocuTranslate

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

github主页

安装

使用pip
pip install docutranslate

使用uv
uv init
uv add docutranslate

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

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

比较推荐的模型有阿里云的qwen-plus、智谱的glm-4-air、glm-z1-flash等。免费的智谱glm-4-flash能用但效果欠佳(2025.5)

使用方式

翻译文件

from docutranslate.translater import FileTranslater


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

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

#翻译markdown文件
translater.translate_markdown_file("<markdown路径>",to_lang="中文")

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

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

from docutranslate 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)

文件转换(pdf/markdown->markdown/html)

from docutranslate import FileTranslater
translater=FileTranslater(base_url="<baseurl>", 
               key="<key>", 
               model_id="<model-id>")
#markdown转html
translater.read_markdown("<markdown路径>").save_as_html()
#pdf转markdown
translater.read_pdf_as_markdown("<pdf路径>").save_as_markdown()

参数说明

创建FileTranslate

from docutranslate import FileTranslater

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

翻译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"#默认输出文件夹
                                    )

常用ai平台

平台名称 获取APIkey baseurl
ollama http://127.0.0.1:11434/v1
lm studio http://127.0.0.1:1234/v1
openrouter 点击获取 https://openrouter.ai/api/v1
openai 点击获取 https://api.openai.com/v1/
deepseek 点击获取 https://api.deepseek.com/v1
智谱ai 点击获取 https://open.bigmodel.cn/api/paas/v4
腾讯混元 点击获取 https://api.hunyuan.cloud.tencent.com/v1
阿里云百炼 点击获取 https://dashscope.aliyuncs.com/compatible-mode/v1
火山引擎 点击获取 https://ark.cn-beijing.volces.com/api/v3
硅基流动 点击获取 https://api.siliconflow.cn/v1

Project details


Release history Release notifications | RSS feed

This version

0.0.8

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

docutranslate-0.0.8.tar.gz (13.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

docutranslate-0.0.8-py3-none-any.whl (13.2 kB view details)

Uploaded Python 3

File details

Details for the file docutranslate-0.0.8.tar.gz.

File metadata

  • Download URL: docutranslate-0.0.8.tar.gz
  • Upload date:
  • Size: 13.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.14

File hashes

Hashes for docutranslate-0.0.8.tar.gz
Algorithm Hash digest
SHA256 4482754dabcefadec00b7f021cf40c0f9f1ddb739dca92d3e5b9837c5b7677d7
MD5 1610802d4fd297fc89954d661e03441c
BLAKE2b-256 69f7f4f6e3f5212d4fd310c507b0662e865d7c453f5f55931cdb0d1ea5f7488a

See more details on using hashes here.

File details

Details for the file docutranslate-0.0.8-py3-none-any.whl.

File metadata

File hashes

Hashes for docutranslate-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 e97e0dfa50af2d2233348881bb9c7e7ac50ff7d17ea16975716e33845e50f1bf
MD5 a7790ab407ff9e59ed6a59aa8b1bdaf4
BLAKE2b-256 c6c0427b806b34170ef17bdb12270a4ec8eb2670e89550211bfc34c63a430cd6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page