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 (成本追踪)
相关推荐
智驱力人工智能7 分钟前
小区高空抛物AI实时预警方案 筑牢社区头顶安全的实践 高空抛物检测 高空抛物监控安装教程 高空抛物误报率优化方案 高空抛物监控案例分享
人工智能·深度学习·opencv·算法·安全·yolo·边缘计算
qq_1601448711 分钟前
亲测!2026年零基础学AI的入门干货,新手照做就能上手
人工智能
Howie Zphile11 分钟前
全面预算管理难以落地的核心真相:“完美模型幻觉”的认知误区
人工智能·全面预算
人工不智能57713 分钟前
拆解 BERT:Output 中的 Hidden States 到底藏了什么秘密?
人工智能·深度学习·bert
盟接之桥16 分钟前
盟接之桥说制造:引流品 × 利润品,全球电商平台高效产品组合策略(供讨论)
大数据·linux·服务器·网络·人工智能·制造
kfyty72516 分钟前
集成 spring-ai 2.x 实践中遇到的一些问题及解决方案
java·人工智能·spring-ai
h64648564h33 分钟前
CANN 性能剖析与调优全指南:从 Profiling 到 Kernel 级优化
人工智能·深度学习
数据与后端架构提升之路35 分钟前
论系统安全架构设计及其应用(基于AI大模型项目)
人工智能·安全·系统安全
忆~遂愿39 分钟前
ops-cv 算子库深度解析:面向视觉任务的硬件优化与数据布局(NCHW/NHWC)策略
java·大数据·linux·人工智能
Liue6123123143 分钟前
YOLO11-C3k2-MBRConv3改进提升金属表面缺陷检测与分类性能_焊接裂纹气孔飞溅物焊接线识别
人工智能·分类·数据挖掘