Skip to main content
https://github.com/icip-cas/PPTAgent

We strongly recommend deploying our fine-tuned model for the best experience with our agent project. According to our experiments, it significantly outperforms existing open-source models.

Format HuggingFace ModelScope
GGUF (Quantized) Forceless/DeepPresenter-9B-GGUF forceless/DeepPresenter-9B-GGUF
Full Weights Forceless/DeepPresenter-9B forceless/DeepPresenter-9B

📅 News

  • [2026/04] 🎉 DeepPresenter accepted to ACL 2026!
  • [2026/03] 🤗 We released fine-tuned models and taskset on Hugging Face.
  • [2026/01] 🆕 Freeform & template generation now support PPTX export and offline mode. Context management added to prevent context overflow.
  • [2025/12] 🔥 Released DeepPresenter codebase with major upgrades — Deep Research Integration, Free-Form Visual Design, Autonomous Asset Creation, Text-to-Image Generation, and an Agent Environment with sandbox & 20+ tools.
  • [2025/09] 🛠️ MCP server support added — see MCP Server for configuration details.
  • [2025/08] 🎉 PPTAgent accepted to EMNLP 2025!
  • [2025/05] ⭐ Reached 1,000 stars on GitHub!
  • [2025/01] 🔓 Open-sourced the PPTAgent codebase.

Usage 📖

Configuration

If you use the CLI, pptagent onboard can help create and update these configurations interactively. If you use Docker Compose or build from source, you should prepare them manually:

cp deeppresenter/config.yaml.example deeppresenter/config.yaml
cp deeppresenter/mcp.json.example deeppresenter/mcp.json

Optional Services That Improve Quality

The following services can noticeably improve generation quality, especially for research depth, PDF parsing, and visual asset creation:

If you want a fully offline setup, deploy MinerU locally and set offline_mode: true in deeppresenter/config.yaml to avoid loading network-dependent tools such as web search.

More configurable variables can be found in constants.py.

1. Personal Use / OpenClaw Integration: CLI

Use this mode if you want the fastest local setup or want to plug DeepPresenter into OpenClaw through the CLI.

# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh

# First-time interactive setup
uvx pptagent onboard

# Generate a presentation
uvx pptagent generate "Single Page with Title: Hello World" -o hello.pptx

# Generate with attachments
uvx pptagent generate "Q4 Report" \
  -f data.xlsx \
  -f charts.pdf \
  -p "10-12" \
  -o report.pptx
Command Description
pptagent onboard Interactive configuration wizard
pptagent generate Generate presentations
pptagent config View current configuration
pptagent reset Reset configuration
pptagent serve Start the local inference service used by the CLI

2. Minimal Setup / Development: Build From Source

Use this mode if you want the smallest abstraction layer and full control over dependencies during development.

uv pip install -e .
playwright install-deps
playwright install chromium
npm install --prefix deeppresenter/html2pptx
modelscope download forceless/fasttext-language-id

docker pull forceless/deeppresenter-sandbox
docker pull forceless/deeppresenter-host
docker tag forceless/deeppresenter-sandbox deeppresenter-sandbox

# or build from dockerfile
docker build -t deeppresenter-sandbox -f deeppresenter/docker/SandBox.Dockerfile .

Start the app:

python webui.py

3. Server Deployment: Docker Compose

Use this mode for a stable server environment with explicit dependencies.

# Pull the public images to avoid build from source
docker pull forceless/deeppresenter-sandbox
docker tag forceless/deeppresenter-sandbox deeppresenter-sandbox

# Or build from source
docker build -t deeppresenter-sandbox -f deeppresenter/docker/SandBox.Dockerfile .

# Start the host service
docker compose up -d

The service exposes the web UI on http://localhost:7861.

Case Study 💡

  • Prompt: Please present the given document to me.

图片1 图片2 图片3 图片4 图片5 图片6 图片7 图片8 图片9 图片10
  • Prompt: 请介绍小米 SU7 的外观和价格

图片1 图片2 图片3 图片4 图片5 图片6
  • Prompt: 请制作一份高中课堂展示课件,主题为“解码立法过程:理解其对国际关系的影响”

图片1 图片2 图片3 图片4 图片5 图片6 图片7 图片8 图片9 图片10 图片11 图片12 图片13 图片14 图片15

Contributors 🌟

Force1ess/
Force1ess
Puelloc/
Puelloc
hongyan/
hongyan
BrandonHu/
BrandonHu
Dnoob/
Dnoob
Sadahlu/
Sadahlu
KurisuMakiseSame/
KurisuMakiseSame
Aarish
Aarish Alam
Angelen/
Angelen
Eliot
Eliot White
EvolvedGhost/
EvolvedGhost
ISCAS-zwl/
ISCAS-zwl
James
James Brown
JunZhang/
JunZhang
Open
Open AI Tx
Sense_wang/
Sense_wang
SuYao/
SuYao
Zakir
Zakir Jiwani
Zhenyu/
Zhenyu
lnennnn/
lnennnn

