Rooobert commited on
Commit
32f50c2
·
verified ·
1 Parent(s): 277b410

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +301 -0
app.py ADDED
@@ -0,0 +1,301 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import pandas as pd
3
+ from PIL import Image
4
+ from io import BytesIO
5
+ import base64
6
+
7
+ # 設置頁面配置
8
+ st.set_page_config(
9
+ page_title="AI助手介紹",
10
+ page_icon="🤖",
11
+ layout="wide"
12
+ )
13
+
14
+ # CSS 樣式
15
+ st.markdown("""
16
+ <style>
17
+ .header {
18
+ padding: 1.5rem 0;
19
+ text-align: center;
20
+ background-color: #4a6fa5;
21
+ color: white;
22
+ border-radius: 8px;
23
+ margin-bottom: 2rem;
24
+ }
25
+ .card {
26
+ background-color: white;
27
+ border-radius: 8px;
28
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
29
+ padding: 1.5rem;
30
+ height: 100%;
31
+ transition: transform 0.3s;
32
+ }
33
+ .card:hover {
34
+ transform: translateY(-5px);
35
+ }
36
+ .logo-placeholder {
37
+ height: 120px;
38
+ width: 120px;
39
+ background-color: #f1f1f1;
40
+ border-radius: 50%;
41
+ margin: 0 auto 15px;
42
+ display: flex;
43
+ align-items: center;
44
+ justify-content: center;
45
+ font-size: 24px;
46
+ font-weight: bold;
47
+ color: #4a6fa5;
48
+ }
49
+ .ai-name {
50
+ text-align: center;
51
+ margin: 15px 0;
52
+ color: #2c3e50;
53
+ font-size: 1.5rem;
54
+ }
55
+ .btn {
56
+ background-color: #4a6fa5;
57
+ color: white;
58
+ border: none;
59
+ padding: 10px 20px;
60
+ border-radius: 5px;
61
+ cursor: pointer;
62
+ text-decoration: none;
63
+ margin: 0 auto;
64
+ display: block;
65
+ width: fit-content;
66
+ text-align: center;
67
+ }
68
+ .footer {
69
+ text-align: center;
70
+ margin-top: 3rem;
71
+ padding: 1rem;
72
+ border-top: 1px solid #ddd;
73
+ color: #777;
74
+ }
75
+ h1, h2, h3 {
76
+ color: #4a6fa5;
77
+ }
78
+ h2 {
79
+ border-bottom: 2px solid #4a6fa5;
80
+ padding-bottom: 10px;
81
+ }
82
+ </style>
83
+ """, unsafe_allow_html=True)
84
+
85
+ # 頁面標題區
86
+ st.markdown('<div class="header"><h1>AI助手介紹</h1><p>探索當前領先的AI語言模型和智能助手</p></div>', unsafe_allow_html=True)
87
+
88
+ # 介紹文字
89
+ st.markdown("""
90
+ ## 認識主要AI助手
91
+
92
+ 人工智能助手已經成為我們日常生活和工作中不可或缺的一部分。這些AI工具能夠理解並回應人類的問題,提供資訊,幫助完成各種任務。以下是當前最受歡迎的AI助手介紹。
93
+ """)
94
+
95
+ # AI 助手資料
96
+ ai_assistants = [
97
+ {
98
+ "name": "ChatGPT 4.0",
99
+ "logo": "GPT-4",
100
+ "developer": "OpenAI",
101
+ "description": "由OpenAI開發的大型語言模型,被廣泛認為是最強大的商業AI助手之一。",
102
+ "features": [
103
+ "多模態能力,能處理文字和圖像",
104
+ "強大的編程和推理能力",
105
+ "知識截止日期相對較新",
106
+ "提供API和插件生態系統"
107
+ ],
108
+ "url": "https://chat.openai.com/",
109
+ "free_tier": "有限功能",
110
+ "paid_tier": "$20/月起",
111
+ "advantage": "全面的能力與廣泛的應用"
112
+ },
113
+ {
114
+ "name": "Claude AI",
115
+ "logo": "Claude",
116
+ "developer": "Anthropic",
117
+ "description": "由Anthropic開發的AI助手,以安全、有益和誠實的互動而著稱。",
118
+ "features": [
119
+ "超長上下文窗口(最多可達100K令牌)",
120
+ "優秀的文件分析和處理能力",
121
+ "更少的幻想內容,更高的準確性",
122
+ "在長篇創意寫作方面表現出色"
123
+ ],
124
+ "url": "https://claude.ai/",
125
+ "free_tier": "基本功能",
126
+ "paid_tier": "$20/月起",
127
+ "advantage": "長上下文和文件處理"
128
+ },
129
+ {
130
+ "name": "Grok",
131
+ "logo": "Grok",
132
+ "developer": "xAI",
133
+ "description": "由xAI(Elon Musk的公司)開發的AI助手,帶有一點反叛精神和幽默感。",
134
+ "features": [
135
+ "實時網絡訪問",
136
+ "獨特的個性和幽默感",
137
+ "對當前事件的實時了解",
138
+ "提供較少的審查和更直接的回答"
139
+ ],
140
+ "url": "https://grok.x.ai/",
141
+ "free_tier": "需訂閱X Premium+",
142
+ "paid_tier": "$16/月起",
143
+ "advantage": "實時網絡訪問和幽默"
144
+ },
145
+ {
146
+ "name": "Gemini",
147
+ "logo": "Gemini",
148
+ "developer": "Google",
149
+ "description": "由Google AI開發的多模態大型語言模型,前身為Bard。",
150
+ "features": [
151
+ "與Google搜索緊密集成",
152
+ "強大的多模態理解能力",
153
+ "實時網絡搜索功能",
154
+ "與Google Workspace集成"
155
+ ],
156
+ "url": "https://gemini.google.com/",
157
+ "free_tier": "基本功能",
158
+ "paid_tier": "$20/月起",
159
+ "advantage": "Google生態系統集成"
160
+ },
161
+ {
162
+ "name": "Perplexity",
163
+ "logo": "Perplexity",
164
+ "developer": "Perplexity AI",
165
+ "description": "一個以回答問題為重點的AI搜索引擎,提供引用來源的答案。",
166
+ "features": [
167
+ "實時網絡搜索和引用",
168
+ "提供來源連結的答案",
169
+ "可以追問以獲取更深入的信息",
170
+ "專注於事實性查詢和研究"
171
+ ],
172
+ "url": "https://www.perplexity.ai/",
173
+ "free_tier": "基本功能",
174
+ "paid_tier": "$20/月起",
175
+ "advantage": "引用來源的答案"
176
+ },
177
+ {
178
+ "name": "NotebookLM",
179
+ "logo": "NoteBook",
180
+ "developer": "Google",
181
+ "description": "由Google開發的專注於資料分析和筆記整理的AI工具。",
182
+ "features": [
183
+ "基於用戶上傳的文件生成答案",
184
+ "能夠處理多個文件並找出關聯",
185
+ "提供引用和頁碼的回答",
186
+ "適合研究和學習場景"
187
+ ],
188
+ "url": "https://notebooklm.google.com/",
189
+ "free_tier": "完全免費",
190
+ "paid_tier": "暫無付費版",
191
+ "advantage": "基於用戶文件的精確答案"
192
+ }
193
+ ]
194
+
195
+ # 顯示 AI 助手卡片
196
+ cols = st.columns(3) # 每行顯示3個卡片
197
+
198
+ for i, assistant in enumerate(ai_assistants):
199
+ with cols[i % 3]:
200
+ st.markdown(f"""
201
+ <div class="card">
202
+ <div class="logo-placeholder">{assistant['logo']}</div>
203
+ <h3 class="ai-name">{assistant['name']}</h3>
204
+ <p>{assistant['description']}</p>
205
+ <div>
206
+ <strong>主要特點:</strong>
207
+ <ul>
208
+ {"".join([f"<li>{feature}</li>" for feature in assistant['features']])}
209
+ </ul>
210
+ </div>
211
+ <a href="{assistant['url']}" class="btn" target="_blank">訪問網站</a>
212
+ </div>
213
+ <br>
214
+ """, unsafe_allow_html=True)
215
+
216
+ # 比較表格
217
+ st.markdown("## AI助手比較")
218
+
219
+ # 創建比較表格數據
220
+ comparison_data = {
221
+ 'AI助手': [assistant['name'] for assistant in ai_assistants],
222
+ '開發商': [assistant['developer'] for assistant in ai_assistants],
223
+ '免費版': [assistant['free_tier'] for assistant in ai_assistants],
224
+ '付費版': [assistant['paid_tier'] for assistant in ai_assistants],
225
+ '主要優勢': [assistant['advantage'] for assistant in ai_assistants],
226
+ }
227
+
228
+ # 顯示比較表格
229
+ st.dataframe(pd.DataFrame(comparison_data), use_container_width=True)
230
+
231
+ # 添加互動功能 - 選擇比較
232
+ st.markdown("## 互動比較")
233
+ selected_assistants = st.multiselect(
234
+ "選擇要比較的AI助手",
235
+ [assistant['name'] for assistant in ai_assistants],
236
+ default=[assistant['name'] for assistant in ai_assistants[:2]] # 默認選擇前2個
237
+ )
238
+
239
+ # 如果有選擇的助手,顯示它們的比較
240
+ if selected_assistants:
241
+ selected_data = {
242
+ 'AI助手': [],
243
+ '開發商': [],
244
+ '免費版': [],
245
+ '付費版': [],
246
+ '主要優勢': [],
247
+ }
248
+
249
+ for assistant in ai_assistants:
250
+ if assistant['name'] in selected_assistants:
251
+ selected_data['AI助手'].append(assistant['name'])
252
+ selected_data['開發商'].append(assistant['developer'])
253
+ selected_data['免費版'].append(assistant['free_tier'])
254
+ selected_data['付費版'].append(assistant['paid_tier'])
255
+ selected_data['主要優勢'].append(assistant['advantage'])
256
+
257
+ st.dataframe(pd.DataFrame(selected_data), use_container_width=True)
258
+
259
+ # AI 助手推薦
260
+ st.markdown("## AI助手推薦")
261
+ st.write("根據您的需求,我們可以推薦最適合的AI助手。")
262
+
263
+ use_case = st.selectbox(
264
+ "您主要用AI助手做什麼?",
265
+ [
266
+ "一般問答和聊天",
267
+ "編程和技術支持",
268
+ "創意寫作和內容生成",
269
+ "研究和資料整理",
270
+ "教育和學習",
271
+ "商業和專業分析"
272
+ ]
273
+ )
274
+
275
+ if use_case:
276
+ recommended = None
277
+ reason = ""
278
+
279
+ if use_case == "一般問答和聊天":
280
+ recommended = "ChatGPT 4.0"
281
+ reason = "提供全面且平衡的回答,適合日常使用。"
282
+ elif use_case == "編程和技術支持":
283
+ recommended = "ChatGPT 4.0"
284
+ reason = "在程式碼生成和技術問題解答方面表現優異。"
285
+ elif use_case == "創意寫作和內容生成":
286
+ recommended = "Claude AI"
287
+ reason = "長文本處理能力強,創意寫作品質高。"
288
+ elif use_case == "研究和資料整理":
289
+ recommended = "Perplexity"
290
+ reason = "提供引用來源的詳細答案,適合研究使用。"
291
+ elif use_case == "教育和學習":
292
+ recommended = "NotebookLM"
293
+ reason = "可以基於您的學習資料提供個性化解答。"
294
+ elif use_case == "商業和專業分析":
295
+ recommended = "Claude AI"
296
+ reason = "可處理大量文件,分析能力強,適合商業場景。"
297
+
298
+ st.info(f"推薦使用: **{recommended}**\n\n原因: {reason}")
299
+
300
+ # 頁腳
301
+ st.markdown('<div class="footer"><p>© 2025 AI助手介紹網站 | 黃朝健製作</p><p>價格和功能可能隨時變更,請訪問各官方網站獲取最新信息</p></div>', unsafe_allow_html=True)