課程
八年級人工智慧:智慧應用開發者
把 Python、網頁、模型和 AI API 合成一個應用。自己測試,再示範給別人看。
按順序學各課。學完後,你能說出一個 AI 應用的介面、後端、模型和資料,並畫出它的架構。你能把程式碼拆成模組,讀寫 JSON 檔案,並用 HTML 和 CSS 做小網站。你能在網頁上顯示分類器的預測,用範本組成提示詞,並檢查模型的回答格式對不對。你能呼叫老師管理的 AI API,把 API 金鑰保密,做出一套 20 道測試,寫一份安全清單,並示範一個測過的學習助手。
這些課怎麼用
- 從標著做這個的課開始。標題下面那一行你自己會了,再往下。
- 先玩遊戲。再做測驗。10題裡對8題就通過。練習紙在紙上。答案在最下面。
- 每一課都接在上一課後面。只留一個專案資料夾,每課往裡加一點。
- 只用老師允許的 AI 服務。別把 API 金鑰寫進程式碼,也別告訴別人。別把私人資訊發給模型。應用顯示的每個 AI 回答都要測試。
每一課都有遊戲、測驗和練習紙。
0/36
AI 應用架構
- 1AI 應用的幾個部分說出一個 AI 應用的介面、後端、模型和資料。
- 分別說明這四個部分。
- 在翻譯應用裡找出它們。
- 說出使用者能看到哪一部分。
- 2跟著一次請求走跟著一次請求,從點擊走到回答。
- 列出從點擊到螢幕的每一步。
- 說出模型在哪裡運行。
- 說出哪裡可能變慢。
- 3應用把資料放在哪裡說出應用把資料放在哪裡,以及為什麼。
- 比較瀏覽器、伺服器和資料庫。
- 說出什麼絕不該存。
- 說出誰能看到每個地方。
- 4畫出架構畫出一個真實 AI 應用的架構。
- 選一個應用。
- 給每個部分畫一個方框。
- 用箭頭畫出資料怎麼流。
進階 Python
- 5模組把程式碼拆成模組,再匯入它們。
- 把函式移到各自的檔案裡。
- 在另一個檔案裡匯入它們。
- 給模組起清楚的名字。
- 6檔案讀寫文字檔和 JSON 檔案。
- 讀寫一個文字檔。
- 儲存並載入 JSON。
- 處理找不到的檔案。
- 7函式庫安裝並使用一個 Python 函式庫。
- 用 pip 安裝一個函式庫。
- 讀它的說明文件。
- 用它裡面的一個函式。
- 8可重複使用的程式碼把重複的程式碼變成別人也能用的函式。
- 找出重複的程式碼。
- 把它變成參數清楚的函式。
- 寫一段短的 docstring。
網頁應用基礎
- 9HTML用 HTML 做一頁帶標題、文字和表單的頁面。
- 使用標題、段落和清單。
- 加上一張圖片和一個連結。
- 加上帶文字方塊和按鈕的表單。
- 10CSS用 CSS 給頁面做樣式:顏色、間距和版面。
- 設定顏色和字型。
- 加上 margin 和 padding。
- 用 flexbox 排頁面。
- 11表單和輸入讀出使用者在表單裡輸入的內容。
- 用 JavaScript 讀表單的值。
- 把它顯示回頁面上。
- 檢查空的輸入。
- 12小網站做有兩頁的小網站。
- 做首頁和工具頁。
- 把它們連在一起。
- 讓它們在手機螢幕上也能用。
接入模型
- 13推論說明訓練和推論的差別。
- 說出訓練只做一次,推論在每次請求時都做。
- 儲存並載入訓練好的模型。
- 給一次預測計時。
- 14模型的輸入把輸入準備成模型要的形狀。
- 調整圖片大小。
- 把特徵按正確順序排好。
- 拒絕模型用不了的輸入。
- 15模型的輸出讀出模型的標籤和分數。
- 讀出最可能的標籤。
- 讀出信心分數。
- 低於門檻就顯示「不確定」。
- 16接上分類器在網頁上顯示分類器的預測。
- 在瀏覽器或小伺服器裡載入模型。
- 把頁面上的輸入發給它。
- 顯示標籤和分數。
用提示詞做的應用
- 17提示詞範本用範本和使用者輸入組成提示詞。
- 寫一個帶空位的範本。
- 用使用者輸入填上空位。
- 別讓使用者輸入改掉你的指令。
- 18上下文給模型它需要的上下文。
- 加上年級和主題。
- 加上一個範例回答。
- 比較有上下文和沒有上下文的回答。
- 19檢查回答格式檢查模型的回答格式對不對。
- 要求傳回 JSON。
- 解析它並檢查欄位。
- 格式不對就再試,或顯示錯誤。
- 20把兩個提示詞串起來把兩個提示詞串起來,做完一件事。
- 用一個提示詞出題。
- 用第二個提示詞檢查答案。
- 在步驟之間傳遞資料。
AI API
- 21請求和回應傳送請求,並讀出 JSON 回應。
- 傳送 GET 和 POST 請求。
- 讀狀態碼。
- 解析 JSON 回應。
- 22API 金鑰把 API 金鑰保密。
- 把金鑰存在環境變數裡。
- 別把金鑰放進共用的程式碼。
- 說出為什麼金鑰絕不能放在瀏覽器裡。
- 23限制和費用說明速率限制和使用費用。
- 讀懂速率限制的報錯。
- 估計 100 次請求的費用。
- 被限制時等待再重試。
- 24呼叫 API用 Python 呼叫老師管理的 AI API。
- 傳送提示詞。
- 讀出回覆。
- 處理錯誤和逾時。
AI 測試
- 25測試案例寫出測試案例:輸入和期望的輸出。
- 寫 10 個測試輸入。
- 寫出好的輸出是什麼樣。
- 親手跑一遍。
- 26可靠性看可靠性:把同一個測試跑很多次,並比較結果。
- 把一個提示詞跑 10 次。
- 數一數它有多少次是對的。
- 降低隨機性再比較。
- 27邊界情況測試邊界情況:空的、很長的和刁鑽的輸入。
- 試空輸入和很長的輸入。
- 試另一種語言的輸入。
- 試想騙過應用的輸入。
- 28一套 20 道測試做出一套 20 道測試,給你的應用打分。
- 混合簡單、難和刁鑽的測試。
- 給每個回答打通過或未通過。
- 每次改完都記下分數。
負責任的應用設計
- 29隱私:只收集需要的資料為了隱私,只收集應用需要的資料。
- 列出你的應用收集的資料。
- 去掉它不需要的。
- 說出資料會保存多久。
- 30攔住不安全的輸入和輸出攔住不安全的輸入和輸出。
- 過濾不安全的話題。
- 顯示之前先檢查回答。
- 被攔住時給出安全的回覆。
- 31使用體驗:AI 正在回答時在使用體驗裡告訴使用者:AI 正在回答,而且它可能出錯。
- 標出 AI 的回答。
- 加上回報錯誤回答的辦法。
- 顯示載入狀態。
- 32安全清單給你的應用寫一份安全清單。
- 涵蓋隱私、安全和準確。
- 用這份清單檢查你的應用。
- 改掉一個沒通過的項目。
應用開發工作室
- 33學習助手的功能和測試寫下學習助手的功能和測試。
- 選好科目。
- 列出功能。
- 先寫那一套測試。
- 34做出介面做出介面:選科目的地方和提問畫面。
- 做出選科目的地方。
- 做出提問和回答的畫面。
- 做出回饋區。
- 35接上 AI接上 AI,加上模型給出的題目和回饋。
- 用模型生成練習題。
- 檢查答案並給出回饋。
- 跑一遍那一套測試。
- 36你自己的 AI 學習助手示範一個測過的學習助手。
- 示範整個應用。
- 展示評測分數。
- 說明前端、後端和模型。