File size: 14,041 Bytes
85df0a9
df847b0
 
f74cac3
df847b0
 
 
f74cac3
 
 
 
df847b0
 
f74cac3
df847b0
 
f74cac3
df847b0
f74cac3
 
df847b0
 
 
 
f74cac3
 
df847b0
 
f74cac3
 
df847b0
 
f74cac3
 
 
df847b0
 
f74cac3
 
 
 
 
 
 
 
 
 
 
 
 
 
df847b0
 
 
 
 
 
 
f74cac3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
df847b0
f74cac3
 
df847b0
 
 
f74cac3
 
 
 
 
 
 
df847b0
f74cac3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
df847b0
f74cac3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
df847b0
f74cac3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
df847b0
f74cac3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
df847b0
f74cac3
 
690a418
 
f74cac3
df847b0
 
f74cac3
df847b0
f74cac3
df847b0
f74cac3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
df847b0
 
f74cac3
 
 
 
 
 
 
 
 
 
 
 
df847b0
 
f74cac3
 
 
 
 
 
df847b0
 
 
 
 
 
f74cac3
 
 
 
 
df847b0
 
 
 
 
 
 
186c8c9
df847b0
 
 
 
f74cac3
df847b0
 
f74cac3
df847b0
 
f74cac3
 
df847b0
 
 
f74cac3
 
 
 
df847b0
 
f74cac3
 
 
 
 
 
 
 
 
 
 
 
 
df847b0
f74cac3
df847b0
f74cac3
df847b0
f74cac3
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
import streamlit as st
from groq import Groq
import time
from datetime import datetime

# Thiết lập trang
st.set_page_config(
    page_title="Chiến Lược Kinh Doanh Chuyên Nghiệp",
    page_icon="📈",
    layout="wide",
    initial_sidebar_state="expanded"
)

# CSS tùy chỉnh nâng cao
st.markdown("""
    <style>
    .stTextInput input, .stTextArea textarea, .stSelectbox select {
        border-radius: 10px !important;
        padding: 12px !important;
        border: 1px solid #e0e0e0 !important;
    }
    .stButton button {
        width: 100%;
        border-radius: 10px;
        padding: 12px;
        background-color: #4a6fa5;
        color: white;
        font-weight: bold;
        transition: all 0.3s;
        border: none;
    }
    .stButton button:hover {
        background-color: #3a5a80;
        transform: translateY(-2px);
        box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    }
    .stMarkdown h1, .stMarkdown h2, .stMarkdown h3 {
        color: #4a6fa5;
    }
    .stExpander {
        border-radius: 10px !important;
        border: 1px solid #e0e0e0 !important;
    }
    .stProgress > div > div > div {
        background-color: #4a6fa5 !important;
    }
    .sidebar .sidebar-content {
        background-color: #f8f9fa;
    }
    [data-testid="stSidebar"] {
        background-color: #f8f9fa !important;
    }
    </style>
    """, unsafe_allow_html=True)

# Khởi tạo Groq client
client = Groq(api_key=st.secrets["GROQ_API_KEY"])

# Sidebar với thông tin công ty
with st.sidebar:
    st.image("https://via.placeholder.com/150x50?text=Business+Strategy", width=150)
    st.markdown("""
    ### Công Cụ Chiến Lược Kinh Doanh
    Phiên bản: 2.0  
    Ngày cập nhật: """ + datetime.now().strftime("%d/%m/%Y") + """
    
    ---
    """)
    st.markdown("""
    **Hướng dẫn sử dụng:**
    1. Điền đầy đủ thông tin doanh nghiệp
    2. Chọn loại chiến lược cần tư vấn
    3. Nhấn nút "Tạo Chiến Lược"
    4. Xem và tải về kết quả
    """)
    st.markdown("---")
    st.markdown("""
    **Hỗ trợ:**  
    📞 1900 1234  
    ✉️ [email protected]
    """)

