Skip to content

Latest commit

 

History

History
264 lines (188 loc) · 10.8 KB

File metadata and controls

264 lines (188 loc) · 10.8 KB

AutoPage: Human-Agent Collaborative Paper-to-Page Crafting for Under $0.1

If you find our work useful, please consider giving us a star🌟

🔥 News

  • [2025.10.20] We release the paper, code and project pages (Refresh the page to see a new version each time).

📝 TODO

  • Code Release
  • Paper Release
  • Datasets
  • Huggingface Demo

📋 Table of Contents

🔎 Overview

To address the questions "How to create a webpage from an academic paper?" and "How to evaluate the project webpage?", we propose AutoPage and PageBench. AutoPage transforms academic papers into polished, published-ready project webpages through a human-in-the-loop multi-agent pipeline, while PageBench provides automatic evaluation across content quality and visual design quality dimensions.

Overall

📚 Pipeline

AutoPage is a human-agent collaborative multi-agent system that transforms PDF documents into HTML project pages through interactive human feedback. AutoPage Overview

🛠️ Installation

🔧 Setup

Environment

conda create -n autopage python=3.10
conda activate autopage
pip install -r requirements.txt
conda install -c conda-forge poppler

And install the Playwright

playwright install

API Key

Create the .env file under the root path and add your API key (e.g., GEMINI_API_KEY, OPENAI_API_KEY, OPENROUTER_API_KEY):

OPENAI_API_KEY=<your_openai_api_key>
GEMINI_API_KEY=<your_gemini_api_key>
OPENROUTER_API_KEY=<your_openrouter_api_key>

to the .env file


🚀 Quick Start

Create a folder named {pdfs} under {AutoPage}, and place your paper inside it as a PDF file named paper_name.pdf.

📁 {AutoPage}/
└── 📁 {pdfs}/
    └── 📄 paper_name.pdf

To use open-source models, you need to first deploy them using vLLM, ensuring the port is correctly specified in the get_agent_config() function in utils/wei_utils.py.

  • [High Performance And Fast] Generate a poster with GPT-4o-mini or gemini-2.5-flash:

You can select a template from the templates folder or define a template style. A. If you will define the style, please leave template_dir and template_file empty and select background_color, has_navigation, has_hero_section, title_color, page_density, image_layout . B. If you have selected a template from the templates folder, as an example, please fill in the template_dir and template_file with templates/airi-institute.github.io and templates/airi-institute.github.io/HairFastGAN/index.html.

dataset_dir="pdfs"
paper_name="pdf_name"  # your_pdf_name

python -m ProjectPageAgent.main_pipline\
    --paper_path="${dataset_dir}/${paper_name}.pdf" \  # Do not change
    --model_name_t="your_text_model" \      # LLM
    --model_name_v="your_vlm_model" \       # VLM
    --template_root="templates" \           # Do not change
    --template_dir="your_template_dir" \
    --template_file="your_template_file" \
    --output_dir="generated_project_pages" \ 
    --full_content_check_times=2 \    
    --html_check_times=2 \          
    --resume='parse_pdf' \         
    --human_input='1' \          # Is human feedback required?
    --background_color='dark' \  # Background color ,choose in ['light', 'dark']
    --has_navigation="yes" \     # choose in ['yes', 'no']
    --has_hero_section="no" \    # choose in ['yes', 'no']
    --title_color="colorful" \   # choose in ['pure', 'colorful']
    --page_density="compact" \   # choose in ['spacious', 'compact']
    --image_layout="rotation"    # choose in ['rotation', 'parallelism']
    

AutoPage supports flexible combination of LLM / VLM, feel free to try other options, or customize your own settings in get_agent_config() in utils/wei_utils.py.

💻 Start with Gradio

If you prefer to run it in the frontend, just use the gradio via:

python app.py

📹 Demo Video

We provide a complete Gradio demo video that demonstrates how to use AutoPage to generate project webpages from academic papers:

demo_video.mp4

You can watch this video to understand the complete usage workflow and interface operations.

📐 Evaluation

In evaluation, project pages are stored under a directory called generated_project_pages.

To evaluate a generated webpage :

python -m PageEval.page_eval\
    --paper_name="your_paper_name" \
    --html_path="yout_generated_html_path" \  # e.g ,generated_project_pages/AutoPage/index.html
    --vlm_name="gemini-2.5-flash" \      # VLM
    --llm_name="gemini-2.5-flash"        # LLM
   

