update
This commit is contained in:
62
README.md
62
README.md
@@ -239,24 +239,60 @@ async def translate_multiple():
|
|||||||
asyncio.run(translate_multiple())
|
asyncio.run(translate_multiple())
|
||||||
```
|
```
|
||||||
|
|
||||||
### Available Workflows (For Workflow API)
|
### Using Workflow API (For Advanced Control)
|
||||||
|
|
||||||
If you prefer more control, use the Workflow API directly. Here are the available workflows:
|
For more control, use the Workflow API directly. Each workflow follows the same pattern:
|
||||||
|
|
||||||
| Workflow | Applicable Scenarios | Input Formats | Output Formats | Core Configuration Class |
|
```python
|
||||||
|
# Pattern:
|
||||||
|
# 1. Create TranslatorConfig (LLM settings)
|
||||||
|
# 2. Create WorkflowConfig (workflow settings)
|
||||||
|
# 3. Create Workflow instance
|
||||||
|
# 4. workflow.read_path(file)
|
||||||
|
# 5. await workflow.translate_async()
|
||||||
|
# 6. workflow.save_as_*(name=...) or export_to_*(...)
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Available Workflows and Output Methods
|
||||||
|
|
||||||
|
| Workflow | Inputs | save_as_* | export_to_* | Key Config Options |
|
||||||
|:---|:---|:---|:---|:---|
|
|:---|:---|:---|:---|:---|
|
||||||
| **`MarkdownBasedWorkflow`** | Handles rich text documents like PDF, Word, images, etc. Flow: `File -> Markdown -> Translate -> Export`. | `.pdf`, `.docx`, `.md`, `.png`, `.jpg`, etc. | `.md`, `.zip`, `.html` | `MarkdownBasedWorkflowConfig` |
|
| **MarkdownBasedWorkflow** | `.pdf`, `.docx`, `.md`, `.png`, `.jpg` | `html`, `markdown`, `markdown_zip` | `html`, `markdown`, `markdown_zip` | `convert_engine`, `translator_config` |
|
||||||
| **`TXTWorkflow`** | Handles plain text documents. Flow: `txt -> Translate -> Export`. | `.txt` and other plain text formats | `.txt`, `.html` | `TXTWorkflowConfig` |
|
| **TXTWorkflow** | `.txt` | `txt`, `html` | `txt`, `html` | `translator_config` |
|
||||||
| **`JsonWorkflow`** | Handles JSON files. Flow: `json -> Translate -> Export`. | `.json` | `.json`, `.html` | `JsonWorkflowConfig` |
|
| **JsonWorkflow** | `.json` | `json`, `html` | `json`, `html` | `translator_config`, `json_paths` |
|
||||||
| **`DocxWorkflow`** | Handles docx files. Flow: `docx -> Translate -> Export`. | `.docx` | `.docx`, `.html` | `docxWorkflowConfig` |
|
| **DocxWorkflow** | `.docx` | `docx`, `html` | `docx`, `html` | `translator_config`, `insert_mode` |
|
||||||
| **`XlsxWorkflow`** | Handles xlsx files. Flow: `xlsx -> Translate -> Export`. | `.xlsx`, `.csv` | `.xlsx`, `.html` | `XlsxWorkflowConfig` |
|
| **XlsxWorkflow** | `.xlsx`, `.csv` | `xlsx`, `html` | `xlsx`, `html` | `translator_config`, `insert_mode` |
|
||||||
| **`SrtWorkflow`** | Handles srt files. Flow: `srt -> Translate -> Export`. | `.srt` | `.srt`, `.html` | `SrtWorkflowConfig` |
|
| **SrtWorkflow** | `.srt` | `srt`, `html` | `srt`, `html` | `translator_config` |
|
||||||
| **`EpubWorkflow`** | Handles epub files. Flow: `epub -> Translate -> Export`. | `.epub` | `.epub`, `.html` | `EpubWorkflowConfig` |
|
| **EpubWorkflow** | `.epub` | `epub`, `html` | `epub`, `html` | `translator_config`, `insert_mode` |
|
||||||
| **`HtmlWorkflow`** | Handles html files. Flow: `html -> Translate -> Export`. | `.html`, `.htm` | `.html` | `HtmlWorkflowConfig` |
|
| **HtmlWorkflow** | `.html`, `.htm` | `html` | `html` | `translator_config`, `insert_mode` |
|
||||||
|
| **AssWorkflow** | `.ass` | `ass`, `html` | `ass`, `html` | `translator_config` |
|
||||||
|
|
||||||
> In the interactive interface, you can also export to PDF format.
|
#### Key Configuration Options
|
||||||
|
|
||||||
### Example 1: Translate a PDF File (Using `MarkdownBasedWorkflow`)
|
**Common TranslatorConfig Options:**
|
||||||
|
|
||||||
|
| Option | Type | Default | Description |
|
||||||
|
|:---|:---|:---|:---|
|
||||||
|
| `base_url` | `str` | - | AI platform base URL |
|
||||||
|
| `api_key` | `str` | - | AI platform API key |
|
||||||
|
| `model_id` | `str` | - | Model ID |
|
||||||
|
| `to_lang` | `str` | - | Target language |
|
||||||
|
| `chunk_size` | `int` | 3000 | Text chunk size |
|
||||||
|
| `concurrent` | `int` | 10 | Concurrent requests |
|
||||||
|
| `temperature` | `float` | 0.3 | LLM temperature |
|
||||||
|
| `timeout` | `int` | 60 | Request timeout (seconds) |
|
||||||
|
| `retry` | `int` | 3 | Retry attempts |
|
||||||
|
|
||||||
|
**Format-Specific Options:**
|
||||||
|
|
||||||
|
| Option | Applicable Workflows | Description |
|
||||||
|
|:---|:---|:---|
|
||||||
|
| `insert_mode` | Docx, Xlsx, Html, Epub | `"replace"` (default), `"append"`, `"prepend"` |
|
||||||
|
| `json_paths` | Json | JSONPath expressions (e.g., `["$.*", "$.name"]`) |
|
||||||
|
| `separator` | Docx, Xlsx, Html, Epub | Text separator for append/prepend modes |
|
||||||
|
| `convert_engine` | MarkdownBased | `"mineru"` (default), `"docling"`, `"mineru_deploy"` |
|
||||||
|
|
||||||
|
#### Example 1: Translate a PDF File (Using `MarkdownBasedWorkflow`)
|
||||||
|
|
||||||
This is the most common use case. We will use the `minerU` engine to convert the PDF to Markdown, and then translate it using an LLM. This example uses asynchronous execution.
|
This is the most common use case. We will use the `minerU` engine to convert the PDF to Markdown, and then translate it using an LLM. This example uses asynchronous execution.
|
||||||
|
|
||||||
|
|||||||
62
README_JP.md
62
README_JP.md
@@ -239,24 +239,60 @@ async def translate_multiple():
|
|||||||
asyncio.run(translate_multiple())
|
asyncio.run(translate_multiple())
|
||||||
```
|
```
|
||||||
|
|
||||||
### 利用可能なワークフロー(Workflow API を使用)
|
### Workflow API の使用(高度な制御)
|
||||||
|
|
||||||
より精细な制御が必要な場合は、Workflow API を直接使用してください。以下は利用可能なワークフローです:
|
より精细な制御が必要な場合は、Workflow API を直接使用してください。すべてのワークフローは同じパターンに従います:
|
||||||
|
|
||||||
| ワークフロー | 適用シナリオ | 入力形式 | 出力形式 | コア設定クラス |
|
```python
|
||||||
|
# パターン:
|
||||||
|
# 1. TranslatorConfig を作成(LLM設定)
|
||||||
|
# 2. WorkflowConfig を作成(ワークフロー設定)
|
||||||
|
# 3. Workflow インスタンスを作成
|
||||||
|
# 4. workflow.read_path(ファイル)
|
||||||
|
# 5. await workflow.translate_async()
|
||||||
|
# 6. workflow.save_as_*(name=...) または export_to_*(...)
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 利用可能なワークフローと出力メソッド
|
||||||
|
|
||||||
|
| ワークフロー | 入力形式 | save_as_* | export_to_* | 主要設定オプション |
|
||||||
|:---|:---|:---|:---|:---|
|
|:---|:---|:---|:---|:---|
|
||||||
| **`MarkdownBasedWorkflow`** | PDF、Word、画像などのリッチテキストドキュメントを処理。フロー:`ファイル -> Markdown -> 翻訳 -> エクスポート`。 | `.pdf`, `.docx`, `.md`, `.png`, `.jpg` 等 | `.md`, `.zip`, `.html` | `MarkdownBasedWorkflowConfig` |
|
| **MarkdownBasedWorkflow** | `.pdf`, `.docx`, `.md`, `.png`, `.jpg` | `html`, `markdown`, `markdown_zip` | `html`, `markdown`, `markdown_zip` | `convert_engine`, `translator_config` |
|
||||||
| **`TXTWorkflow`** | プレーンテキストドキュメントを処理。フロー:`txt -> 翻訳 -> エクスポート`。 | `.txt` およびその他のテキスト形式 | `.txt`, `.html` | `TXTWorkflowConfig` |
|
| **TXTWorkflow** | `.txt` | `txt`, `html` | `txt`, `html` | `translator_config` |
|
||||||
| **`JsonWorkflow`** | JSONファイルを処理。フロー:`json -> 翻訳 -> エクスポート`。 | `.json` | `.json`, `.html` | `JsonWorkflowConfig` |
|
| **JsonWorkflow** | `.json` | `json`, `html` | `json`, `html` | `translator_config`, `json_paths` |
|
||||||
| **`DocxWorkflow`** | docxファイルを処理。フロー:`docx -> 翻訳 -> エクスポート`。 | `.docx` | `.docx`, `.html` | `docxWorkflowConfig` |
|
| **DocxWorkflow** | `.docx` | `docx`, `html` | `docx`, `html` | `translator_config`, `insert_mode` |
|
||||||
| **`XlsxWorkflow`** | xlsxファイルを処理。フロー:`xlsx -> 翻訳 -> エクスポート`。 | `.xlsx`, `.csv` | `.xlsx`, `.html` | `XlsxWorkflowConfig` |
|
| **XlsxWorkflow** | `.xlsx`, `.csv` | `xlsx`, `html` | `xlsx`, `html` | `translator_config`, `insert_mode` |
|
||||||
| **`SrtWorkflow`** | srtファイルを処理。フロー:`srt -> 翻訳 -> エクスポート`。 | `.srt` | `.srt`, `.html` | `SrtWorkflowConfig` |
|
| **SrtWorkflow** | `.srt` | `srt`, `html` | `srt`, `html` | `translator_config` |
|
||||||
| **`EpubWorkflow`** | epubファイルを処理。フロー:`epub -> 翻訳 -> エクスポート`。 | `.epub` | `.epub`, `.html` | `EpubWorkflowConfig` |
|
| **EpubWorkflow** | `.epub` | `epub`, `html` | `epub`, `html` | `translator_config`, `insert_mode` |
|
||||||
| **`HtmlWorkflow`** | htmlファイルを処理。フロー:`html -> 翻訳 -> エクスポート`。 | `.html`, `.htm` | `.html` | `HtmlWorkflowConfig` |
|
| **HtmlWorkflow** | `.html`, `.htm` | `html` | `html` | `translator_config`, `insert_mode` |
|
||||||
|
| **AssWorkflow** | `.ass` | `ass`, `html` | `ass`, `html` | `translator_config` |
|
||||||
|
|
||||||
> インタラクティブ画面ではPDF形式でのエクスポートも可能です。
|
#### 主要設定オプション
|
||||||
|
|
||||||
### 例 1: PDFファイルの翻訳 (`MarkdownBasedWorkflow` を使用)
|
**共通 TranslatorConfig オプション:**
|
||||||
|
|
||||||
|
| オプション | タイプ | デフォルト | 説明 |
|
||||||
|
|:---|:---|:---|:---|
|
||||||
|
| `base_url` | `str` | - | AI プラットフォームベース URL |
|
||||||
|
| `api_key` | `str` | - | AI プラットフォーム API キー |
|
||||||
|
| `model_id` | `str` | - | モデル ID |
|
||||||
|
| `to_lang` | `str` | - | ターゲット言語 |
|
||||||
|
| `chunk_size` | `int` | 3000 | テキストチャンクサイズ |
|
||||||
|
| `concurrent` | `int` | 10 | 同時リクエスト数 |
|
||||||
|
| `temperature` | `float` | 0.3 | LLM 温度 |
|
||||||
|
| `timeout` | `int` | 60 | リクエストタイムアウト(秒) |
|
||||||
|
| `retry` | `int` | 3 | 再試行回数 |
|
||||||
|
|
||||||
|
**フォーマット固有オプション:**
|
||||||
|
|
||||||
|
| オプション | 適用ワークフロー | 説明 |
|
||||||
|
|:---|:---|:---|
|
||||||
|
| `insert_mode` | Docx, Xlsx, Html, Epub | `"replace"`(デフォルト), `"append"`, `"prepend"` |
|
||||||
|
| `json_paths` | Json | JSONPath 式(例: `["$.*", "$.name"]`) |
|
||||||
|
| `separator` | Docx, Xlsx, Html, Epub | append/prepend モードのテキスト区切り文字 |
|
||||||
|
| `convert_engine` | MarkdownBased | `"mineru"`(デフォルト), `"docling"`, `"mineru_deploy"` |
|
||||||
|
|
||||||
|
#### 例 1: PDFファイルの翻訳 (`MarkdownBasedWorkflow` を使用)
|
||||||
|
|
||||||
これが最も一般的なユースケースです。`minerU` エンジンを使用して PDF を Markdown に変換し、その後 LLM を使用して翻訳します。ここでは非同期方式を例にします。
|
これが最も一般的なユースケースです。`minerU` エンジンを使用して PDF を Markdown に変換し、その後 LLM を使用して翻訳します。ここでは非同期方式を例にします。
|
||||||
|
|
||||||
|
|||||||
64
README_ZH.md
64
README_ZH.md
@@ -240,24 +240,60 @@ async def translate_multiple():
|
|||||||
asyncio.run(translate_multiple())
|
asyncio.run(translate_multiple())
|
||||||
```
|
```
|
||||||
|
|
||||||
### 可用工作流(使用 Workflow API)
|
### 使用 Workflow API(高级控制)
|
||||||
|
|
||||||
如果您需要更精细的控制,可以直接使用 Workflow API。以下是可用的工作流:
|
如需更精细的控制,可直接使用 Workflow API。所有工作流遵循相同模式:
|
||||||
|
|
||||||
| 工作流 | 适用场景 | 输入格式 | 输出格式 | 核心配置类 |
|
```python
|
||||||
|:----------------------------|:--------------------------------------------------------|:-----------------------------------------|:-----------------------|:------------------------------|
|
# 模式:
|
||||||
| **`MarkdownBasedWorkflow`** | 处理富文本文档,如PDF、Word、图片等。流程为:`文件 -> Markdown -> 翻译 -> 导出`。 | `.pdf`, `.docx`, `.md`, `.png`, `.jpg` 等 | `.md`, `.zip`, `.html` | `MarkdownBasedWorkflowConfig` |
|
# 1. 创建 TranslatorConfig(LLM 设置)
|
||||||
| **`TXTWorkflow`** | 处理纯文本文档。流程为:`txt -> 翻译 -> 导出`。 | `.txt` 及其他纯文本格式 | `.txt`, `.html` | `TXTWorkflowConfig` |
|
# 2. 创建 WorkflowConfig(工作流设置)
|
||||||
| **`JsonWorkflow`** | 处理json文件。流程为:`json -> 翻译 -> 导出`。 | `.json` | `.json`, `.html` | `JsonWorkflowConfig` |
|
# 3. 创建 Workflow 实例
|
||||||
| **`DocxWorkflow`** | 处理docx文件。流程为:`docx -> 翻译 -> 导出`。 | `.docx` | `.docx`, `.html` | `docxWorkflowConfig` |
|
# 4. workflow.read_path(文件)
|
||||||
| **`XlsxWorkflow`** | 处理xlsx文件。流程为:`xlsx -> 翻译 -> 导出`。 | `.xlsx`、`.csv` | `.xlsx`, `.html` | `XlsxWorkflowConfig` |
|
# 5. await workflow.translate_async()
|
||||||
| **`SrtWorkflow`** | 处理srt文件。流程为:`srt -> 翻译 -> 导出`。 | `.srt` | `.srt`, `.html` | `SrtWorkflowConfig` |
|
# 6. workflow.save_as_*(name=...) 或 export_to_*(...)
|
||||||
| **`EpubWorkflow`** | 处理epub文件。流程为:`epub -> 翻译 -> 导出`。 | `.epub` | `.epub`, `.html` | `EpubWorkflowConfig` |
|
```
|
||||||
| **`HtmlWorkflow`** | 处理html文件。流程为:`html -> 翻译 -> 导出`。 | `.html`, `.htm` | `.html` | `HtmlWorkflowConfig` |
|
|
||||||
|
|
||||||
> 在交互式界面中可以导出pdf格式
|
#### 可用工作流及输出方法
|
||||||
|
|
||||||
### 示例 1: 翻译一个 PDF 文件 (使用 `MarkdownBasedWorkflow`)
|
| 工作流 | 输入格式 | save_as_* | export_to_* | 关键配置选项 |
|
||||||
|
|:---|:---|:---|:---|:---|
|
||||||
|
| **MarkdownBasedWorkflow** | `.pdf`, `.docx`, `.md`, `.png`, `.jpg` | `html`, `markdown`, `markdown_zip` | `html`, `markdown`, `markdown_zip` | `convert_engine`, `translator_config` |
|
||||||
|
| **TXTWorkflow** | `.txt` | `txt`, `html` | `txt`, `html` | `translator_config` |
|
||||||
|
| **JsonWorkflow** | `.json` | `json`, `html` | `json`, `html` | `translator_config`, `json_paths` |
|
||||||
|
| **DocxWorkflow** | `.docx` | `docx`, `html` | `docx`, `html` | `translator_config`, `insert_mode` |
|
||||||
|
| **XlsxWorkflow** | `.xlsx`, `.csv` | `xlsx`, `html` | `xlsx`, `html` | `translator_config`, `insert_mode` |
|
||||||
|
| **SrtWorkflow** | `.srt` | `srt`, `html` | `srt`, `html` | `translator_config` |
|
||||||
|
| **EpubWorkflow** | `.epub` | `epub`, `html` | `epub`, `html` | `translator_config`, `insert_mode` |
|
||||||
|
| **HtmlWorkflow** | `.html`, `.htm` | `html` | `html` | `translator_config`, `insert_mode` |
|
||||||
|
| **AssWorkflow** | `.ass` | `ass`, `html` | `ass`, `html` | `translator_config` |
|
||||||
|
|
||||||
|
#### 关键配置选项
|
||||||
|
|
||||||
|
**通用 TranslatorConfig 选项:**
|
||||||
|
|
||||||
|
| 选项 | 类型 | 默认值 | 说明 |
|
||||||
|
|:---|:---|:---|:---|
|
||||||
|
| `base_url` | `str` | - | AI 平台基础 URL |
|
||||||
|
| `api_key` | `str` | - | AI 平台 API 密钥 |
|
||||||
|
| `model_id` | `str` | - | 模型 ID |
|
||||||
|
| `to_lang` | `str` | - | 目标语言 |
|
||||||
|
| `chunk_size` | `int` | 3000 | 文本分块大小 |
|
||||||
|
| `concurrent` | `int` | 10 | 并发请求数 |
|
||||||
|
| `temperature` | `float` | 0.3 | LLM 温度 |
|
||||||
|
| `timeout` | `int` | 60 | 请求超时(秒) |
|
||||||
|
| `retry` | `int` | 3 | 重试次数 |
|
||||||
|
|
||||||
|
**格式特定选项:**
|
||||||
|
|
||||||
|
| 选项 | 适用工作流 | 说明 |
|
||||||
|
|:---|:---|:---|
|
||||||
|
| `insert_mode` | Docx, Xlsx, Html, Epub | `"replace"`(默认), `"append"`, `"prepend"` |
|
||||||
|
| `json_paths` | Json | JSONPath 表达式(如 `["$.*", "$.name"]`) |
|
||||||
|
| `separator` | Docx, Xlsx, Html, Epub | append/prepend 模式的文本分隔符 |
|
||||||
|
| `convert_engine` | MarkdownBased | `"mineru"`(默认), `"docling"`, `"mineru_deploy"` |
|
||||||
|
|
||||||
|
#### 示例 1: 翻译一个 PDF 文件 (使用 `MarkdownBasedWorkflow`)
|
||||||
|
|
||||||
这是最常见的用例。我们将使用 `minerU` 引擎将 PDF 转换为 Markdown,然后使用 LLM 进行翻译。这里以异步方式为例。
|
这是最常见的用例。我们将使用 `minerU` 引擎将 PDF 转换为 Markdown,然后使用 LLM 进行翻译。这里以异步方式为例。
|
||||||
|
|
||||||
|
|||||||
3
更新日志.txt
3
更新日志.txt
@@ -2,10 +2,11 @@
|
|||||||
----------------
|
----------------
|
||||||
v1.5.7版 2025.12.31
|
v1.5.7版 2025.12.31
|
||||||
特性
|
特性
|
||||||
|
- 新的client调用方式
|
||||||
- 自定义接口可以传入provider参数
|
- 自定义接口可以传入provider参数
|
||||||
|
- api接口支持"auto"选项,根据文件后缀自动选择工作流
|
||||||
优化
|
优化
|
||||||
- ollama支持使用思考模式调节
|
- ollama支持使用思考模式调节
|
||||||
- api接口支持"auto"选项,根据文件后缀自动选择工作流
|
|
||||||
修复
|
修复
|
||||||
- 修复术语表大小写敏感的问题
|
- 修复术语表大小写敏感的问题
|
||||||
- 修复一些类型提示错误
|
- 修复一些类型提示错误
|
||||||
|
|||||||
Reference in New Issue
Block a user