小修改
This commit is contained in:
1 parent
9ba8f142ce
commit
814a47cca3
7 files changed
+19
-21
No files matched your search
Generated
+9
-9
@@ -5,12 +5,12 @@
|
|||||||
</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$/docutranslate/agents/agent_sync.py" afterDir="false" />
|
|
||||||
<change afterPath="$PROJECT_DIR$/docutranslate/agents/agent_thread.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/docutranslate/agents/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/docutranslate/agents/__init__.py" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/README.md" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/docutranslate/agents/agent.py" beforeDir="false" afterPath="$PROJECT_DIR$/docutranslate/agents/agent_async.py" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/app.spec" beforeDir="false" afterPath="$PROJECT_DIR$/app.spec" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/docutranslate/agents/markdown_agent.py" beforeDir="false" afterPath="$PROJECT_DIR$/docutranslate/agents/markdown_agent.py" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/docutranslate/agents/markdown_agent.py" beforeDir="false" afterPath="$PROJECT_DIR$/docutranslate/agents/markdown_agent.py" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/docutranslate/app.py" beforeDir="false" afterPath="$PROJECT_DIR$/docutranslate/app.py" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/docutranslate/translater.py" beforeDir="false" afterPath="$PROJECT_DIR$/docutranslate/translater.py" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/pyproject.toml" beforeDir="false" afterPath="$PROJECT_DIR$/pyproject.toml" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/pyproject.toml" beforeDir="false" afterPath="$PROJECT_DIR$/pyproject.toml" afterDir="false" />
|
||||||
</list>
|
</list>
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
@@ -73,7 +73,7 @@
|
|||||||
"RunOnceActivity.TerminalTabsStorage.copyFrom.TerminalArrangementManager": "true",
|
"RunOnceActivity.TerminalTabsStorage.copyFrom.TerminalArrangementManager": "true",
|
||||||
"RunOnceActivity.git.unshallow": "true",
|
"RunOnceActivity.git.unshallow": "true",
|
||||||
"git-widget-placeholder": "main",
|
"git-widget-placeholder": "main",
|
||||||
"last_opened_file_path": "C:/Users/jxgm/Desktop/FileTranslate/docutranslate/agents",
|
"last_opened_file_path": "C:/Users/jxgm/Desktop/FileTranslate/dist/DocuTranslate",
|
||||||
"node.js.detected.package.eslint": "true",
|
"node.js.detected.package.eslint": "true",
|
||||||
"node.js.detected.package.tslint": "true",
|
"node.js.detected.package.tslint": "true",
|
||||||
"node.js.selected.package.eslint": "(autodetect)",
|
"node.js.selected.package.eslint": "(autodetect)",
|
||||||
@@ -85,18 +85,18 @@
|
|||||||
}]]></component>
|
}]]></component>
|
||||||
<component name="RecentsManager">
|
<component name="RecentsManager">
|
||||||
<key name="CopyFile.RECENT_KEYS">
|
<key name="CopyFile.RECENT_KEYS">
|
||||||
|
<recent name="C:\Users\jxgm\Desktop\FileTranslate\dist\DocuTranslate" />
|
||||||
|
<recent name="C:\Users\jxgm\Desktop\FileTranslate\dist" />
|
||||||
<recent name="C:\Users\jxgm\Desktop\FileTranslate\docutranslate\agents" />
|
<recent name="C:\Users\jxgm\Desktop\FileTranslate\docutranslate\agents" />
|
||||||
<recent name="C:\Users\jxgm\Desktop\FileTranslate\dist\app" />
|
<recent name="C:\Users\jxgm\Desktop\FileTranslate\dist\app" />
|
||||||
<recent name="C:\Users\jxgm\Desktop\FileTranslate\tests\files" />
|
<recent name="C:\Users\jxgm\Desktop\FileTranslate\tests\files" />
|
||||||
<recent name="C:\Users\jxgm\Desktop\FileTranslate\tests" />
|
|
||||||
<recent name="C:\Users\jxgm\Desktop\FileTranslate\docutranslate" />
|
|
||||||
</key>
|
</key>
|
||||||
<key name="MoveFile.RECENT_KEYS">
|
<key name="MoveFile.RECENT_KEYS">
|
||||||
|
<recent name="C:\Users\jxgm\Desktop\FileTranslate\dist\DocuTranslate" />
|
||||||
<recent name="C:\Users\jxgm\Desktop\FileTranslate\dist\app" />
|
<recent name="C:\Users\jxgm\Desktop\FileTranslate\dist\app" />
|
||||||
<recent name="C:\Users\jxgm\Desktop\FileTranslate\tests\files" />
|
<recent name="C:\Users\jxgm\Desktop\FileTranslate\tests\files" />
|
||||||
<recent name="C:\Users\jxgm\Desktop\FileTranslate\tests\resource" />
|
<recent name="C:\Users\jxgm\Desktop\FileTranslate\tests\resource" />
|
||||||
<recent name="C:\Users\jxgm\Desktop\FileTranslate\docutranslate\Agents" />
|
<recent name="C:\Users\jxgm\Desktop\FileTranslate\docutranslate\Agents" />
|
||||||
<recent name="C:\Users\jxgm\Desktop\FileTranslate\tests" />
|
|
||||||
</key>
|
</key>
|
||||||
</component>
|
</component>
|
||||||
<component name="RunManager" selected="Python.app">
|
<component name="RunManager" selected="Python.app">
|
||||||
@@ -636,7 +636,7 @@
|
|||||||
<SUITE FILE_PATH="coverage/PDFtranslate$convert.coverage" NAME="convert 覆盖结果" MODIFIED="1746596984213" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/pdftranslate_packages/utils" />
|
<SUITE FILE_PATH="coverage/PDFtranslate$convert.coverage" NAME="convert 覆盖结果" MODIFIED="1746596984213" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/pdftranslate_packages/utils" />
|
||||||
<SUITE FILE_PATH="coverage/PDFtranslate$agent_utils.coverage" NAME="agent_utils 覆盖结果" MODIFIED="1746617703678" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/pdftranslate_packages/utils" />
|
<SUITE FILE_PATH="coverage/PDFtranslate$agent_utils.coverage" NAME="agent_utils 覆盖结果" MODIFIED="1746617703678" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/pdftranslate_packages/utils" />
|
||||||
<SUITE FILE_PATH="coverage/filetranslate$app2.coverage" NAME="app2 覆盖结果" MODIFIED="1747108180309" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/docutranslate" />
|
<SUITE FILE_PATH="coverage/filetranslate$app2.coverage" NAME="app2 覆盖结果" MODIFIED="1747108180309" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/docutranslate" />
|
||||||
<SUITE FILE_PATH="coverage/filetranslate$app.coverage" NAME="app 覆盖结果" MODIFIED="1747126209674" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/docutranslate" />
|
<SUITE FILE_PATH="coverage/filetranslate$app.coverage" NAME="app 覆盖结果" MODIFIED="1747130360790" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/docutranslate" />
|
||||||
<SUITE FILE_PATH="coverage/PDFtranslate$markdown_splitter.coverage" NAME="markdown_splitter 覆盖结果" MODIFIED="1746599883603" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/pdftranslate_packages/utils" />
|
<SUITE FILE_PATH="coverage/PDFtranslate$markdown_splitter.coverage" NAME="markdown_splitter 覆盖结果" MODIFIED="1746599883603" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/pdftranslate_packages/utils" />
|
||||||
<SUITE FILE_PATH="coverage/filetranslate$test4.coverage" NAME="test4 覆盖结果" MODIFIED="1746887036353" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/tests" />
|
<SUITE FILE_PATH="coverage/filetranslate$test4.coverage" NAME="test4 覆盖结果" MODIFIED="1746887036353" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/tests" />
|
||||||
<SUITE FILE_PATH="coverage/filetranslate$test3.coverage" NAME="test3 覆盖结果" MODIFIED="1746884110572" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/tests" />
|
<SUITE FILE_PATH="coverage/filetranslate$test3.coverage" NAME="test3 覆盖结果" MODIFIED="1746884110572" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/tests" />
|
||||||
|
|||||||
@@ -136,7 +136,7 @@ translater = FileTranslater(base_url="<baseurl>", # 默认的模型baseurl
|
|||||||
key="<key>", # 默认的模型api-key
|
key="<key>", # 默认的模型api-key
|
||||||
model_id="<model-id>", # 默认的模型id
|
model_id="<model-id>", # 默认的模型id
|
||||||
chunksize=3500, # markdown分块长度(单位byte),分块越大效果越好,不建议超过8000
|
chunksize=3500, # markdown分块长度(单位byte),分块越大效果越好,不建议超过8000
|
||||||
max_concurrent=10, # 并发数,受到ai平台并发量限制,如果文章很长建议适当加大到20以上
|
max_concurrent=15, # 并发数,受到ai平台并发量限制,如果文章很长建议适当加大到20以上
|
||||||
docling_artifact=None, # 使用提前下载好的docling模型
|
docling_artifact=None, # 使用提前下载好的docling模型
|
||||||
timeout=2000, # 调用api的超时时间
|
timeout=2000, # 调用api的超时时间
|
||||||
tips=True # 开场提示
|
tips=True # 开场提示
|
||||||
|
|||||||
@@ -50,5 +50,5 @@ coll = COLLECT(
|
|||||||
strip=False,
|
strip=False,
|
||||||
upx=True,
|
upx=True,
|
||||||
upx_exclude=[],
|
upx_exclude=[],
|
||||||
name='app',
|
name='DocuTranslate',
|
||||||
)
|
)
|
||||||
@@ -2,7 +2,6 @@ from typing import Unpack
|
|||||||
|
|
||||||
from .agent_async import Agent, AgentArgs
|
from .agent_async import Agent, AgentArgs
|
||||||
|
|
||||||
|
|
||||||
class MDRefineAgent(Agent):
|
class MDRefineAgent(Agent):
|
||||||
def __init__(self,**kwargs:Unpack[AgentArgs]):
|
def __init__(self,**kwargs:Unpack[AgentArgs]):
|
||||||
super().__init__(**kwargs)
|
super().__init__(**kwargs)
|
||||||
@@ -43,15 +42,14 @@ class MDTranslateAgent(Agent):
|
|||||||
super().__init__(**kwargs)
|
super().__init__(**kwargs)
|
||||||
self.system_prompt=f"""
|
self.system_prompt=f"""
|
||||||
# 角色
|
# 角色
|
||||||
You are a professional, authentic machine translation engine.
|
你是一个专业的机器翻译引擎
|
||||||
# 工作
|
# 工作
|
||||||
翻译输入的markdown文本
|
翻译输入的markdown文本
|
||||||
目标语言{to_lang}
|
目标语言{to_lang}
|
||||||
# 要求
|
# 要求
|
||||||
If translation is unnecessary (e.g. proper nouns, codes, etc.), return the original text.
|
如果翻译不必要(例如专有名词、代码等),则返回原文。
|
||||||
NO explanations. NO notes.
|
没有解释,没有注释。
|
||||||
不要修改标题的级别(如一级标题不要修改为二级标题)
|
不要修改标题的级别(如一级标题不要修改为二级标题)
|
||||||
文章的作者名不要翻译
|
|
||||||
引用的参考文献和其作者不要翻译
|
引用的参考文献和其作者不要翻译
|
||||||
形如<ph-abc123>的占位符不要改变
|
形如<ph-abc123>的占位符不要改变
|
||||||
code、latex和HTML只翻译说明文字,其余保持原文
|
code、latex和HTML只翻译说明文字,其余保持原文
|
||||||
|
|||||||
@@ -118,8 +118,7 @@ HTML_TEMPLATE = """
|
|||||||
<body>
|
<body>
|
||||||
<main class="container no-print">
|
<main class="container no-print">
|
||||||
<h1>
|
<h1>
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 8l6 6"></path><path d="M4 14l6-6 2-3"></path><path d="M2 5l7 7v6"></path><path d="M15 10l6 6"></path><path d="M19 6l-7 7-6 2"></path><path d="M22 5l-7 7v6"></path></svg>
|
<a href="https://github.com/xunbu/docutranslate" target="_blank">DocuTranslate</a>
|
||||||
<a href="https://github.com/xunbu/docutranslate" target="_blank">DocuTranslate</a> (Polling)
|
|
||||||
</h1>
|
</h1>
|
||||||
<form id="translateForm">
|
<form id="translateForm">
|
||||||
<details open>
|
<details open>
|
||||||
@@ -135,7 +134,8 @@ HTML_TEMPLATE = """
|
|||||||
<option value="https://dashscope.aliyuncs.com/compatible-mode/v1">阿里云百炼</option>
|
<option value="https://dashscope.aliyuncs.com/compatible-mode/v1">阿里云百炼</option>
|
||||||
<option value="https://www.dmxapi.cn/v1">DMXAPI</option>
|
<option value="https://www.dmxapi.cn/v1">DMXAPI</option>
|
||||||
<option value="https://openrouter.ai/api/v1">OpenRouter</option>
|
<option value="https://openrouter.ai/api/v1">OpenRouter</option>
|
||||||
<option value="https://api.moonshot.cn/v1">Moonshot AI (Kimi)</option>
|
<option value="https://ark.cn-beijing.volces.com/api/v3">火山引擎</option>
|
||||||
|
<option value="https://api.siliconflow.cn/v1">硅基流动</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group hidden" id="baseUrlGroup">
|
<div class="form-group hidden" id="baseUrlGroup">
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ from docutranslate.logger import translater_logger
|
|||||||
|
|
||||||
class FileTranslater:
|
class FileTranslater:
|
||||||
def __init__(self, file_path: Path | str | None = None, chunksize: int = 3500, base_url="", key=None,
|
def __init__(self, file_path: Path | str | None = None, chunksize: int = 3500, base_url="", key=None,
|
||||||
model_id="", temperature=0.7, max_concurrent=10, docling_artifact: Path | str | None = None,
|
model_id="", temperature=0.7, max_concurrent=15, docling_artifact: Path | str | None = None,
|
||||||
timeout=2000, tips=True):
|
timeout=2000, tips=True):
|
||||||
if isinstance(file_path, str):
|
if isinstance(file_path, str):
|
||||||
file_path = Path(file_path)
|
file_path = Path(file_path)
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
[project]
|
[project]
|
||||||
name = "docutranslate"
|
name = "docutranslate"
|
||||||
version = "0.2.3"
|
version = "0.2.4.dev"
|
||||||
description = "文件翻译工具"
|
description = "文件翻译工具"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
requires-python = ">=3.10"
|
requires-python = ">=3.10"
|
||||||
|
|||||||
Reference in new issue
Block a user