update readme

This commit is contained in:
xunbu
2025-05-08 15:12:55 +08:00
parent 41bd1e8945
commit be5d84eb15
2 changed files with 76 additions and 19 deletions

10
.idea/workspace.xml generated
View File

@@ -5,12 +5,8 @@
</component>
<component name="ChangeListManager">
<list default="true" id="6b18b44a-df57-4212-a857-9e291ebe5dd2" name="更改" comment="">
<change afterPath="$PROJECT_DIR$/filetranslate/decorator/time.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/filetranslate/translater.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/filetranslate/utils/__init__.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/filetranslate/utils/agent_utils.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/filetranslate/utils/markdown_splitter.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/filetranslate/utils/markdown_utils.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/README.md" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -306,7 +302,7 @@
<workItem from="1746588383790" duration="2614000" />
<workItem from="1746593417117" duration="25924000" />
<workItem from="1746626070703" duration="7931000" />
<workItem from="1746669839816" duration="13724000" />
<workItem from="1746669839816" duration="16840000" />
</task>
<servers />
</component>

View File

@@ -1,5 +1,5 @@
# FileTranslate
## 一个使用llm翻译pdf和markdown的包
## 一个使用大预言模型(llm)翻译pdf和markdown的包
# 安装
## 使用pip
@@ -7,16 +7,77 @@
## 使用uv
`uv add filetranslate`
# 前置条件获取大模型平台的baseurl、key、model-id
由于需要使用大语言模型进行markdown调整与翻译所以需要预先获取模型的baseurl、key、model-id
常见的大模型平台baseurl可见[常用baseurl](#常用baseurl)
# 使用方式
## 翻译pdf文件
## 使用默认参数翻译pdf
```python
import
translater = FileTranslater(base_url="https://open.bigmodel.cn/api/paas/v4",
key="969ba51b61914cc2b710d1393dca1a3c.hSuATex5IoNVZNGu",
model_id="glm-4-flashx",
chunksize=4000,
max_concurrent=40)
translater.read_markdown(
markdown_path=r"/filetranslate\output\互联网认证授权机制.md")
translater.save_as_html()
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分别进行文本修正和翻译
```python
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
```python
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文件
```python
translater.translate_pdf_file(r"<要翻译的pdf路径>",
to_lang="中文",
formula=False,#是否启用公式识别
code=False,#是否启用代码识别
refine=True,#是否在翻译前先修正markdown文本
output_format="markdown",#"markdown"与"html"两种输出格式
output_dir="./output"#默认输出文件夹
)
```
### 翻译markdown文件
```python
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 |