# Tiêu đề ứng dụng
st.title("📊 Công Cụ Xây Dựng Chiến Lược Kinh Doanh")
st.markdown(f"""
    <div style="background-color:#f0f5ff;padding:20px;border-radius:10px;margin-bottom:20px">
    <h4 style="color:#4a6fa5">Giải pháp toàn diện cho chiến lược kinh doanh - Tối ưu hóa hiệu quả với AI</h4>
    </div>
    """, unsafe_allow_html=True)

# Tabs cho các loại chiến lược
tab1, tab2, tab3, tab4 = st.tabs([
    "📌 Thông Tin Doanh Nghiệp", 
    "🎯 Phân Tích Thị Trường", 
    "🚀 Chiến Lược Phát Triển", 
    "📅 Kế Hoạch Hành Động"
])

with tab1:
    # Phần nhập thông tin doanh nghiệp
    with st.expander("🏢 THÔNG TIN DOANH NGHIỆP", expanded=True):
        col1, col2 = st.columns(2)
        with col1:
            company_name = st.text_input("Tên doanh nghiệp")
            company_age = st.selectbox("Thời gian hoạt động", 
                                     ["Dưới 1 năm", "1-3 năm", "3-5 năm", "Trên 5 năm"])
            industry = st.selectbox("Ngành nghề kinh doanh", [
                "Bán lẻ", "Dịch vụ", "Sản xuất", "Công nghệ", 
                "Thực phẩm & Đồ uống", "Giáo dục", "Y tế", "Khác"
            ])
            
        with col2:
            revenue = st.selectbox("Doanh thu hàng năm", [
                "Dưới 1 tỷ", "1-5 tỷ", "5-10 tỷ", "10-50 tỷ", "Trên 50 tỷ"
            ])
            employee_count = st.selectbox("Số lượng nhân viên", [
                "1-10", "11-50", "51-100", "101-500", "Trên 500"
            ])
            business_model = st.selectbox("Mô hình kinh doanh", [
                "B2B", "B2C", "B2B2C", "Marketplace", "Subscription", "Khác"
            ])
    
    # Phần nhập thông tin khách hàng
    with st.expander("👥 KHÁCH HÀNG MỤC TIÊU"):
        target_audience = st.text_area(
            "Mô tả chi tiết khách hàng mục tiêu",
            placeholder="Ví dụ: Nam/Nữ, độ tuổi, thu nhập, thói quen mua sắm, nhu cầu, pain points...",
            height=120
        )
        
        col1, col2 = st.columns(2)
        with col1:
            customer_location = st.text_input("Khu vực địa lý khách hàng")
        with col2:
            customer_channel = st.multiselect(
                "Kênh tiếp cận khách hàng chính",
                ["Facebook", "Zalo", "Tiktok", "Website", "Cửa hàng", "Đại lý", "Khác"]
            )

with tab2:
    # Phần phân tích thị trường
    with st.expander("🔍 PHÂN TÍCH SWOT", expanded=True):
        col1, col2, col3, col4 = st.columns(4)
        with col1:
            strengths = st.text_area("Điểm mạnh (Strengths)", height=150)
        with col2:
            weaknesses = st.text_area("Điểm yếu (Weaknesses)", height=150)
        with col3:
            opportunities = st.text_area("Cơ hội (Opportunities)", height=150)
        with col4:
            threats = st.text_area("Thách thức (Threats)", height=150)
    
    with st.expander("📊 ĐỐI THỦ CẠNH TRANH"):
        competitors = st.text_area(
            "Mô tả các đối thủ cạnh tranh chính", 
            placeholder="Liệt kê 3-5 đối thủ chính, điểm mạnh/yếu của họ...",
            height=100
        )
        
        competitive_advantage = st.text_area(
            "Lợi thế cạnh tranh của bạn",
            placeholder="Điểm khác biệt giúp bạn vượt trội so với đối thủ...",
            height=100
        )