Star History Chart

Citation 🙏

If you find this project helpful, please use the following to cite it:

@inproceedings{zheng-etal-2025-pptagent,
    title = "{PPTA}gent: Generating and Evaluating Presentations Beyond Text-to-Slides",
    author = "Zheng, Hao  and
      Guan, Xinyan  and
      Kong, Hao  and
      Zhang, Wenkai  and
      Zheng, Jia  and
      Zhou, Weixiang  and
      Lin, Hongyu  and
      Lu, Yaojie  and
      Han, Xianpei  and
      Sun, Le",
    editor = "Christodoulopoulos, Christos  and
      Chakraborty, Tanmoy  and
      Rose, Carolyn  and
      Peng, Violet",
    booktitle = "Proceedings of the 2025 Conference on Empirical Methods in Natural Language Processing",
    month = nov,
    year = "2025",
    address = "Suzhou, China",
    publisher = "Association for Computational Linguistics",
    url = "https://aclanthology.org/2025.emnlp-main.728/",
    doi = "10.18653/v1/2025.emnlp-main.728",
    pages = "14413--14429",
    ISBN = "979-8-89176-332-6",
    abstract = "Automatically generating presentations from documents is a challenging task that requires accommodating content quality, visual appeal, and structural coherence. Existing methods primarily focus on improving and evaluating the content quality in isolation, overlooking visual appeal and structural coherence, which limits their practical applicability. To address these limitations, we propose PPTAgent, which comprehensively improves presentation generation through a two-stage, edit-based approach inspired by human workflows. PPTAgent first analyzes reference presentations to extract slide-level functional types and content schemas, then drafts an outline and iteratively generates editing actions based on selected reference slides to create new slides. To comprehensively evaluate the quality of generated presentations, we further introduce PPTEval, an evaluation framework that assesses presentations across three dimensions: Content, Design, and Coherence. Results demonstrate that PPTAgent significantly outperforms existing automatic presentation generation methods across all three dimensions."
}

@misc{zheng2026deeppresenterenvironmentgroundedreflectionagentic,
      title={DeepPresenter: Environment-Grounded Reflection for Agentic Presentation Generation},
      author={Hao Zheng and Guozhao Mo and Xinru Yan and Qianhao Yuan and Wenkai Zhang and Xuanang Chen and Yaojie Lu and Hongyu Lin and Xianpei Han and Le Sun},
      year={2026},
      eprint={2602.22839},
      archivePrefix={arXiv},
      primaryClass={cs.AI},
      url={https://arxiv.org/abs/2602.22839},
}

Metadata

Release files for pptagent 1.1.38

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pptagent 1.1.38
File Size Uploaded
pptagent-1.1.38.tar.gz 4.8 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for pptagent 1.1.38
File Interpreter ABI Platform
pptagent-1.1.38-py3-none-any.whl Python 3 none any Details

Total release size: 9.7 MB

Release files / pptagent-1.1.38.tar.gz

Download URL pptagent-1.1.38.tar.gz
Size 4.8 MB
Tags Source
SHA-256 checksum
How to use checksums
dc47365cf62e3bc5fe5ff3f3c1acd08a926afdf67fba6f0b11a5728e23bb657b
BLAKE2b-256 checksum
How to use checksums
4fce5e6df31d6af7c5def1515dec01429c4900e70ed081a026b4fa11e1afd47c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.14 {"installer":{"name":"uv","version":"0.9.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / pptagent-1.1.38-py3-none-any.whl

Download URL pptagent-1.1.38-py3-none-any.whl
Size 4.9 MB
Tags Python 3
SHA-256 checksum
How to use checksums
3b9c29653c5567798f11879c4bb9019028d4e163fcc0ca670249f935cc87c48d
BLAKE2b-256 checksum
How to use checksums
92786bb279697f3abb2e278714bd2772789a8d7be550270f0ec41700887444c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.14 {"installer":{"name":"uv","version":"0.9.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

1.1.38 This release

2 release files

1.1.37

2 release files

1.1.36

2 release files

1.1.35

2 release files

1.1.32

2 release files

1.1.31

2 release files

1.1.30

2 release files

1.1.29

2 release files

1.1.28

2 release files

1.1.27

2 release files

1.1.26

2 release files

1.1.24

2 release files

1.1.22

2 release files

1.1.21

2 release files

1.1.20

2 release files

1.1.19

2 release files

1.1.18

2 release files

1.1.17

2 release files

1.1.16

2 release files

1.1.15

2 release files

1.1.14

2 release files

1.1.13

2 release files

1.1.12

2 release files

1.1.11

2 release files

1.1.10

2 release files

1.1.9

2 release files

1.1.8

2 release files

1.1.7

2 release files

1.1.6

2 release files

1.1.5

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.2.18

2 release files

0.2.17

2 release files

0.2.15

2 release files

0.2.14

2 release files

0.2.13

2 release files

0.2.11

2 release files

0.2.10

2 release files

0.2.9

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page