| ---
|
| license: mit
|
| tags:
|
| - text-to-video
|
| - prompt-engineering
|
| - video-generation
|
| - llm
|
| - rag
|
| - research
|
| datasets:
|
| - junchenfu/llmpopcorn_prompts
|
| - junchenfu/microlens_rag
|
| pipeline_tag: text-generation
|
| ---
|
|
|
| # LLMPopcorn Usage Instructions
|
|
|
| Welcome to LLMPopcorn! This guide will help you generate video titles and prompts, as well as create AI-generated videos based on those prompts.
|
|
|
| ## Prerequisites
|
|
|
| ### Install Required Python Packages
|
|
|
| Before running the scripts, ensure that you have installed the necessary Python packages. You can do this by executing the following command:
|
|
|
| ```bash
|
| pip install torch transformers diffusers tqdm numpy pandas sentence-transformers faiss-cpu openai huggingface_hub safetensors
|
| ```
|
|
|
| **Download the MicroLens Dataset**:
|
| Download the following files from the [MicroLens dataset](https://github.com/westlake-repl/MicroLens) and place them in the `Microlens/` folder:
|
|
|
| | File | Description |
|
| |------|-------------|
|
| | `MicroLens-100k_likes_and_views.txt` | Video engagement stats (tab-separated) |
|
| | `MicroLens-100k_title_en.csv` | Cover image descriptions (comma-separated) |
|
| | `Microlens100K_captions_en.csv` | Video captions in English (tab-separated) |
|
| | `MicroLens-100k_comment_en.txt` | User comments (tab-separated) |
|
| | `tags_to_summary.csv` | Video category tags (comma-separated) |
|
|
|
| Your directory structure should look like:
|
| ```
|
| LLMPopcorn/
|
| βββ Microlens/
|
| β βββ MicroLens-100k_likes_and_views.txt
|
| β βββ MicroLens-100k_title_en.csv
|
| β βββ Microlens100K_captions_en.csv
|
| β βββ MicroLens-100k_comment_en.txt
|
| β βββ tags_to_summary.csv
|
| βββ PE.py
|
| βββ pipline.py
|
| βββ ...
|
| ```
|
|
|
| ## Step 1: Generate Video Titles and Prompts
|
|
|
| To generate video titles and prompts, run the `LLMPopcorn.py` script:
|
| ```bash
|
| python LLMPopcorn.py
|
| ```
|
|
|
| To enhance LLMPopcorn, execute the `PE.py` script:
|
| ```bash
|
| python PE.py
|
| ```
|
|
|
| ## Step 2: Generate AI Videos
|
|
|
| To create AI-generated videos, execute the `generating_images_videos_three.py` script:
|
| ```bash
|
| python generating_images_videos_three.py
|
| ```
|
|
|
| ## Step 3: Clone the Evaluation Code
|
|
|
| Then, following the instructions in the MMRA repository, you can evaluate the generated videos.
|
|
|
| ## Tutorial: Using the Prompts Dataset
|
|
|
| You can easily download and use the structured prompts directly from Hugging Face:
|
|
|
| ### 1. Install `datasets`
|
| ```bash
|
| pip install datasets
|
| ```
|
|
|
| ### 2. Load the Dataset in Python
|
| ```python
|
| from datasets import load_dataset
|
|
|
| # Load the LLMPopcorn prompts
|
| dataset = load_dataset("junchenfu/llmpopcorn_prompts")
|
|
|
| # Access the data (abstract or concrete)
|
| for item in dataset["train"]:
|
| print(f"Type: {item['type']}, Prompt: {item['prompt']}")
|
| ```
|
|
|
| This dataset contains both abstract and concrete prompts, which you can use as input for the video generation scripts in Step 2.
|
|
|
| ## RAG Reference Dataset: MicroLens
|
|
|
| For the RAG-enhanced pipeline (`PE.py` + `pipline.py`), we provide a pre-processed version of the MicroLens dataset on Hugging Face so you don't need to download and process the raw files manually.
|
|
|
| The dataset is available at: [**junchenfu/microlens_rag**](https://huggingface.co/datasets/junchenfu/microlens_rag)
|
|
|
| It contains **19,560** video entries across **22 categories** with the following fields:
|
|
|
| | Column | Description |
|
| |--------|-------------|
|
| | `video_id` | Unique video identifier |
|
| | `title_en` | Cover image description (used as title) |
|
| | `cover_desc` | Cover image description |
|
| | `caption_en` | Full video caption in English |
|
| | `partition` | Video category (e.g., Anime, Game, Delicacy) |
|
| | `likes` | Number of likes |
|
| | `views` | Number of views |
|
| | `comment_count` | Number of comments (used as popularity signal) |
|
|
|
| ### Load the RAG Dataset in Python
|
|
|
| ```python
|
| from datasets import load_dataset
|
|
|
| rag_dataset = load_dataset("junchenfu/microlens_rag")
|
|
|
| # Access as a pandas DataFrame
|
| df = rag_dataset["train"].to_pandas()
|
| print(df.head())
|
| print(f"Total: {len(df)} videos, {df['partition'].nunique()} categories")
|
| ```
|
|
|