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 (成本追踪)
相关推荐
小苑同学2 小时前
判断大语言模型(LLMs)是否被“越狱成功“的四类方法
人工智能·语言模型·自然语言处理
Francek Chen2 小时前
【自然语言处理】应用03:情感分析:使用卷积神经网络
人工智能·pytorch·深度学习·神经网络·自然语言处理·cnn
fei_sun2 小时前
数字图像处理
人工智能·算法·计算机视觉
AI工具指南2 小时前
2025年AI生成PPT工具技术评测:主流方案对比与选型指南
人工智能·信息可视化·powerpoint
Elastic 中国社区官方博客2 小时前
使用 Elasticsearch Agent Builder 构建对话式费用助手,结合 Telegram, n8n 和 AWS Bedrock
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·aws
山海青风2 小时前
藏文TTS介绍:4 神经网络 TTS 的随机性与自然度
人工智能·python·神经网络·音视频
Deepoch2 小时前
从“单体智能”到“群体协同”:机器狗集群的分布式智能演进之路
人工智能·科技·开发板·具身模型·deepoc·机械狗
人工智能技术咨询.2 小时前
【无标题】基于Tensorflow库的RNN模型预测实战
人工智能
yumgpkpm2 小时前
Cloudera CDH5|CDH6|CDP7.1.7|CDP7.3|CMP 7.3的产品优势分析(在华为鲲鹏 ARM 麒麟KylinOS、统信UOS)
大数据·人工智能·hadoop·深度学习·spark·transformer·cloudera