znlgis 博客

GIS开发与技术分享 — GDAL · GeoServer · PostGIS · QGIS · OpenLayers · Cesium · FreeCAD · NPOI

第十一章:环境变量与部署配置

DocuTranslate 支持通过环境变量(或 .env 文件)为后端预置默认配置。这对服务化部署、Docker 部署、MCP 集成尤其重要——可以避免在每次请求 / 每个客户端里重复填写模型信息。本章系统整理所有环境变量,并给出部署建议。


11.1 环境变量的作用与优先级

环境变量设置的是后端参数的默认值:当前端 / API 调用没有传该参数时,才使用环境变量的值。使用方式:把仓库中的 .env.example 复制为 .env,取消注释并填写需要的项;或在启动前 export(Docker 用 -e)。

两个控制优先级的关键开关:

环境变量 说明
DOCUTRANSLATE_ENV_FORCE_OVERRIDE true强制使用 .env 的值,忽略前端 / 请求传参;false(默认)时仅在传参为空时使用
DOCUTRANSLATE_WEB_SKIP_VALIDATION true 时 Web 前端跳过空值检查,直接用后端 .env 默认值,并显示提示图标

FORCE_OVERRIDE=true 可以在多人 / 对外服务时锁定统一的模型配置,防止调用方乱传。


11.2 LLM 基础配置

环境变量 说明 示例 / 默认
DOCUTRANSLATE_API_KEY API 密钥 sk-xxxxxxxx
DOCUTRANSLATE_BASE_URL API 基础 URL https://api.openai.com/v1
DOCUTRANSLATE_MODEL_ID 模型 ID gpt-4o
DOCUTRANSLATE_PROVIDER 供应商标识:defaultgoogleminimaxollamaaliyuncsvolcessiliconflowbigmodeldeepseek default
DOCUTRANSLATE_TO_LANG 目标语言 中文

11.3 LLM 高级参数

环境变量 说明 默认
DOCUTRANSLATE_THINKING 思考模式:defaultenabledisable disable
DOCUTRANSLATE_CHUNK_SIZE 文本分块大小 4000
DOCUTRANSLATE_CONCURRENT 并发请求数 30
DOCUTRANSLATE_TEMPERATURE 温度参数 0.7
DOCUTRANSLATE_TOP_P Top-P 参数 0.9
DOCUTRANSLATE_TIMEOUT 请求超时(秒) 1200
DOCUTRANSLATE_RETRY 重试次数 2
DOCUTRANSLATE_SYSTEM_PROXY_ENABLE 是否使用系统代理 false
DOCUTRANSLATE_FORCE_JSON 强制 JSON 输出 false
DOCUTRANSLATE_RPM 每分钟请求数限制 -
DOCUTRANSLATE_TPM 每分钟 Token 数限制 -
DOCUTRANSLATE_CUSTOM_PROMPT 自定义提示词 -
DOCUTRANSLATE_EXTRA_BODY 额外请求体 JSON -
DOCUTRANSLATE_GLOSSARY_GENERATE_ENABLE 是否启用术语表自动生成 false

注意:环境变量里的默认值(如 CONCURRENT=30TEMPERATURE=0.7CHUNK_SIZE=4000)与 SDK 代码默认值(如 concurrent=10temperature=0.3chunk_size=3000)可能不同,具体以你的使用入口为准。


11.4 Markdown 工作流配置

环境变量 说明 默认
DOCUTRANSLATE_CONVERT_ENGINE PDF 转换引擎:identityminerudoclingmineru_deploy identity
DOCUTRANSLATE_MD2DOCX_ENGINE Markdown 转 DOCX 引擎:pythonpandocauto auto

11.5 MinerU Cloud 配置(convert_engine=mineru 时)

环境变量 说明 默认
DOCUTRANSLATE_MINERU_TOKEN MinerU API Token -
DOCUTRANSLATE_MODEL_VERSION MinerU 模型版本:pipelinevlm vlm
DOCUTRANSLATE_FORMULA_OCR 是否启用公式 OCR true
DOCUTRANSLATE_CODE_OCR 是否启用代码 OCR true
DOCUTRANSLATE_MINERU_LANGUAGE MinerU 解析语言:chenjapan ch

11.6 MinerU Deploy 配置(convert_engine=mineru_deploy 时)

环境变量 说明 默认
DOCUTRANSLATE_MINERU_DEPLOY_BASE_URL 本地部署地址 http://127.0.0.1:8000
DOCUTRANSLATE_MINERU_DEPLOY_BACKEND 部署后端:hybrid-auto-enginepipelinevlm-http-clienthybrid-http-client hybrid-auto-engine
DOCUTRANSLATE_MINERU_DEPLOY_PARSE_METHOD 解析方法:autotxtocr auto
DOCUTRANSLATE_MINERU_DEPLOY_TABLE_ENABLE 是否启用表格解析 true
DOCUTRANSLATE_MINERU_DEPLOY_FORMULA_ENABLE 是否启用公式解析 true
DOCUTRANSLATE_MINERU_DEPLOY_START_PAGE_ID 起始页 0
DOCUTRANSLATE_MINERU_DEPLOY_END_PAGE_ID 结束页 99999
DOCUTRANSLATE_MINERU_DEPLOY_SERVER_URL http-client 后端时的服务地址 -

11.7 Text 工作流配置

环境变量 说明 默认
DOCUTRANSLATE_INSERT_MODE 插入模式:replaceappendprepend replace
DOCUTRANSLATE_SEPARATOR 分隔符 \n
DOCUTRANSLATE_SEGMENT_MODE 分段模式:lineparagraphnone line

11.8 系统配置

环境变量 说明 默认
DOCUTRANSLATE_PORT Web 服务端口 8010
DOCUTRANSLATE_PROXY_ENABLED 全局代理开关 false
DOCUTRANSLATE_CACHE_NUM PDF 解析结果缓存数量 10

11.9 部署示例

.env 文件(本地 / 源码部署)

DOCUTRANSLATE_API_KEY=sk-xxxx
DOCUTRANSLATE_BASE_URL=https://api.deepseek.com/v1
DOCUTRANSLATE_MODEL_ID=deepseek-chat
DOCUTRANSLATE_TO_LANG=中文
DOCUTRANSLATE_CONCURRENT=16
DOCUTRANSLATE_ENV_FORCE_OVERRIDE=false

放在启动目录下,docutranslate -i 启动时会自动读取。

Docker 部署(注入环境变量)

docker run -d -p 8010:8010 \
  -e DOCUTRANSLATE_API_KEY=sk-xxxx \
  -e DOCUTRANSLATE_BASE_URL=https://api.deepseek.com/v1 \
  -e DOCUTRANSLATE_MODEL_ID=deepseek-chat \
  -e DOCUTRANSLATE_TO_LANG=中文 \
  -e DOCUTRANSLATE_ENV_FORCE_OVERRIDE=true \
  -v /data/docutranslate/output:/app/output \
  xunbu/docutranslate:latest
  • -e 注入模型配置;
  • -v 挂载 output 目录持久化译文;
  • 生产环境建议前置 Nginx/Caddy 反向代理,加上 HTTPS 与访问认证。

11.10 小结

  • 环境变量为后端设默认值,ENV_FORCE_OVERRIDE / WEB_SKIP_VALIDATION 控制与请求参数的优先级。
  • 变量分组:LLM 基础 / LLM 高级 / Markdown 工作流 / MinerU Cloud / MinerU Deploy / Text 工作流 / 系统。
  • 服务化 / Docker 部署时用环境变量锁定统一配置,挂载 output 持久化,反向代理加认证。
  • 下一章汇总最佳实践与常见问题排障。