← W2 | 作業

練習作業

結合 Week 1 的睡眠資料與 Week 2 的 LLM 技術,打造一個自動睡眠分析報告產生器。

1

睡眠分析報告產生器

用 Week 1 分析 EDF 產出的睡眠數據(睡眠分期、各階段時長、HRV 等),餵進 Gemini 3.5 Flash,自動產生一份完整的睡眠分析報告。

概念:這就是 RAG 的實際應用——把你的資料(睡眠數據)餵給 LLM,讓它根據真實資料產出有意義的分析報告,而不是憑空編造。

功能需求

  1. 上傳或讀入 Week 1 的睡眠分析數據(CSV、JSON、或直接分析 EDF)
  2. 把數據餵進 Gemini 3.5 Flash
  3. 自動產出睡眠分析報告,包含:睡眠品質評估、各階段分析、建議
  4. 用 Streamlit 做 UI,按下「產生報告」就能看到結果

操作步驟

# 建立專案
$mkdir sleep-report && cd sleep-report
$conda activate bioagent
$git init

# 用 Claude Code 寫你的應用
$claude

# 給 Claude Code 的 prompt 參考:
# 幫我寫一個 Streamlit 應用程式 sleep_report.py
# 功能:使用者上傳睡眠分析數據,
# 用 Gemini 3.5 Flash 自動產生睡眠分析報告

# 測試
$streamlit run sleep_report.py

# 推到 GitHub
$echo ".env" > .gitignore
$git add .
$git commit -m "Add sleep analysis report generator"
$git remote add origin git@github.com:你的帳號/sleep-report.git
$git push -u origin main

基本要求

  1. 使用 Gemini 3.5 Flash API
  2. 使用 Streamlit 做前端 UI
  3. API Key 從環境變數讀取,.env 加到 .gitignore
  4. 輸入來自 Week 1 的實際睡眠數據

繳交內容

  • 1. GitHub repo 連結
  • 2. 產出的睡眠報告截圖(至少一張)

這個作業練到什麼?

  • 呼叫 LLM API

    用程式呼叫 Gemini 3.5 Flash,把數據送進去、拿回結果

  • RAG 模式

    把真實資料(睡眠數據)餵給 LLM,讓它基於資料回答,而不是憑空生成

  • Prompt Engineering

    你需要設計好的 prompt,告訴 LLM 怎麼解讀睡眠數據、產出什麼格式的報告

  • 串接 Week 1 成果

    把之前分析 EDF 的結果直接拿來用,體會資料 → AI → 報告的完整流程

  • 單檔 Streamlit 應用

    一個 Python 檔案就做出完整的 AI 工具

提示:用 Claude Code 來寫這個作業!把你的需求描述清楚,讓它幫你寫出程式。prompt 寫得越具體,產出的程式越好用。