Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -1,34 +1,54 @@
|
|
1 |
import streamlit as st
|
2 |
from groq import Groq
|
3 |
import time
|
|
|
4 |
|
5 |
# Thiết lập trang
|
6 |
st.set_page_config(
|
7 |
-
page_title="
|
8 |
-
page_icon="
|
9 |
-
layout="wide"
|
|
|
10 |
)
|
11 |
|
12 |
-
# CSS tùy chỉnh
|
13 |
st.markdown("""
|
14 |
<style>
|
15 |
-
.stTextInput input, .stTextArea textarea {
|
16 |
border-radius: 10px !important;
|
17 |
-
padding:
|
|
|
18 |
}
|
19 |
.stButton button {
|
20 |
width: 100%;
|
21 |
border-radius: 10px;
|
22 |
-
padding:
|
23 |
-
background-color: #
|
24 |
color: white;
|
25 |
font-weight: bold;
|
|
|
|
|
26 |
}
|
27 |
.stButton button:hover {
|
28 |
-
background-color: #
|
|
|
|
|
29 |
}
|
30 |
.stMarkdown h1, .stMarkdown h2, .stMarkdown h3 {
|
31 |
-
color: #
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
}
|
33 |
</style>
|
34 |
""", unsafe_allow_html=True)
|
@@ -36,105 +56,251 @@ st.markdown("""
|
|
36 |
# Khởi tạo Groq client
|
37 |
client = Groq(api_key=st.secrets["GROQ_API_KEY"])
|
38 |
|
39 |
-
#
|
40 |
-
st.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
41 |
st.markdown(f"""
|
42 |
-
<div style="background-color:#
|
43 |
-
<h4 style="color:#
|
44 |
</div>
|
45 |
""", unsafe_allow_html=True)
|
46 |
|
47 |
-
#
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
)
|
55 |
-
products_input = st.text_area(
|
56 |
-
"Danh sách sản phẩm của Laya Green",
|
57 |
-
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...",
|
58 |
-
height=100,
|
59 |
-
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"
|
60 |
-
)
|
61 |
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
68 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
|
70 |
-
|
71 |
-
|
72 |
-
"
|
73 |
-
|
74 |
-
|
75 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
76 |
|
77 |
-
# Nút tạo
|
78 |
-
|
79 |
-
|
80 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
81 |
st.stop()
|
82 |
-
if not
|
83 |
-
st.warning("Vui lòng
|
84 |
st.stop()
|
85 |
|
86 |
-
|
87 |
-
products = [p.strip() for p in products_input.replace('\n', ',').split(',') if p.strip()]
|
88 |
-
|
89 |
-
with st.spinner("Đang tạo lịch video tối ưu cho Laya Green..."):
|
90 |
progress_bar = st.progress(0)
|
91 |
|
92 |
-
#
|
93 |
-
if time_period == "1 tuần":
|
94 |
-
num_videos = 2 # Giả sử 2 video cho 1 tuần
|
95 |
-
period_description = "1 tuần"
|
96 |
-
else: # 1 tháng
|
97 |
-
num_videos = 4 # Giả sử 4 video cho 1 tháng
|
98 |
-
period_description = "1 tháng"
|
99 |
-
|
100 |
-
# Tạo prompt chuyên biệt cho mỹ phẩm
|
101 |
prompt_text = f"""
|
102 |
-
Hãy
|
103 |
|
104 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
105 |
|
106 |
Yêu cầu chi tiết:
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
6. Có các chủ đề theo mùa hoặc sự kiện gần nhất (Tết, Valentine, 8/3,...)
|
120 |
-
7. Ưu tiên xu hướng làm đẹp 2025
|
121 |
"""
|
122 |
|
123 |
-
#
|
|
|
|
|
|
|
|
|
|
|
124 |
try:
|
125 |
-
for i in range(10):
|
126 |
-
progress_bar.progress((i + 1) * 10)
|
127 |
-
time.sleep(0.1)
|
128 |
-
|
129 |
chat_completion = client.chat.completions.create(
|
130 |
messages=[
|
131 |
{
|
132 |
"role": "system",
|
133 |
"content": """
|
134 |
-
Bạn là chuyên gia
|
135 |
-
Bạn
|
136 |
-
|
137 |
-
|
|
|
138 |
"""
|
139 |
},
|
140 |
{
|
@@ -147,26 +313,44 @@ if st.button('✨ TẠO LỊCH VIDEO 2025', type="primary"):
|
|
147 |
max_tokens=4000
|
148 |
)
|
149 |
|
150 |
-
|
151 |
|
152 |
# Hiển thị kết quả
|
153 |
-
st.success(
|
154 |
st.balloons()
|
155 |
|
156 |
-
with st.expander(f"
|
157 |
-
st.markdown(
|
158 |
|
159 |
# Tải về file
|
160 |
st.download_button(
|
161 |
-
label="
|
162 |
-
data=
|
163 |
-
file_name=f"
|
164 |
-
mime="
|
165 |
)
|
166 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
167 |
except Exception as e:
|
168 |
-
st.error(f"Có lỗi xảy ra: {str(e)}")
|
169 |
|
170 |
-
# Footer
|
171 |
st.markdown("---")
|
172 |
-
st.markdown("
|
|
|
|
|
|
|
|
|
|
|
|
1 |
import streamlit as st
|
2 |
from groq import Groq
|
3 |
import time
|
4 |
+
from datetime import datetime
|
5 |
|
6 |
# Thiết lập trang
|
7 |
st.set_page_config(
|
8 |
+
page_title="Chiến Lược Kinh Doanh Chuyên Nghiệp",
|
9 |
+
page_icon="📈",
|
10 |
+
layout="wide",
|
11 |
+
initial_sidebar_state="expanded"
|
12 |
)
|
13 |
|
14 |
+
# CSS tùy chỉnh nâng cao
|
15 |
st.markdown("""
|
16 |
<style>
|
17 |
+
.stTextInput input, .stTextArea textarea, .stSelectbox select {
|
18 |
border-radius: 10px !important;
|
19 |
+
padding: 12px !important;
|
20 |
+
border: 1px solid #e0e0e0 !important;
|
21 |
}
|
22 |
.stButton button {
|
23 |
width: 100%;
|
24 |
border-radius: 10px;
|
25 |
+
padding: 12px;
|
26 |
+
background-color: #4a6fa5;
|
27 |
color: white;
|
28 |
font-weight: bold;
|
29 |
+
transition: all 0.3s;
|
30 |
+
border: none;
|
31 |
}
|
32 |
.stButton button:hover {
|
33 |
+
background-color: #3a5a80;
|
34 |
+
transform: translateY(-2px);
|
35 |
+
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
|
36 |
}
|
37 |
.stMarkdown h1, .stMarkdown h2, .stMarkdown h3 {
|
38 |
+
color: #4a6fa5;
|
39 |
+
}
|
40 |
+
.stExpander {
|
41 |
+
border-radius: 10px !important;
|
42 |
+
border: 1px solid #e0e0e0 !important;
|
43 |
+
}
|
44 |
+
.stProgress > div > div > div {
|
45 |
+
background-color: #4a6fa5 !important;
|
46 |
+
}
|
47 |
+
.sidebar .sidebar-content {
|
48 |
+
background-color: #f8f9fa;
|
49 |
+
}
|
50 |
+
[data-testid="stSidebar"] {
|
51 |
+
background-color: #f8f9fa !important;
|
52 |
}
|
53 |
</style>
|
54 |
""", unsafe_allow_html=True)
|
|
|
56 |
# Khởi tạo Groq client
|
57 |
client = Groq(api_key=st.secrets["GROQ_API_KEY"])
|
58 |
|
59 |
+
# Sidebar với thông tin công ty
|
60 |
+
with st.sidebar:
|
61 |
+
st.image("https://via.placeholder.com/150x50?text=Business+Strategy", width=150)
|
62 |
+
st.markdown("""
|
63 |
+
### Công Cụ Chiến Lược Kinh Doanh
|
64 |
+
Phiên bản: 2.0
|
65 |
+
Ngày cập nhật: """ + datetime.now().strftime("%d/%m/%Y") + """
|
66 |
+
|
67 |
+
---
|
68 |
+
""")
|
69 |
+
st.markdown("""
|
70 |
+
**Hướng dẫn sử dụng:**
|
71 |
+
1. Điền đầy đủ thông tin doanh nghiệp
|
72 |
+
2. Chọn loại chiến lược cần tư vấn
|
73 |
+
3. Nhấn nút "Tạo Chiến Lược"
|
74 |
+
4. Xem và tải về kết quả
|
75 |
+
""")
|
76 |
+
st.markdown("---")
|
77 |
+
st.markdown("""
|
78 |
+
**Hỗ trợ:**
|
79 |
+
📞 1900 1234
|
80 |
+
✉️ [email protected]
|
81 |
+
""")
|
82 |
+
|
83 |
+
# Tiêu đề ứng dụng
|
84 |
+
st.title("📊 Công Cụ Xây Dựng Chiến Lược Kinh Doanh")
|
85 |
st.markdown(f"""
|
86 |
+
<div style="background-color:#f0f5ff;padding:20px;border-radius:10px;margin-bottom:20px">
|
87 |
+
<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>
|
88 |
</div>
|
89 |
""", unsafe_allow_html=True)
|
90 |
|
91 |
+
# Tabs cho các loại chiến lược
|
92 |
+
tab1, tab2, tab3, tab4 = st.tabs([
|
93 |
+
"📌 Thông Tin Doanh Nghiệp",
|
94 |
+
"🎯 Phân Tích Thị Trường",
|
95 |
+
"🚀 Chiến Lược Phát Triển",
|
96 |
+
"📅 Kế Hoạch Hành Động"
|
97 |
+
])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
98 |
|
99 |
+
with tab1:
|
100 |
+
# Phần nhập thông tin doanh nghiệp
|
101 |
+
with st.expander("🏢 THÔNG TIN DOANH NGHIỆP", expanded=True):
|
102 |
+
col1, col2 = st.columns(2)
|
103 |
+
with col1:
|
104 |
+
company_name = st.text_input("Tên doanh nghiệp")
|
105 |
+
company_age = st.selectbox("Thời gian hoạt động",
|
106 |
+
["Dưới 1 năm", "1-3 năm", "3-5 năm", "Trên 5 năm"])
|
107 |
+
industry = st.selectbox("Ngành nghề kinh doanh", [
|
108 |
+
"Bán lẻ", "Dịch vụ", "Sản xuất", "Công nghệ",
|
109 |
+
"Thực phẩm & Đồ uống", "Giáo dục", "Y tế", "Khác"
|
110 |
+
])
|
111 |
+
|
112 |
+
with col2:
|
113 |
+
revenue = st.selectbox("Doanh thu hàng năm", [
|
114 |
+
"Dưới 1 tỷ", "1-5 tỷ", "5-10 tỷ", "10-50 tỷ", "Trên 50 tỷ"
|
115 |
+
])
|
116 |
+
employee_count = st.selectbox("Số lượng nhân viên", [
|
117 |
+
"1-10", "11-50", "51-100", "101-500", "Trên 500"
|
118 |
+
])
|
119 |
+
business_model = st.selectbox("Mô hình kinh doanh", [
|
120 |
+
"B2B", "B2C", "B2B2C", "Marketplace", "Subscription", "Khác"
|
121 |
+
])
|
122 |
+
|
123 |
+
# Phần nhập thông tin khách hàng
|
124 |
+
with st.expander("👥 KHÁCH HÀNG MỤC TIÊU"):
|
125 |
+
target_audience = st.text_area(
|
126 |
+
"Mô tả chi tiết khách hàng mục tiêu",
|
127 |
+
placeholder="Ví dụ: Nam/Nữ, độ tuổi, thu nhập, thói quen mua sắm, nhu cầu, pain points...",
|
128 |
+
height=120
|
129 |
+
)
|
130 |
+
|
131 |
+
col1, col2 = st.columns(2)
|
132 |
+
with col1:
|
133 |
+
customer_location = st.text_input("Khu vực địa lý khách hàng")
|
134 |
+
with col2:
|
135 |
+
customer_channel = st.multiselect(
|
136 |
+
"Kênh tiếp cận khách hàng chính",
|
137 |
+
["Facebook", "Zalo", "Tiktok", "Website", "Cửa hàng", "Đại lý", "Khác"]
|
138 |
+
)
|
139 |
+
|
140 |
+
with tab2:
|
141 |
+
# Phần phân tích thị trường
|
142 |
+
with st.expander("🔍 PHÂN TÍCH SWOT", expanded=True):
|
143 |
+
col1, col2, col3, col4 = st.columns(4)
|
144 |
+
with col1:
|
145 |
+
strengths = st.text_area("Điểm mạnh (Strengths)", height=150)
|
146 |
+
with col2:
|
147 |
+
weaknesses = st.text_area("Điểm yếu (Weaknesses)", height=150)
|
148 |
+
with col3:
|
149 |
+
opportunities = st.text_area("Cơ hội (Opportunities)", height=150)
|
150 |
+
with col4:
|
151 |
+
threats = st.text_area("Thách thức (Threats)", height=150)
|
152 |
+
|
153 |
+
with st.expander("📊 ĐỐI THỦ CẠNH TRANH"):
|
154 |
+
competitors = st.text_area(
|
155 |
+
"Mô tả các đối thủ cạnh tranh chính",
|
156 |
+
placeholder="Liệt kê 3-5 đối thủ chính, điểm mạnh/yếu của họ...",
|
157 |
+
height=100
|
158 |
+
)
|
159 |
+
|
160 |
+
competitive_advantage = st.text_area(
|
161 |
+
"Lợi thế cạnh tranh của bạn",
|
162 |
+
placeholder="Điểm khác biệt giúp bạn vượt trội so với đối thủ...",
|
163 |
+
height=100
|
164 |
+
)
|
165 |
+
|
166 |
+
with tab3:
|
167 |
+
# Phần chiến lược phát triển
|
168 |
+
strategy_type = st.selectbox(
|
169 |
+
"Loại chiến lược cần tư vấn",
|
170 |
+
["Chiến lược Marketing", "Chiến lược Bán hàng", "Chiến lược Sản phẩm",
|
171 |
+
"Chiến lược Giá cả", "Chiến lược Phân phối", "Chiến lược Tăng trưởng"]
|
172 |
)
|
173 |
+
|
174 |
+
with st.expander("🎯 MỤC TIÊU CHIẾN LƯỢC"):
|
175 |
+
time_frame = st.selectbox("Khung thời gian", [
|
176 |
+
"3 tháng", "6 tháng", "1 năm", "3 năm", "5 năm"
|
177 |
+
])
|
178 |
+
|
179 |
+
goals = st.text_area(
|
180 |
+
"Mục tiêu cụ thể (SMART)",
|
181 |
+
placeholder="Ví dụ: Tăng doanh thu 30% trong 6 tháng tới, mở rộng thị phần lên 15%...",
|
182 |
+
height=100
|
183 |
+
)
|
184 |
+
|
185 |
+
with st.expander("📈 CHỈ SỐ ĐO LƯỜNG (KPI)"):
|
186 |
+
kpis = st.text_area(
|
187 |
+
"Các chỉ số đánh giá hiệu quả",
|
188 |
+
placeholder="Ví dụ: Tỷ lệ chuyển đổi, Doanh thu, Số lượng khách hàng mới...",
|
189 |
+
height=100
|
190 |
+
)
|
191 |
|
192 |
+
with tab4:
|
193 |
+
# Phần kế hoạch hành động
|
194 |
+
with st.expander("📅 KẾ HOẠCH TRIỂN KHAI"):
|
195 |
+
action_plan = st.text_area(
|
196 |
+
"Các bước triển khai chính",
|
197 |
+
placeholder="Liệt kê các hoạt động chính cần thực hiện...",
|
198 |
+
height=120
|
199 |
+
)
|
200 |
+
|
201 |
+
budget = st.number_input(
|
202 |
+
"Ngân sách dự kiến (triệu đồng)",
|
203 |
+
min_value=0,
|
204 |
+
value=100
|
205 |
+
)
|
206 |
+
|
207 |
+
with st.expander("🛠 NGUỒN LỰC CẦN THIẾT"):
|
208 |
+
resources = st.text_area(
|
209 |
+
"Nguồn lực cần chuẩn bị",
|
210 |
+
placeholder="Nhân lực, tài chính, công nghệ, đối tác...",
|
211 |
+
height=100
|
212 |
+
)
|
213 |
|
214 |
+
# Nút tạo chiến lược ở vị trí cố định
|
215 |
+
st.markdown("""
|
216 |
+
<style>
|
217 |
+
.fixed-button {
|
218 |
+
position: fixed;
|
219 |
+
bottom: 20px;
|
220 |
+
right: 20px;
|
221 |
+
z-index: 100;
|
222 |
+
}
|
223 |
+
</style>
|
224 |
+
""", unsafe_allow_html=True)
|
225 |
+
|
226 |
+
st.markdown('<div class="fixed-button"></div>', unsafe_allow_html=True)
|
227 |
+
|
228 |
+
if st.button('🚀 TẠO CHIẾN LƯỢC KINH DOANH', type="primary", key="generate_button"):
|
229 |
+
if not company_name:
|
230 |
+
st.warning("Vui lòng nhập tên doanh nghiệp")
|
231 |
st.stop()
|
232 |
+
if not target_audience:
|
233 |
+
st.warning("Vui lòng mô tả khách hàng mục tiêu")
|
234 |
st.stop()
|
235 |
|
236 |
+
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..."):
|
|
|
|
|
|
|
237 |
progress_bar = st.progress(0)
|
238 |
|
239 |
+
# Tạo prompt chuyên sâu cho chiến lược kinh doanh
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
240 |
prompt_text = f"""
|
241 |
+
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:
|
242 |
|
243 |
+
1. Thông tin doanh nghiệp:
|
244 |
+
- Thời gian hoạt động: {company_age}
|
245 |
+
- Mô hình kinh doanh: {business_model}
|
246 |
+
- Doanh thu: {revenue}
|
247 |
+
- Số nhân viên: {employee_count}
|
248 |
+
|
249 |
+
2. Khách hàng mục tiêu:
|
250 |
+
- {target_audience}
|
251 |
+
- Khu vực địa lý: {customer_location}
|
252 |
+
- Kênh tiếp cận: {', '.join(customer_channel) if customer_channel else 'Chưa xác định'}
|
253 |
+
|
254 |
+
3. Phân tích SWOT:
|
255 |
+
- Điểm mạnh: {strengths}
|
256 |
+
- Điểm yếu: {weaknesses}
|
257 |
+
- Cơ hội: {opportunities}
|
258 |
+
- Thách thức: {threats}
|
259 |
+
|
260 |
+
4. Đối thủ cạnh tranh: {competitors}
|
261 |
+
Lợi thế cạnh tranh: {competitive_advantage}
|
262 |
+
|
263 |
+
5. Chiến lược {strategy_type} cho khung thời gian {time_frame}:
|
264 |
+
- Mục tiêu: {goals}
|
265 |
+
- KPI đo lường: {kpis}
|
266 |
+
|
267 |
+
6. Kế hoạch hành động:
|
268 |
+
- Các bước triển khai: {action_plan}
|
269 |
+
- Ngân sách: {budget} triệu đồng
|
270 |
+
- Nguồn lực cần thiết: {resources}
|
271 |
|
272 |
Yêu cầu chi tiết:
|
273 |
+
- Định dạng bằng tiếng Việt, rõ ràng, chuyên nghiệp
|
274 |
+
- Bao gồm các phần:
|
275 |
+
* Tóm tắt chiến lược
|
276 |
+
* Phân tích thị trường
|
277 |
+
* Chiến lược cụ thể
|
278 |
+
* Kế hoạch triển khai
|
279 |
+
* Ngân sách và ROI dự kiến
|
280 |
+
* Rủi ro và giải pháp
|
281 |
+
- Đưa ra các giải pháp sáng tạo, khả thi
|
282 |
+
- Kết hợp xu hướng mới nhất trong ngành
|
283 |
+
- Ưu tiên các giải pháp số hóa và tối ưu chi phí
|
284 |
+
- Đề xuất timeline cụ thể
|
|
|
|
|
285 |
"""
|
286 |
|
287 |
+
# Hiệu ứng loading
|
288 |
+
for i in range(10):
|
289 |
+
progress_bar.progress((i + 1) * 10)
|
290 |
+
time.sleep(0.2)
|
291 |
+
|
292 |
+
# Gọi API Groq để tạo chiến lược
|
293 |
try:
|
|
|
|
|
|
|
|
|
294 |
chat_completion = client.chat.completions.create(
|
295 |
messages=[
|
296 |
{
|
297 |
"role": "system",
|
298 |
"content": """
|
299 |
+
Bạn là chuyên gia tư vấn chiến lược kinh doanh với 20 năm kinh nghiệm.
|
300 |
+
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
|
301 |
+
chiến lược sáng tạo, khả thi và hiệu quả. Hãy phân tích kỹ lưỡng và
|
302 |
+
đưa ra các giải pháp tối ưu nhất cho doanh nghiệp, kết hợp giữa
|
303 |
+
phương pháp truyền thống và công nghệ số.
|
304 |
"""
|
305 |
},
|
306 |
{
|
|
|
313 |
max_tokens=4000
|
314 |
)
|
315 |
|
316 |
+
business_strategy = chat_completion.choices[0].message.content
|
317 |
|
318 |
# Hiển thị kết quả
|
319 |
+
st.success("✅ Chiến lược kinh doanh đã sẵn sàng!")
|
320 |
st.balloons()
|
321 |
|
322 |
+
with st.expander(f"📋 CHIẾN LƯỢC KINH DOANH - {company_name.upper()}", expanded=True):
|
323 |
+
st.markdown(business_strategy)
|
324 |
|
325 |
# Tải về file
|
326 |
st.download_button(
|
327 |
+
label="📥 Tải về báo cáo đầy đủ",
|
328 |
+
data=business_strategy,
|
329 |
+
file_name=f"Chien_luoc_kinh_doanh_{company_name}_{datetime.now().strftime('%Y%m%d')}.docx",
|
330 |
+
mime="application/vnd.openxmlformats-officedocument.wordprocessingml.document"
|
331 |
)
|
332 |
|
333 |
+
# Thêm phần đánh giá
|
334 |
+
st.markdown("---")
|
335 |
+
st.subheader("Đánh giá chiến lược")
|
336 |
+
col1, col2, col3 = st.columns(3)
|
337 |
+
with col1:
|
338 |
+
st.select_slider("Mức độ khả thi", options=["Thấp", "Trung bình", "Cao"], value="Cao")
|
339 |
+
with col2:
|
340 |
+
st.select_slider("Tiềm năng hiệu quả", options=["Thấp", "Trung bình", "Cao"], value="Cao")
|
341 |
+
with col3:
|
342 |
+
st.select_slider("Mức độ sáng tạo", options=["Thấp", "Trung bình", "Cao"], value="Cao")
|
343 |
+
|
344 |
+
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á...")
|
345 |
+
|
346 |
except Exception as e:
|
347 |
+
st.error(f"⚠️ Có lỗi xảy ra khi tạo chiến lược: {str(e)}")
|
348 |
|
349 |
+
# Footer chuyên nghiệp
|
350 |
st.markdown("---")
|
351 |
+
st.markdown("""
|
352 |
+
<div style="text-align: center; color: #4a6fa5; padding: 20px">
|
353 |
+
<p style="font-size: 14px">© 2024 Business Strategy AI Tool - Phiên bản Pro</p>
|
354 |
+
<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>
|
355 |
+
</div>
|
356 |
+
""", unsafe_allow_html=True)
|