ChinarXiv 是一个将 GPT Academic 项目中的 Arxiv 论文翻译功能独立出来的工具,能为研究者提供从论文获取到翻译输出的完整服务。
1、覆盖完整翻译流程,输入 arxiv 链接后,无需额外操作,能直接生成翻译后的 PDF 文件,实现一站式服务。
2、基于 LaTeX 结构进行智能分段,在处理论文内容时,能保持文档原有的完整性和逻辑结构,避免分段导致的信息断裂。
3、支持多线程并发翻译,相比单线程翻译,能大幅缩短多篇论文或长篇论文的翻译耗时,提升整体效率。
4、内置翻译缓存机制,已翻译过的内容会被保存,再次遇到相同内容时,无需重复翻译,减少 API 调用次数和等待时间。
5、自带 LaTeX 编译服务器,在处理包含依赖文件的论文时,能妥善处理相关依赖,确保编译顺利进行。
6、允许自定义术语词典,在翻译过程中,能依据词典内容确保专业术语翻译的一致性,避免同一术语出现多种译法。
7、具备智能错误处理和恢复机制,遇到轻微错误时,能尝试自行恢复,减少因小问题导致的翻译中断。
Arxiv 论文下载:支持多种 arxiv 输入格式,包括论文 ID(如 1812.10695)和完整 URL,都能准确识别并下载对应的论文。
LaTeX 解析:能智能解析 LaTeX 文档的结构,对于多文件组成的 LaTeX 论文,可自动合并,确保后续翻译和编译不受文件拆分影响。
内容切分:结合大语言模型的 token 限制,对论文内容进行智能分段,既避免单段内容超过 token 上限导致翻译失败,又保证段落语义完整。
批量翻译:兼容 GPT-4 等多种大语言模型,支持批量处理多篇论文,适合需要集中翻译大量文献的场景。
结果合并:翻译完成后,能将分段的翻译结果智能合并,同时严格保留 LaTeX 格式,确保合并后的内容可正常编译。
PDF 编译:支持中文字体的 PDF 编译,生成的中文 PDF 文档在字体显示、格式排版上符合中文阅读习惯。
缓存系统:包含下载缓存和翻译缓存两部分,下载过的论文无需重复下载,翻译过的内容无需重复调用模型,节省资源和时间。
自定义配置:可根据需求配置 API 相关参数(如密钥、地址)、选择不同的大语言模型、调整并发线程数量等。
术语管理:支持导入或编辑自定义术语词典,对于专业领域的特定术语,可预先设定准确译法,保证翻译专业性。
翻译要求定制:能根据用户需求设置翻译风格(如学术性、简洁性)和具体要求(如术语标注、格式保留规则),让翻译结果更符合使用场景。
进度跟踪:在翻译过程中,会实时反馈当前进度,包括已完成的步骤、整体进度百分比和当前操作提示,方便用户掌握翻译动态。
错误处理:出现问题时,会输出详细的错误信息,同时提供可能的恢复建议,帮助用户快速定位并解决问题。
1、进入 latex2pdf 目录:打开终端,输入 cd latex2pdf 并执行。
2、启动 LaTeX 编译服务器:在终端中输入 docker compose -f docker-compose-latex-server.yml up --build -d 并执行,完成服务器部署。
3、配置 API 信息:找到 config_temp-需要修改成config-填入自己的API.py 文件,将其复制并重命名为 config.py,然后打开该文件,填入自己的 API 密钥等配置信息。
4、启动翻译工具:在终端中输入 python arxiv_translator.py 并执行,ChinarXiv就会开始运行。
• 编程语言:Python 3.8 及以上版本。
• 编译环境:需要安装 LaTeX 环境,推荐使用 TeX Live。
• API 密钥:需拥有 OpenAI API 密钥或其他兼容大语言模型的 API 密钥。
在终端中输入 pip install -r requirements.txt 并执行,即可安装工具所需的主要依赖,包括:
• requests:用于发送 HTTP 请求,实现论文下载等网络操作。
• openai:OpenAI API 的客户端,用于调用大语言模型进行翻译。
• tiktoken:用于计算文本的 token 数量,辅助进行内容切分。
• fastapi:构建 LaTeX 编译服务器的框架。
• uvicorn:作为 ASGI 服务器,支持 LaTeX 编译服务器的运行。
首先复制配置模板文件,在终端中输入 cp config_temp-需要修改成config-填入自己的API.py config.py 并执行,生成可编辑的 config.py 文件。
打开 config.py 文件后,可根据需求修改以下核心配置:
# OpenAI API 配置
API_KEY = "your-api-key-here" # 填入自己的 API 密钥
BASE_URL = "https://api.openai.com/v1" # 若使用其他兼容 API,可修改为对应地址
LLM_MODEL = "gpt-4o-mini" # 可替换为其他支持的模型,如 gpt-4
# 翻译相关配置
MAX_WORKERS = 9 # 最大并发线程数,可根据电脑性能和 API 限制调整
MAX_TOKEN_LIMIT = 800 # 每段内容的最大 token 数,需结合所选模型的 token 限制设置
TEMPERATURE = 0.3 # 翻译温度参数,数值越小,翻译结果越稳定;数值越大,结果多样性越高
# 缓存配置
USE_CACHE = True # 是否启用缓存功能,建议开启以节省资源
CACHE_DIR = "./arxiv_cache" # 缓存文件的保存目录,可自定义路径
# LaTeX 编译配置
LATEX_SERVER_URL = "http://localhost:9851" # LaTeX 编译服务器的地址,若服务器部署在其他位置,需修改为对应地址
适合快速完成单篇论文翻译,代码示例如下:
from arxiv_translator import translate_arxiv_paper
# 翻译 arxiv 论文
success, result = translate_arxiv_paper(
arxiv_input="1812.10695", # 填入 arxiv 论文的 ID 或完整 URL
user_requirements="保持学术性和专业性,确保术语翻译的一致性", # 设定翻译要求
compile_pdf=True # 是否需要编译生成 PDF,True 为需要,False 为不需要
)
if success:
print(f"翻译成功!文件保存在: {result}")
else:
print(f"翻译失败: {result}")
适合需要自定义更多参数的场景,支持配置输出目录、并发数、术语词典等,代码示例如下:
from arxiv_translator import ArxivTranslator
# 创建翻译器实例,可配置输出目录、并发数、token 限制等
translator = ArxivTranslator(
output_dir="./output", # 翻译结果的输出目录
max_workers=9, # 并发线程数
max_token_limit=800 # 每段最大 token 数
)
# 自定义术语词典,确保特定术语翻译一致
user_terms = {
"transformer": "变换器",
"attention": "注意力机制",
"neural network": "神经网络"
}
# 执行翻译
success, result, details = translator.translate_arxiv(
arxiv_input="https://arxiv.org/abs/1812.10695", # arxiv 论文的 URL
user_requirements="翻译要保持学术性,专业术语首次出现时标注英文原词", # 翻译要求
user_terms=user_terms, # 导入自定义术语词典
compile_pdf=True # 是否编译 PDF
)
无需编写代码,通过终端交互操作即可完成翻译,步骤如下:
1、在终端中输入 python arxiv_translator.py 并执行。
2、根据终端提示,输入 arxiv 论文的 ID 或选择预设的测试用例,按照指引完成翻译操作。
项目提供 Docker 部署方式,能快速搭建 LaTeX 编译服务器,步骤如下:
1、进入 latex2pdf 目录:在终端中输入 cd latex2pdf 并执行。
2、启动服务器:输入 docker-compose -f docker-compose-latex-server.yml up -d 并执行,Docker 会自动构建镜像并启动服务。
3、查看部署详情:若需了解更多服务器配置和使用细节,可参考 latex2pdf/README-latex-server.md 文档。
以翻译 GPT-1 相关论文(ID:1812.10695)为例,代码如下:
from arxiv_translator import translate_arxiv_paper
# 翻译 GPT-1 论文
success, result = translate_arxiv_paper(
arxiv_input="1812.10695",
user_requirements="保持学术严谨性,术语翻译要准确",
compile_pdf=True
)
print(f"翻译结果: {result}")
当需要同时翻译多篇论文时,可使用批量处理功能,代码示例如下:
from arxiv_translator import ArxivTranslator
# 创建翻译器实例,设置并发线程数为 6
translator = ArxivTranslator(max_workers=6)
# 待翻译论文的 ID 列表
papers = ["1812.10695", "2402.14207", "1706.03762"]
# 循环翻译每篇论文
for paper_id in papers:
print(f"正在翻译: {paper_id}")
success, result, details = translator.translate_arxiv(paper_id)
if success:
print(f"✅ {paper_id} 翻译完成: {result}")
else:
print(f"❌ {paper_id} 翻译失败: {result}")
通过自定义进度回调函数,可实时查看翻译各步骤的进度,代码如下:
from arxiv_translator import ArxivTranslator
# 定义进度回调函数,输出当前步骤、进度和提示信息
def progress_callback(step, progress, message):
print(f"Step {step} - {progress:.1f}%: {message}")
# 创建翻译器实例
translator = ArxivTranslator()
# 执行翻译并启用进度监控
success, result, details = translator.translate_arxiv(
arxiv_input="1812.10695",
progress_callback=progress_callback
)
• 检查 config.py 文件中的 API_KEY 和 BASE_URL 是否填写正确,确保无拼写错误或多余空格。
• 确认 API 密钥是否有效,是否有足够的余额或调用额度,可登录对应 API 平台查看状态。
• 确认已安装完整的 LaTeX 环境(推荐 TeX Live),若使用 Docker 部署的编译服务器,检查服务器是否正常运行(可通过 docker ps 命令查看容器状态)。
• 查看编译日志,日志中会记录具体的错误信息(如缺失的宏包、语法错误),根据日志提示补充相关依赖或修正 LaTeX 内容。
• 检查网络连接是否正常,若网络不稳定,可尝试重新执行下载操作。
• 若需通过代理访问网络,需在环境中配置代理设置,确保工具能正常连接 arxiv 服务器。
• 确认输入的 arxiv ID 或 URL 格式正确,避免因格式错误导致无法识别论文。
• 调整 MAX_TOKEN_LIMIT 参数,适当减小分段大小,避免因单段内容过长导致模型理解偏差。
• 更换更强的大语言模型(如将 gpt-4o-mini 替换为 gpt-4),提升翻译的准确性和专业性。
• 完善自定义术语词典,补充领域特定术语的准确译法,同时细化翻译要求(如明确术语标注规则),减少翻译歧义。
若需获取更详细的运行日志,辅助排查问题,可启用调试模式,代码示例如下:
import logging
from arxiv_translator import ArxivTranslator
# 启用 DEBUG 级别日志,输出详细运行信息
logging.basicConfig(level=logging.DEBUG)
# 运行翻译操作,日志会实时输出到终端
translator = ArxivTranslator()
success, result, details = translator.translate_arxiv(arxiv_input="1812.10695")
PowerPoint演示文稿智能生成工具 PowerPoint Slides Skill
金融 AI 新工具 FinClaw,免费提供1000+ 金融专属Skills
PPT Agent 演示文稿生成框架
端到端自主AI科研引擎 NanoResearch
CitationClaw 学术论文智能引用画像和分析报告
pi-autoresearch:pi自动化实验优化循环
OpenClaw Control Center:为OpenClaw用户(包括团队和个人)提供统一的监控和管理界面
OpenClaw Dashboard 仪表盘:让OpenClaw管理更简单
PaperBanana-CN 学术配图助手
996.ICU:工作 996, 生病 ICU