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 (成本追踪)
相关推荐
Mountain and sea8 小时前
从零搭建工业机器人激光切割+焊接产线:KUKA七轴协同+节卡AGV+视觉检测实战复盘
人工智能·机器人·视觉检测
K姐研究社8 小时前
阿里JVS Claw实测 – 手机一键部署 OpenClaw,开箱即用
人工智能·智能手机·aigc·飞书
卷积殉铁子8 小时前
从“手动挡”到“自动驾驶”:OpenClaw如何让AI开发变成“说话就行”
人工智能
机器之心8 小时前
扎克伯格正在打造自己的「AI分身」,并计划裁掉1.6万人
人工智能·openai
机器之心8 小时前
必看!Sebastian Raschka新博客盘点了所有主要注意力机制
人工智能·openai
Kel9 小时前
深入剖析 openai-node 源码:一个工业级 TypeScript SDK 的架构之美
javascript·人工智能·架构
岛雨QA10 小时前
Skill学习指南🧑‍💻
人工智能·agent·ai编程
波动几何10 小时前
从人性到无名:一条向内的觉悟之路
人工智能
EllenLiu10 小时前
架构演进与性能压榨:在金融 RAG 中引入条款森林 (FoC)
人工智能·架构
IT_陈寒10 小时前
深入理解JavaScript:核心原理与最佳实践
前端·人工智能·后端