| import json |
| import random |
| from utils import push_alpaca_dataset_to_hf |
|
|
| def generate_slides_dataset(num_samples=500): |
| """ |
| Sinh dữ liệu cho việc tạo cấu trúc trình chiếu (Slides/Presentation). |
| Output JSON sẽ bao gồm danh sách các trang slide với nội dung và hiệu ứng. |
| """ |
| chu_des = [ |
| "Báo cáo kết quả kinh doanh quý 3", "Kế hoạch marketing năm mới", |
| "Đào tạo nhân sự mới", "Giới thiệu sản phẩm phần mềm", |
| "Tổng kết phong trào thi đua", "Dự án phát triển ứng dụng di động" |
| ] |
| phong_cach = ["Chuyên nghiệp", "Ngắn gọn", "Trực quan", "Thuyết phục"] |
|
|
| prompt_templates = [ |
| "Lên dàn ý slide cho chủ đề: {chu_de} với phong cách {phong_cach}.", |
| "Tạo cấu trúc trình chiếu (JSON) gồm 3-4 slide về {chu_de}.", |
| "Đóng vai chuyên gia thuyết trình, thiết kế một bài slide ngắn về {chu_de}." |
| ] |
|
|
| formatted_dataset = [] |
| print(f"Đang tạo {num_samples} mẫu cho cụm Presentation (Trình chiếu)...") |
|
|
| for _ in range(num_samples): |
| chu_de = random.choice(chu_des) |
| pc = random.choice(phong_cach) |
| |
| |
| structured_output = { |
| "presentation_title": chu_de, |
| "theme": "corporate", |
| "slides": [ |
| { |
| "slide_number": 1, |
| "title": chu_de.upper(), |
| "content": ["Trình bày bởi: Linh Hương Office", "Cập nhật mới nhất"], |
| "animation": "fade-in" |
| }, |
| { |
| "slide_number": 2, |
| "title": "Mục Tiêu Chính", |
| "content": ["Nắm bắt yêu cầu", "Triển khai nhanh chóng", "Tối ưu hóa nguồn lực"], |
| "animation": "slide-left" |
| }, |
| { |
| "slide_number": 3, |
| "title": "Chi Tiết Triển Khai", |
| "content": ["Giai đoạn 1: Chuẩn bị", "Giai đoạn 2: Thực thi", "Giai đoạn 3: Đánh giá"], |
| "animation": "zoom-in" |
| } |
| ] |
| } |
| |
| instruction = random.choice(prompt_templates).format(chu_de=chu_de, phong_cach=pc) |
| |
| alpaca_item = { |
| "instruction": instruction, |
| "input": "", |
| "output": json.dumps(structured_output, ensure_ascii=False, indent=2) |
| } |
| formatted_dataset.append(alpaca_item) |
|
|
| repo_name = "linhhuong-office-slides-instruct" |
| push_alpaca_dataset_to_hf(formatted_dataset, repo_name) |
|
|