Spaces:
Sleeping
Sleeping
| import json | |
| import time | |
| import os | |
| from voice_generator import generate_voice_script | |
| # ============================================================================== | |
| # CẤU HÌNH CHIẾN DỊCH | |
| # ============================================================================== | |
| # Bạn có thể đổi range(1, 11) thành range(1, 101) nếu muốn chạy 100 khách | |
| CUSTOMER_IDS_TO_PROCESS = range(1, 11) | |
| OUTPUT_FILE = 'final_voice_scripts.json' | |
| def main(): | |
| print(f" BẮT ĐẦU DÂY CHUYỀN SẢN XUẤT KỊCH BẢN ({len(CUSTOMER_IDS_TO_PROCESS)} KHÁCH)...\n") | |
| packaged_data = [] | |
| success_count = 0 | |
| fail_count = 0 | |
| start_time = time.time() | |
| # --- VÒNG LẶP XỬ LÝ TỪNG KHÁCH HÀNG --- | |
| for cid in CUSTOMER_IDS_TO_PROCESS: | |
| print(f" Đang xử lý ID {cid}...", end=" ", flush=True) | |
| try: | |
| # 1. GỌI AI (Chỉ nhận 1 giá trị duy nhất) | |
| script_data = generate_voice_script(cid) | |
| if script_data: | |
| # 2. BỔ SUNG METADATA (Thông tin quản lý) | |
| script_data['created_at'] = time.strftime("%Y-%m-%d %H:%M:%S") | |
| script_data['status'] = "READY_TO_CALL" | |
| # Thêm vào danh sách đóng gói | |
| packaged_data.append(script_data) | |
| success_count += 1 | |
| print(" XONG") | |
| else: | |
| fail_count += 1 | |
| print(" BỎ QUA (Không có gói cước phù hợp)") | |
| except Exception as e: | |
| print(f"LỖI CODE: {e}") | |
| fail_count += 1 | |
| # Nghỉ 1.5 giây để tránh bị Google chặn API (Rate Limit) | |
| time.sleep(1.5) | |
| # --- GHI FILE JSON (FINAL PACKAGING) --- | |
| print("\n" + "-"*50) | |
| print("📦 ĐANG ĐÓNG GÓI DỮ LIỆU...") | |
| try: | |
| with open(OUTPUT_FILE, 'w', encoding='utf-8') as f: | |
| # ensure_ascii=False để giữ nguyên tiếng Việt có dấu | |
| json.dump(packaged_data, f, indent=4, ensure_ascii=False) | |
| elapsed_time = time.time() - start_time | |
| print(f"HOÀN TẤT! File kết quả: {OUTPUT_FILE}") | |
| print(f"Tổng: {len(CUSTOMER_IDS_TO_PROCESS)} | Thành công: {success_count} | Bỏ qua: {fail_count}") | |
| print(f" Tổng thời gian: {elapsed_time:.1f} giây") | |
| except Exception as e: | |
| print(f"LỖI GHI FILE: {e}") | |
| print("-"*50) | |
| if __name__ == "__main__": | |
| main() |