with tab3:
    # Phần chiến lược phát triển
    strategy_type = st.selectbox(
        "Loại chiến lược cần tư vấn",
        ["Chiến lược Marketing", "Chiến lược Bán hàng", "Chiến lược Sản phẩm", 
         "Chiến lược Giá cả", "Chiến lược Phân phối", "Chiến lược Tăng trưởng"]
    )
    
    with st.expander("🎯 MỤC TIÊU CHIẾN LƯỢC"):
        time_frame = st.selectbox("Khung thời gian", [
            "3 tháng", "6 tháng", "1 năm", "3 năm", "5 năm"
        ])
        
        goals = st.text_area(
            "Mục tiêu cụ thể (SMART)",
            placeholder="Ví dụ: Tăng doanh thu 30% trong 6 tháng tới, mở rộng thị phần lên 15%...",
            height=100
        )
    
    with st.expander("📈 CHỈ SỐ ĐO LƯỜNG (KPI)"):
        kpis = st.text_area(
            "Các chỉ số đánh giá hiệu quả",
            placeholder="Ví dụ: Tỷ lệ chuyển đổi, Doanh thu, Số lượng khách hàng mới...",
            height=100
        )

with tab4:
    # Phần kế hoạch hành động
    with st.expander("📅 KẾ HOẠCH TRIỂN KHAI"):
        action_plan = st.text_area(
            "Các bước triển khai chính",
            placeholder="Liệt kê các hoạt động chính cần thực hiện...",
            height=120
        )
        
        budget = st.number_input(
            "Ngân sách dự kiến (triệu đồng)", 
            min_value=0, 
            value=100
        )
    
    with st.expander("🛠 NGUỒN LỰC CẦN THIẾT"):
        resources = st.text_area(
            "Nguồn lực cần chuẩn bị",
            placeholder="Nhân lực, tài chính, công nghệ, đối tác...",
            height=100
        )

# Nút tạo chiến lược ở vị trí cố định
st.markdown("""
    <style>
    .fixed-button {
        position: fixed;
        bottom: 20px;
        right: 20px;
        z-index: 100;
    }
    </style>
    """, unsafe_allow_html=True)

st.markdown('<div class="fixed-button"></div>', unsafe_allow_html=True)

