update readme
This commit is contained in:
10
.idea/workspace.xml
generated
10
.idea/workspace.xml
generated
@@ -5,12 +5,8 @@
|
|||||||
</component>
|
</component>
|
||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="6b18b44a-df57-4212-a857-9e291ebe5dd2" name="更改" comment="">
|
<list default="true" id="6b18b44a-df57-4212-a857-9e291ebe5dd2" name="更改" comment="">
|
||||||
<change afterPath="$PROJECT_DIR$/filetranslate/decorator/time.py" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||||
<change afterPath="$PROJECT_DIR$/filetranslate/translater.py" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/README.md" 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" />
|
|
||||||
</list>
|
</list>
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||||
@@ -306,7 +302,7 @@
|
|||||||
<workItem from="1746588383790" duration="2614000" />
|
<workItem from="1746588383790" duration="2614000" />
|
||||||
<workItem from="1746593417117" duration="25924000" />
|
<workItem from="1746593417117" duration="25924000" />
|
||||||
<workItem from="1746626070703" duration="7931000" />
|
<workItem from="1746626070703" duration="7931000" />
|
||||||
<workItem from="1746669839816" duration="13724000" />
|
<workItem from="1746669839816" duration="16840000" />
|
||||||
</task>
|
</task>
|
||||||
<servers />
|
<servers />
|
||||||
</component>
|
</component>
|
||||||
|
|||||||
83
README.md
83
README.md
@@ -1,5 +1,5 @@
|
|||||||
# FileTranslate
|
# FileTranslate
|
||||||
## 一个使用llm翻译pdf和markdown的包
|
## 一个使用大预言模型(llm)翻译pdf和markdown的包
|
||||||
|
|
||||||
# 安装
|
# 安装
|
||||||
## 使用pip
|
## 使用pip
|
||||||
@@ -7,16 +7,77 @@
|
|||||||
## 使用uv
|
## 使用uv
|
||||||
`uv add filetranslate`
|
`uv add filetranslate`
|
||||||
|
|
||||||
|
# 前置条件(获取大模型平台的baseurl、key、model-id)
|
||||||
|
由于需要使用大语言模型进行markdown调整与翻译,所以需要预先获取模型的baseurl、key、model-id
|
||||||
|
常见的大模型平台baseurl可见[常用baseurl](#常用baseurl)
|
||||||
|
|
||||||
# 使用方式
|
# 使用方式
|
||||||
## 翻译pdf文件
|
## 使用默认参数翻译pdf
|
||||||
```python
|
```python
|
||||||
import
|
from filetranslate.translater import FileTranslater
|
||||||
translater = FileTranslater(base_url="https://open.bigmodel.cn/api/paas/v4",
|
|
||||||
key="969ba51b61914cc2b710d1393dca1a3c.hSuATex5IoNVZNGu",
|
#不开启公式、代码识别
|
||||||
model_id="glm-4-flashx",
|
FileTranslater(base_url="<baseurl>",key="<key>",model_id="<model-id>").translate_pdf_file("<pdf路径>",to_lang="中文")
|
||||||
chunksize=4000,
|
|
||||||
max_concurrent=40)
|
#开启公式、代码识别(需要下载更多模型)
|
||||||
translater.read_markdown(
|
FileTranslater(base_url="<baseurl>",key="<key>",model_id="<model-id>").translate_pdf_file("<pdf路径>",to_lang="中文",formula=True,code=True)
|
||||||
markdown_path=r"/filetranslate\output\互联网认证授权机制.md")
|
|
||||||
translater.save_as_html()
|
|
||||||
```
|
```
|
||||||
|
> 第一次使用时需要下载模型(约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 |
|
||||||
Reference in New Issue
Block a user