能翻译pdf和markdown的软件
Project description
简介
DocuTranslate
一个使用大语言模型(llm)翻译pdf和markdown的包
安装
使用pip
pip install docutranslate
使用uv
uv init
uv add docutranslate
前置条件(获取大模型平台的baseurl、key、model-id)
由于需要使用大语言模型进行markdown调整与翻译,所以需要预先获取模型的baseurl、key、model-id
常见的大模型平台baseurl与api获取方式可见常用ai平台
使用方式
翻译文件
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
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.3.tar.gz
(12.4 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file docutranslate-0.0.3.tar.gz.
File metadata
- Download URL: docutranslate-0.0.3.tar.gz
- Upload date:
- Size: 12.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
55c14343e35122c6f3cd15c163d46dd802fce3f612e49a14d4db57d8a5f5fac3
|
|
| MD5 |
7506380839a315714e2bbb81167f693a
|
|
| BLAKE2b-256 |
b7119854a3e2c88ee149244e141cffc343ca01fdf9ace45e711d8af3ffdfb678
|
File details
Details for the file docutranslate-0.0.3-py3-none-any.whl.
File metadata
- Download URL: docutranslate-0.0.3-py3-none-any.whl
- Upload date:
- Size: 12.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
da44d3f4d4d8a9c850b9430a4acd777313c2d802f2471eda9eaf0b116b53d42e
|
|
| MD5 |
deb0689340448891711cab33382b67df
|
|
| BLAKE2b-256 |
3d37b159d0ab4f226597462d5033e7bb2b65cb5037150169c28a89b6c2c2a408
|