Spaces:
Sleeping
Sleeping
add: announcement
Browse files
app.py
CHANGED
@@ -57,6 +57,29 @@ def log_to_google_sheet(question, answer, contexts, scores):
|
|
57 |
except Exception as e:
|
58 |
print("寫入 Google Sheet 失敗:", str(e))
|
59 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
def validate_openai_key(api_key):
|
61 |
try:
|
62 |
client = OpenAI(api_key=api_key)
|
@@ -247,18 +270,24 @@ def check_csv_and_run(file, key):
|
|
247 |
# Gradio 介面
|
248 |
with gr.Blocks() as demo:
|
249 |
gr.Markdown("""
|
250 |
-
|
251 |
|
252 |
### 📄 使用說明
|
253 |
-
請上傳您 RAG 系統產出的結果檔案(需包含欄位:Question、Context、Answer),並填入您的 OpenAI API Key,以進行評估。
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
|
|
|
|
|
|
258 |
- 🔁 [主頁面 (Main)](https://huggingface.co/spaces/KSLab/RAG_Evaluator)
|
259 |
- 🔁 [分流 A](https://huggingface.co/spaces/KSLab/RAG_Evaluator_A)
|
260 |
- 🔁 [分流 C](https://huggingface.co/spaces/KSLab/RAG_Evaluator_C)
|
|
|
|
|
261 |
""")
|
|
|
262 |
|
263 |
file_input = gr.File(label="上傳 Evaluation_Dataset.csv")
|
264 |
api_key_input = gr.Textbox(label="OpenAI API Key", type="password")
|
@@ -271,6 +300,7 @@ with gr.Blocks() as demo:
|
|
271 |
gr.Markdown("""
|
272 |
---
|
273 |
### ❓ 常見問題 & 解答
|
|
|
274 |
**Q: 什麼是「指令集」?**
|
275 |
A: 「指令集」是我們用來描述老師在課堂上所設計的各種學習活動操作流程。在與教學系統互動時,老師通常會透過一系列結構化的指令來引導學生完成任務,因此我們將這些可重複使用的操作流程統稱為「指令集」。
|
276 |
指令集也如同RESTful API一樣,我們有先盡力的與老師們溝通他們的需求,不過這些需求都只能視為一個草案,最終仍需要仰賴得標業者與老師們收斂,並且確定最終的版本來加以實作。
|
|
|
57 |
except Exception as e:
|
58 |
print("寫入 Google Sheet 失敗:", str(e))
|
59 |
|
60 |
+
def fetch_announcement_from_sheet():
|
61 |
+
DEFAULT_MESSAGE = "尚無公告"
|
62 |
+
try:
|
63 |
+
url = os.environ.get("ANNOUNCEMENT_URL")
|
64 |
+
if not url:
|
65 |
+
print("Warning: 環境變數 'ANNOUNCEMENT_URL' 未設定")
|
66 |
+
return DEFAULT_MESSAGE
|
67 |
+
|
68 |
+
df = pd.read_csv(url)
|
69 |
+
|
70 |
+
if "Announcement" not in df.columns:
|
71 |
+
print("Error: CSV 檔案中無 'Announcement' 欄位")
|
72 |
+
return DEFAULT_MESSAGE
|
73 |
+
|
74 |
+
content = str(df["Announcement"].iloc[0]).strip()
|
75 |
+
content = content.replace("\\n", "<br>").replace("\n", "<br>")
|
76 |
+
return content if content else DEFAULT_MESSAGE
|
77 |
+
|
78 |
+
except Exception as e:
|
79 |
+
print(f"Error: 載入公告失敗:{e}")
|
80 |
+
return DEFAULT_MESSAGE
|
81 |
+
|
82 |
+
|
83 |
def validate_openai_key(api_key):
|
84 |
try:
|
85 |
client = OpenAI(api_key=api_key)
|
|
|
270 |
# Gradio 介面
|
271 |
with gr.Blocks() as demo:
|
272 |
gr.Markdown("""
|
273 |
+
# 📐 RAG系統評估工具 (分流A)
|
274 |
|
275 |
### 📄 使用說明
|
276 |
+
- 請上傳您 RAG 系統產出的結果檔案(需包含欄位:Question、Context、Answer),並填入您的 OpenAI API Key,以進行評估。
|
277 |
+
- ⏳ 完整評估**通常需耗時 1 小時以上**,若無即時回應,請**耐心等候**,系統並未當機,謝謝您的理解。
|
278 |
+
|
279 |
+
### 🚦 分流措施
|
280 |
+
本工具部署於 Hugging Face Public Space,若同時有多位使用者使用,系統會將您的評估請求**排入佇列**。
|
281 |
+
為避免長時間等待,建議您**先僅送出 1 筆資料進行測試**,若進度條顯示之預估**等待時間超過 2 小時(7000 秒以上),可能是其他使用者正在使用**。
|
282 |
+
本頁為**分流 A**,您可以考慮改用其他分流或稍後再試,感謝您的耐心與配合!
|
283 |
+
|
284 |
- 🔁 [主頁面 (Main)](https://huggingface.co/spaces/KSLab/RAG_Evaluator)
|
285 |
- 🔁 [分流 A](https://huggingface.co/spaces/KSLab/RAG_Evaluator_A)
|
286 |
- 🔁 [分流 C](https://huggingface.co/spaces/KSLab/RAG_Evaluator_C)
|
287 |
+
|
288 |
+
### 📢 系統公告
|
289 |
""")
|
290 |
+
gr.Markdown(fetch_announcement_from_sheet())
|
291 |
|
292 |
file_input = gr.File(label="上傳 Evaluation_Dataset.csv")
|
293 |
api_key_input = gr.Textbox(label="OpenAI API Key", type="password")
|
|
|
300 |
gr.Markdown("""
|
301 |
---
|
302 |
### ❓ 常見問題 & 解答
|
303 |
+
|
304 |
**Q: 什麼是「指令集」?**
|
305 |
A: 「指令集」是我們用來描述老師在課堂上所設計的各種學習活動操作流程。在與教學系統互動時,老師通常會透過一系列結構化的指令來引導學生完成任務,因此我們將這些可重複使用的操作流程統稱為「指令集」。
|
306 |
指令集也如同RESTful API一樣,我們有先盡力的與老師們溝通他們的需求,不過這些需求都只能視為一個草案,最終仍需要仰賴得標業者與老師們收斂,並且確定最終的版本來加以實作。
|