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 (成本追踪)
相关推荐
weixin_468466853 小时前
从“看懂”到“做到”:视觉-语言-动作模型如何让机器人真正执行指令
人工智能·ai·机器人·大语言模型·前沿科技
朋友圈自动点赞工具3 小时前
科学AI插件化:从蛋白质结构到古籍修复
人工智能
龙粤GEO3 小时前
实体Entity在GEO中代表什么含义
人工智能
剑雨巍巍4 小时前
AI Agent面试之基础概念
人工智能
微帧Visionular4 小时前
AI视频单帧清晰,播放时却闪烁,原因是什么?
人工智能·深度学习·音视频
武子康5 小时前
MultiNet6 空闲崩溃:`EXCVADDR=0x8` 后又出现 `CORRUPT HEAP`
人工智能·后端·agent
云智慧AIOps社区5 小时前
智能巡检机器人应用场景解析:机房巡检、园区安防、管廊巡视与展厅导览
人工智能·机器人·具身智能·智能巡检机器人·企业级智能巡检机器人·机房巡检机器人·导览机器人
EnCi Zheng5 小时前
Agent 如何进行工具调用:从一次 Function Calling 到生产级工具编排的完整链路
大数据·人工智能·agent·ai编程·工具调用
赛博守夜人5 小时前
AI安全攻防与治理之十四:AI 安全测试不能脱离传统安全,Web、API、移动端与模型攻击面的组合拳
前端·人工智能·安全
lovingsoft5 小时前
AI 时代未来软件形态趋势:从固定功能应用,走向意图驱动、智能体原生的柔性系统-浅析
人工智能