Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| from groq import Groq | |
| import time | |
| # Thiết lập trang | |
| st.set_page_config( | |
| page_title="Lập Lịch Video Laya Green 2025", | |
| page_icon="💄", | |
| layout="wide" | |
| ) | |
| # CSS tùy chỉnh | |
| st.markdown(""" | |
| <style> | |
| .stTextInput input, .stTextArea textarea { | |
| border-radius: 10px !important; | |
| padding: 10px !important; | |
| } | |
| .stButton button { | |
| width: 100%; | |
| border-radius: 10px; | |
| padding: 10px; | |
| background-color: #6a8d73; | |
| color: white; | |
| font-weight: bold; | |
| } | |
| .stButton button:hover { | |
| background-color: #5a7c63; | |
| } | |
| .stMarkdown h1, .stMarkdown h2, .stMarkdown h3 { | |
| color: #6a8d73; | |
| } | |
| </style> | |
| """, unsafe_allow_html=True) | |
| # Khởi tạo Groq client | |
| client = Groq(api_key=st.secrets["GROQ_API_KEY"]) | |
| # Tiêu đề ứng dụng với branding Laya Green | |
| st.title("📅 Lập Lịch Video Content 2025") | |
| st.markdown(f""" | |
| <div style="background-color:#f0f7f4;padding:15px;border-radius:10px;margin-bottom:20px"> | |
| <h4 style="color:#6a8d73">Công cụ thiết kế lịch đăng video dành riêng cho thương hiệu mỹ phẩm thiên nhiên Laya Green</h4> | |
| </div> | |
| """, unsafe_allow_html=True) | |
| # Phần nhập thông tin | |
| with st.expander("🔍 THÔNG TIN THƯƠNG HIỆU", expanded=True): | |
| target_audience = st.text_area( | |
| "Mô tả khách hàng mục tiêu của Laya Green", | |
| placeholder="Ví dụ: Nữ 20-35 tuổi, quan tâm skincare thiên nhiên, thích làm đẹp an toàn...", | |
| height=100, | |
| help="Càng chi tiết càng giúp tạo nội dung phù hợp" | |
| ) | |
| products_input = st.text_area( | |
| "Danh sách sản phẩm của Laya Green", | |
| placeholder="Ví dụ: Serum trị mụn Organic, Kem dưỡng trắng da Chiết xuất Sakura, Tẩy trang dầu Argan...", | |
| height=100, | |
| help="Nhập các sản phẩm, mỗi sản phẩm trên một dòng hoặc cách nhau bằng dấu phẩy" | |
| ) | |
| # Phần chiến lược hiện tại | |
| with st.expander("📈 HOẠT ĐỘNG MARKETING HIỆN TẠI"): | |
| current_marketing = st.text_area( | |
| "Các hoạt động truyền thông đang triển khai", | |
| placeholder="Ví dụ: Đang chạy quảng cáo Tiktok về serum, có group cộng đồng về làm đẹp tự nhiên...", | |
| height=120 | |
| ) | |
| # Chọn khoảng thời gian | |
| time_period = st.selectbox( | |
| "Chọn khoảng thời gian cho lịch video", | |
| options=["1 tuần", "1 tháng"], | |
| help="Chọn khoảng thời gian bạn muốn lập kế hoạch video" | |
| ) | |
| # Nút tạo kế hoạch | |
| if st.button('✨ TẠO LỊCH VIDEO 2025', type="primary"): | |
| if not target_audience: | |
| st.warning("Vui lòng nhập thông tin khách hàng mục tiêu") | |
| st.stop() | |
| if not products_input: | |
| st.warning("Vui lòng nhập danh sách sản phẩm") | |
| st.stop() | |
| # Xử lý danh sách sản phẩm | |
| products = [p.strip() for p in products_input.replace('\n', ',').split(',') if p.strip()] | |
| with st.spinner("Đang tạo lịch video tối ưu cho Laya Green..."): | |
| progress_bar = st.progress(0) | |
| # Xác định số lượng video và mô tả thời gian dựa trên lựa chọn | |
| if time_period == "1 tuần": | |
| num_videos = 2 # Giả sử 2 video cho 1 tuần | |
| period_description = "1 tuần" | |
| else: # 1 tháng | |
| num_videos = 4 # Giả sử 4 video cho 1 tháng | |
| period_description = "1 tháng" | |
| # Tạo prompt chuyên biệt cho mỹ phẩm | |
| prompt_text = f""" | |
| Hãy tạo lịch đăng video marketing {period_description} cho thương hiệu mỹ phẩm thiên nhiên Laya Green với các sản phẩm: {', '.join(products)}. | |
| Khách hàng mục tiêu: {target_audience} | |
| Yêu cầu chi tiết: | |
| 1. Định dạng bằng tiếng Việt | |
| 2. {num_videos} video cho {period_description} | |
| 3. Mỗi video cần có: | |
| - Tiêu đề hấp dẫn | |
| - Concept rõ ràng | |
| - Sản phẩm liên quan | |
| - Gợi ý format (tutorial, review, before-after,...) | |
| 4. Kết hợp các hoạt động hiện tại: {current_marketing} | |
| 5. Tỷ lệ nội dung: | |
| - 50% giáo dục (hướng dẫn skincare, kiến thức thành phần) | |
| - 30% showcase sản phẩm | |
| - 20% user-generated content | |
| 6. Có các chủ đề theo mùa hoặc sự kiện gần nhất (Tết, Valentine, 8/3,...) | |
| 7. Ưu tiên xu hướng làm đẹp 2025 | |
| """ | |
| # Gọi API Groq | |
| try: | |
| for i in range(10): | |
| progress_bar.progress((i + 1) * 10) | |
| time.sleep(0.1) | |
| chat_completion = client.chat.completions.create( | |
| messages=[ | |
| { | |
| "role": "system", | |
| "content": """ | |
| Bạn là chuyên gia content cho thương hiệu mỹ phẩm cao cấp. | |
| Bạn rất am hiểu về skincare routine, thành phần mỹ phẩm organic, | |
| và các xu hướng làm đẹp năm 2025. Hãy tạo content sáng tạo, | |
| tự nhiên và thể hiện được tinh thần xanh của Laya Green. | |
| """ | |
| }, | |
| { | |
| "role": "user", | |
| "content": prompt_text | |
| } | |
| ], | |
| model="meta-llama/Llama-4-Maverick-17B-128E-Instruct", | |
| temperature=0.7, | |
| max_tokens=4000 | |
| ) | |
| marketing_plan = chat_completion.choices[0].message.content | |
| # Hiển thị kết quả | |
| st.success(f"✅ Lịch video cho {period_description} đã sẵn sàng!") | |
| st.balloons() | |
| with st.expander(f"📅 LỊCH VIDEO LAYA GREEN 2025 ({period_description})", expanded=True): | |
| st.markdown(marketing_plan) | |
| # Tải về file | |
| st.download_button( | |
| label="💾 Tải về bản đầy đủ", | |
| data=marketing_plan, | |
| file_name=f"Lich_video_Laya_Green_2025_{period_description.replace(' ', '_')}.txt", | |
| mime="text/plain" | |
| ) | |
| except Exception as e: | |
| st.error(f"Có lỗi xảy ra: {str(e)}") | |
| # Footer | |
| st.markdown("---") | |
| st.markdown("<div style='text-align: center; color: #6a8d73'>© 2024 Laya Green - Mỹ phẩm thiên nhiên cao cấp</div>", unsafe_allow_html=True) |