diff --git a/docutranslate/agents/glossary_agent.py b/docutranslate/agents/glossary_agent.py index 2763bd3..f89890c 100644 --- a/docutranslate/agents/glossary_agent.py +++ b/docutranslate/agents/glossary_agent.py @@ -17,6 +17,7 @@ from docutranslate.utils.json_utils import segments2json_chunks @dataclass class GlossaryAgentConfig(AgentConfig): to_lang: str + custom_prompt: str = None class GlossaryAgent(Agent): @@ -49,10 +50,12 @@ The output format should be plain JSON text in a list format ## Output {r'[{"src": "Jobs", "dst": "乔布斯"}, {"src": "Bill Gates", "dst": "比尔盖茨"}, {"src": "Shanghai", "dst": "上海"}]'} """ + if config.custom_prompt: + self.system_prompt += "\n# **Important rules or background** \n" + self.custom_prompt + '\nEND\n' def _result_handler(self, result: str, origin_prompt: str, logger: Logger): if result == "": - if origin_prompt.strip()!="": + if origin_prompt.strip() != "": logger.error("result为空值但原文不为空") raise AgentResultError("result为空值但原文不为空") return [] @@ -72,7 +75,7 @@ The output format should be plain JSON text in a list format return json_repair.loads(origin_prompt) except (RuntimeError, JSONDecodeError): logger.error(f"原始prompt也不是有效的json格式: {origin_prompt}") - return [] # 如果原始prompt也无效,返回空列表 + return [] # 如果原始prompt也无效,返回空列表 def send_segments(self, segments: list[str], chunk_size: int): self.logger.info(f"开始提取术语表,to_lang:{self.to_lang}") @@ -119,4 +122,4 @@ The output format should be plain JSON text in a list format self.logger.error(f"处理glossary chunk时发生未知错误: {e.__repr__()}") self.logger.info("术语表提取完成") - return result \ No newline at end of file + return result diff --git a/docutranslate/app.py b/docutranslate/app.py index 00e0adb..bce3e8f 100644 --- a/docutranslate/app.py +++ b/docutranslate/app.py @@ -300,6 +300,9 @@ class GlossaryAgentConfigPayload(BaseModel): system_proxy_enable: bool = Field( default=default_params["system_proxy_enable"], description="是否使用系统代理", examples=[True, False] ) + custom_prompt:Optional[str]=Field( + default=None,description="生成术语表的用户自定义提示词" + ) # 1. 定义所有工作流共享的基础参数 diff --git a/docutranslate/static/index.html b/docutranslate/static/index.html index 0b218d6..14e2258 100644 --- a/docutranslate/static/index.html +++ b/docutranslate/static/index.html @@ -1 +1 @@ - DocuTranslate - 交互式文档翻译

DocuTranslate

如果上传的文件本身是.md格式,此项可不选。
mineru VLM是更新的内测模型。

Base URL:

选择一个或多个CSV文件。文件需包含'src'和'dst'两列标题,分别代表原文和译文。

GitHub主页(欢迎star❤):
https://github.com/xunbu/docutranslate

交流QQ群: 1047781902

version:

任务列表

LOGO

当前没有任务,点击“新建任务”开始吧!

预览
原文
译文
\ No newline at end of file + DocuTranslate - 交互式文档翻译

DocuTranslate

如果上传的文件本身是.md格式,此项可不选。
mineru VLM是更新的内测模型。

Base URL:

选择一个或多个CSV文件。文件需包含'src'和'dst'两列标题,分别代表原文和译文。

GitHub主页(欢迎star❤):
https://github.com/xunbu/docutranslate

交流QQ群: 1047781902

version:

任务列表

LOGO

当前没有任务,点击“新建任务”开始吧!

预览
原文
译文
\ No newline at end of file