⚙️ Add Model for Camel

AutoPage is based on CAMEL, and the configuration file may not contain all the models you need. If you need to add a new model, please follow the steps below:

  1. Open file utils/wei_utils.py , add elif in function get_agent_config and set it up like below:
elif model_type == 'qwen-long':   # The name you use when calling
      agent_config = {
          "model_type": ModelType.QWEN_LONG,      # ModelType
          "model_config": QwenConfig().as_dict(),  # Confirm the model manufacturer you are using
          'model_platform': ModelPlatformType.QWEN, # Confirm the model ModelPlatformType you are using
      }
  1. open file camel/types/enums.py, add ModelType using the above example:
  QWEN_LONG = "qwen-long"  # must be the formal name of the model in " " 

  def is_qwen(self) -> bool:
      return self in {
          ModelType.QWEN_MAX,
          ModelType.QWEN_PLUS,    
          ModelType.QWEN_TURBO,
          ModelType.QWEN_LONG,        # This is newly added
          ModelType.QWEN_VL_MAX,
          ModelType.QWEN_VL_PLUS,
          ModelType.QWEN_MATH_PLUS,
          ModelType.QWEN_MATH_TURBO,
          ModelType.QWEN_CODER_TURBO,
          ModelType.QWEN_2_5_CODER_32B,
          ModelType.QWEN_2_5_VL_72B,
          ModelType.QWEN_2_5_72B,
          ModelType.QWEN_2_5_32B,
          ModelType.QWEN_2_5_14B,
          ModelType.QWEN_QWQ_32B,
          ModelType.QWEN_QVQ_72B,
          ModelType.QWEN_QWQ_PLUS,
          ModelType.QWEN_PLUS_LATEST,
          ModelType.QWEN_PLUS_2025_04_28,
          ModelType.QWEN_TURBO_LATEST,
          ModelType.QWEN_TURBO_2025_04_28,
          ModelType.QWEN_3_CODER_PLUS,
      }

Following the same way you can add any model supported by Camel

✒️ Citation

If you find AutoPage useful for your research and applications, please kindly cite our paper using this BibTeX:

@misc{ma2025paper2page,
      title={Human-Agent Collaborative Paper-to-Page Crafting for Under $0.1}, 
      author={Qianli Ma and Siyu Wang and Yilin Chen and Yinhao Tang and Yixiang Yang and Chang Guo and Bingjie Gao and Zhening Xing and Yanan Sun and Zhipeng Zhang},
      year={2025},
      eprint={2510.19600},
      archivePrefix={arXiv},
      primaryClass={cs.SE},
      url={https://arxiv.org/abs/2510.19600}, 
}

❤️ Acknowledgement

✍️ AutoPage Contributers

Order is based on the time joining the project:

Qianli Ma, Yinhao Tang, Siyu Wang, Yilin Chen, Zhening Xing.

🤗 Open-Sourced Repositories

This project wouldn't be possible without the following open-sourced repositories: CAMEL, Docling, and Paper2Poster.

Thanks to all the contributors for their great work!

Paper2Anything Family

AutoPage represents a crucial component of the Paper2Anything ecosystem, which is dedicated to the automated transformation of academic papers into diverse presentation formats. This rapidly evolving field has witnessed the emergence of numerous innovative works from the research community, collectively advancing the frontiers of academic content automation:

🎯 Related Projects

🪧 Poster

  • Paper2Poster - Automated generation of academic posters from research papers, featuring multiple template designs and layout configurations
  • P2P - An AI-powered tool that automatically converts academic research papers into professional conference posters.

📽 Video

  • Paper2Video - Automatic Video Generation from Scientific Papers
  • Preacher - An intelligent agent system that automatically transforms scientific papers into video abstracts.
  • PresentAgent - A multimodal agent that transforms long-form documents into narrated presentation videos.

📝 Promotional Post

  • AutoPR - Automated generation of press releases and media materials from academic papers, suitable for public communication and science outreach

📑 Slides

  • PPTAgent - An innovative system that automatically generates presentations from documents.

🤖 AI Agents

  • Paper2Agent - A multi-agent AI system that automatically transforms research papers into interactive AI agents with minimal human input