if st.button('🚀 TẠO CHIẾN LƯỢC KINH DOANH', type="primary", key="generate_button"):
    if not company_name:
        st.warning("Vui lòng nhập tên doanh nghiệp")
        st.stop()
    if not target_audience:
        st.warning("Vui lòng mô tả khách hàng mục tiêu")
        st.stop()
    
    with st.spinner("AI đang phân tích và xây dựng chiến lược tối ưu cho doanh nghiệp của bạn..."):
        progress_bar = st.progress(0)
        
        # Tạo prompt chuyên sâu cho chiến lược kinh doanh
        prompt_text = f"""
            Hãy xây dựng một chiến lược kinh doanh toàn diện cho công ty {company_name} hoạt động trong ngành {industry} với các yêu cầu sau:
            
            1. Thông tin doanh nghiệp:
               - Thời gian hoạt động: {company_age}
               - Mô hình kinh doanh: {business_model}
               - Doanh thu: {revenue}
               - Số nhân viên: {employee_count}
            
            2. Khách hàng mục tiêu:
               - {target_audience}
               - Khu vực địa lý: {customer_location}
               - Kênh tiếp cận: {', '.join(customer_channel) if customer_channel else 'Chưa xác định'}
            
            3. Phân tích SWOT:
               - Điểm mạnh: {strengths}
               - Điểm yếu: {weaknesses}
               - Cơ hội: {opportunities}
               - Thách thức: {threats}
            
            4. Đối thủ cạnh tranh: {competitors}
               Lợi thế cạnh tranh: {competitive_advantage}
            
            5. Chiến lược {strategy_type} cho khung thời gian {time_frame}:
               - Mục tiêu: {goals}
               - KPI đo lường: {kpis}
            
            6. Kế hoạch hành động:
               - Các bước triển khai: {action_plan}
               - Ngân sách: {budget} triệu đồng
               - Nguồn lực cần thiết: {resources}
            
            Yêu cầu chi tiết:
            - Định dạng bằng tiếng Việt, rõ ràng, chuyên nghiệp
            - Bao gồm các phần:
              * Tóm tắt chiến lược
              * Phân tích thị trường
              * Chiến lược cụ thể
              * Kế hoạch triển khai
              * Ngân sách và ROI dự kiến
              * Rủi ro và giải pháp
            - Đưa ra các giải pháp sáng tạo, khả thi
            - Kết hợp xu hướng mới nhất trong ngành
            - Ưu tiên các giải pháp số hóa và tối ưu chi phí
            - Đề xuất timeline cụ thể
        """
        
        # Hiệu ứng loading
        for i in range(10):
            progress_bar.progress((i + 1) * 10)
            time.sleep(0.2)
        
        # Gọi API Groq để tạo chiến lược
        try:
            chat_completion = client.chat.completions.create(
                messages=[
                    {
                        "role": "system",
                        "content": """
                            Bạn là chuyên gia tư vấn chiến lược kinh doanh với 20 năm kinh nghiệm. 
                            Bạn am hiểu sâu về tất cả các ngành nghề và có khả năng đưa ra các 
                            chiến lược sáng tạo, khả thi và hiệu quả. Hãy phân tích kỹ lưỡng và 
                            đưa ra các giải pháp tối ưu nhất cho doanh nghiệp, kết hợp giữa 
                            phương pháp truyền thống và công nghệ số.
                        """
                    },
                    {
                        "role": "user",
                        "content": prompt_text
                    }
                ],
                model="meta-llama/Llama-4-Maverick-17B-128E-Instruct",
                temperature=0.7,
                max_tokens=4000
            )
            
            business_strategy = chat_completion.choices[0].message.content
            
            # Hiển thị kết quả
            st.success("✅ Chiến lược kinh doanh đã sẵn sàng!")
            st.balloons()
            
            with st.expander(f"📋 CHIẾN LƯỢC KINH DOANH - {company_name.upper()}", expanded=True):
                st.markdown(business_strategy)
            
            # Tải về file
            st.download_button(
                label="📥 Tải về báo cáo đầy đủ",
                data=business_strategy,
                file_name=f"Chien_luoc_kinh_doanh_{company_name}_{datetime.now().strftime('%Y%m%d')}.docx",
                mime="application/vnd.openxmlformats-officedocument.wordprocessingml.document"
            )
            
            # Thêm phần đánh giá
            st.markdown("---")
            st.subheader("Đánh giá chiến lược")
            col1, col2, col3 = st.columns(3)
            with col1:
                st.select_slider("Mức độ khả thi", options=["Thấp", "Trung bình", "Cao"], value="Cao")
            with col2:
                st.select_slider("Tiềm năng hiệu quả", options=["Thấp", "Trung bình", "Cao"], value="Cao")
            with col3:
                st.select_slider("Mức độ sáng tạo", options=["Thấp", "Trung bình", "Cao"], value="Cao")
            
            st.text_area("Nhận xét của bạn về chiến lược này", placeholder="Ghi lại các ý kiến đánh giá...")
            
        except Exception as e:
            st.error(f"⚠️ Có lỗi xảy ra khi tạo chiến lược: {str(e)}")

# Footer chuyên nghiệp
st.markdown("---")
st.markdown("""
    <div style="text-align: center; color: #4a6fa5; padding: 20px">
    <p style="font-size: 14px">© 2024 Business Strategy AI Tool - Phiên bản Pro</p>
    <p style="font-size: 12px">Công cụ này sử dụng AI mạnh mẽ để phân tích và đề xuất chiến lược kinh doanh tối ưu</p>
    </div>
    """, unsafe_allow_html=True)