InstaPPT 一款由 AI 驱动的 PowerPoint 翻译工具

InstaPPT

InstaPPT 是一款由 AI 驱动的 PowerPoint 翻译工具,旨在提供高质量翻译的同时,完美保留幻灯片的原始视觉效果。

项目地址https://github.com/twwch/InstaPPT

演示

以下是原始幻灯片与翻译后幻灯片的视觉对比:

主要功能

  • AI 智能翻译: 利用先进的大语言模型(如 GPT-4, DeepSeek)进行准确、上下文感知的翻译。
  • 视觉保真: 自动保留字体、颜色、大小和排版布局。
  • 视觉对照报告: 生成左右对照的 PDF 报告,以图片形式展示翻译前后的幻灯片,确保"所见即所得",避免字体渲染问题。
  • 智能缓存: 自动缓存翻译结果,重复运行时节省成本和时间。
  • 跨平台支持: 支持 macOS(已优化)和 Windows。

系统架构

graph TD User([用户]) -->|输入| Interface subgraph Interface ["用户界面"] CLI["命令行工具"] UI["Web 界面 (Gradio)"] end Interface --> Controller["核心控制器"] subgraph Pipeline ["处理流水线"] Parser["PPTX 解析器"] -->|提取文本| Segments["文本片段"] subgraph Translation ["LLM 翻译循环"] Step1[翻译] --> Step2[评估] Step2 -- "分数低" --> Step3[优化] Step2 -- "分数高" --> Ready[就绪] Step3 --> Ready end Segments -->|并发处理| Translation Translation <-->|API 调用| LLM[("LLM 提供商")] Ready --> Assembler["PPTX 组装器"] Assembler -->|生成| Artifacts end Controller --> Pipeline subgraph Artifacts ["输出文件"] File1["翻译后的 PPTX"] File2["视觉对比 PDF"] File3["评估报告"] end

环境要求

  1. Python 3.10+
  2. LibreOffice: 用于将 PPTX 转换为 PDF。
    • macOS: brew install --cask libreoffice
    • Windows: 请从官网下载安装。
  3. Poppler: 用于生成基于图片的视觉对照报告。
    • macOS: brew install poppler
    • Windows: 下载二进制文件并添加到 PATH。

安装

通过 Pip 安装

bash 复制代码
uv pip install instappt

开发环境设置

bash 复制代码
# 创建虚拟环境
uv venv

# 激活虚拟环境
source .venv/bin/activate

# 安装依赖
uv sync

使用方法

命令行使用 (安装后)

如果你通过 pip 安装了本包,可以直接使用 instappt 命令:

bash 复制代码
instappt --input input.pptx --output output_dir --lang English --config model_info.json

开发模式使用

如果你是直接运行源码:

bash 复制代码
python main.py --input input.pptx --output output_dir --lang English

使用配置文件

创建一个 model_info.json 文件来配置 LLM 设置:

json 复制代码
{
    "translator": {
        "model": "gpt-4o",
        "api_key": "sk-...",
        "base_url": "https://api.openai.com/v1"
    }
}

运行命令:

bash 复制代码
python main.py --input input.pptx --output output_dir --lang English --config model_info.json

强制重新翻译 (禁用缓存)

如果你想忽略缓存并强制重新翻译:

bash 复制代码
python main.py --input input.pptx --output output_dir --lang English --config model_info.json --no-cache

SDK 使用 (Python)

你也可以将 InstaPPT 作为 Python 库集成到你自己的项目中。

python 复制代码
from instappt.core import PPTTranslator
from instappt.models import SDKConfig, ModelConfig

# 1. 配置模型
config = SDKConfig(
    translator_config=ModelConfig(
        model="gpt-4o",
        api_key="sk-...",
        base_url="https://api.openai.com/v1"
    ),
    optimizer_config=ModelConfig(
        model="gpt-4o",
        api_key="sk-...",
        base_url="https://api.openai.com/v1"
    ),
    evaluator_config=ModelConfig(
        model="gpt-4o",
        api_key="sk-...",
        base_url="https://api.openai.com/v1"
    ),
    enable_cache=True # 设置为 False 可禁用缓存
)

# 2. 初始化翻译器
translator = PPTTranslator(config, concurrency=32)

# 3. 处理 PPTX
input_file = "presentation.pptx"
output_file = "presentation_translated.pptx"
target_language = "English"

translator.process_ppt(input_file, output_file, target_language)

# 4. 生成报告 (可选)
translator.generate_reports(
    output_dir="output_folder",
    report_prefix="my_report_",
    original_pptx=input_file,
    translated_pptx=output_file
)

输出文件

工具将在指定的输出目录中生成:

  1. 翻译后的 PPTX: [文件名]_translated.pptx
  2. 视觉对照报告: [文件名]_comparison.pdf (左右对照的图片版 PDF)
  3. 评估报告: [文件名]_assessment_report.pdf (质量评分)
  4. Token 使用统计: token_usage.json (成本追踪)
相关推荐
cyyt15 小时前
深度学习周报(1.26~2.1)
人工智能·深度学习
YOLO视觉与编程15 小时前
yolo26目标检测可视化界面系统源码
人工智能·目标检测·计算机视觉
你大爷的,这都没注册了15 小时前
配置阿里百炼云平台的api_key
人工智能
Faker66363aaa15 小时前
青香蕉尺寸分类与检测:从小尺寸香蕉手识别到模型优化_cascade-rcnn_hrnetv2p-w40-20e_coco
人工智能·分类·数据挖掘
shangjian00715 小时前
AI-大语言模型LLM-模型微调8-进阶操作
人工智能·深度学习·语言模型
xindoo15 小时前
我用AI写了部小说,这里是整个过程
人工智能
传说故事15 小时前
【论文自动阅读】快速视频生成的过渡匹配蒸馏
人工智能·视频生成
OpenMiniServer15 小时前
石化能源文明 vs 电气化能源文明
大数据·人工智能·能源
程序员泠零澪回家种桔子15 小时前
OpenManus开源自主规划智能体解析
人工智能·后端·算法
愚公搬代码15 小时前
【愚公系列】《AI短视频创作一本通》006-短视频成败之根本(确定短视频选题的方法和技巧)
人工智能