全部課

課程

八年級人工智慧:智慧應用開發者

把 Python、網頁、模型和 AI API 合成一個應用。自己測試,再示範給別人看。

按順序學各課。學完後,你能說出一個 AI 應用的介面、後端、模型和資料,並畫出它的架構。你能把程式碼拆成模組,讀寫 JSON 檔案,並用 HTML 和 CSS 做小網站。你能在網頁上顯示分類器的預測,用範本組成提示詞,並檢查模型的回答格式對不對。你能呼叫老師管理的 AI API,把 API 金鑰保密,做出一套 20 道測試,寫一份安全清單,並示範一個測過的學習助手。

這些課怎麼用

  • 從標著做這個的課開始。標題下面那一行你自己會了,再往下。
  • 先玩遊戲。再做測驗。10題裡對8題就通過。練習紙在紙上。答案在最下面。
  • 每一課都接在上一課後面。只留一個專案資料夾,每課往裡加一點。
  • 只用老師允許的 AI 服務。別把 API 金鑰寫進程式碼,也別告訴別人。別把私人資訊發給模型。應用顯示的每個 AI 回答都要測試。

每一課都有遊戲、測驗和練習紙。

0/36

AI 應用架構

  1. 1AI 應用的幾個部分說出一個 AI 應用的介面、後端、模型和資料。
    • 分別說明這四個部分。
    • 在翻譯應用裡找出它們。
    • 說出使用者能看到哪一部分。
  2. 2跟著一次請求走跟著一次請求,從點擊走到回答。
    • 列出從點擊到螢幕的每一步。
    • 說出模型在哪裡運行。
    • 說出哪裡可能變慢。
  3. 3應用把資料放在哪裡說出應用把資料放在哪裡,以及為什麼。
    • 比較瀏覽器、伺服器和資料庫。
    • 說出什麼絕不該存。
    • 說出誰能看到每個地方。
  4. 4畫出架構畫出一個真實 AI 應用的架構。
    • 選一個應用。
    • 給每個部分畫一個方框。
    • 用箭頭畫出資料怎麼流。

進階 Python

  1. 5模組把程式碼拆成模組,再匯入它們。
    • 把函式移到各自的檔案裡。
    • 在另一個檔案裡匯入它們。
    • 給模組起清楚的名字。
  2. 6檔案讀寫文字檔和 JSON 檔案。
    • 讀寫一個文字檔。
    • 儲存並載入 JSON。
    • 處理找不到的檔案。
  3. 7函式庫安裝並使用一個 Python 函式庫。
    • 用 pip 安裝一個函式庫。
    • 讀它的說明文件。
    • 用它裡面的一個函式。
  4. 8可重複使用的程式碼把重複的程式碼變成別人也能用的函式。
    • 找出重複的程式碼。
    • 把它變成參數清楚的函式。
    • 寫一段短的 docstring。

網頁應用基礎

  1. 9HTML用 HTML 做一頁帶標題、文字和表單的頁面。
    • 使用標題、段落和清單。
    • 加上一張圖片和一個連結。
    • 加上帶文字方塊和按鈕的表單。
  2. 10CSS用 CSS 給頁面做樣式:顏色、間距和版面。
    • 設定顏色和字型。
    • 加上 margin 和 padding。
    • 用 flexbox 排頁面。
  3. 11表單和輸入讀出使用者在表單裡輸入的內容。
    • 用 JavaScript 讀表單的值。
    • 把它顯示回頁面上。
    • 檢查空的輸入。
  4. 12小網站做有兩頁的小網站。
    • 做首頁和工具頁。
    • 把它們連在一起。
    • 讓它們在手機螢幕上也能用。

接入模型

  1. 13推論說明訓練和推論的差別。
    • 說出訓練只做一次,推論在每次請求時都做。
    • 儲存並載入訓練好的模型。
    • 給一次預測計時。
  2. 14模型的輸入把輸入準備成模型要的形狀。
    • 調整圖片大小。
    • 把特徵按正確順序排好。
    • 拒絕模型用不了的輸入。
  3. 15模型的輸出讀出模型的標籤和分數。
    • 讀出最可能的標籤。
    • 讀出信心分數。
    • 低於門檻就顯示「不確定」。
  4. 16接上分類器在網頁上顯示分類器的預測。
    • 在瀏覽器或小伺服器裡載入模型。
    • 把頁面上的輸入發給它。
    • 顯示標籤和分數。

用提示詞做的應用

  1. 17提示詞範本用範本和使用者輸入組成提示詞。
    • 寫一個帶空位的範本。
    • 用使用者輸入填上空位。
    • 別讓使用者輸入改掉你的指令。
  2. 18上下文給模型它需要的上下文。
    • 加上年級和主題。
    • 加上一個範例回答。
    • 比較有上下文和沒有上下文的回答。
  3. 19檢查回答格式檢查模型的回答格式對不對。
    • 要求傳回 JSON。
    • 解析它並檢查欄位。
    • 格式不對就再試,或顯示錯誤。
  4. 20把兩個提示詞串起來把兩個提示詞串起來,做完一件事。
    • 用一個提示詞出題。
    • 用第二個提示詞檢查答案。
    • 在步驟之間傳遞資料。

AI API

  1. 21請求和回應傳送請求,並讀出 JSON 回應。
    • 傳送 GET 和 POST 請求。
    • 讀狀態碼。
    • 解析 JSON 回應。
  2. 22API 金鑰把 API 金鑰保密。
    • 把金鑰存在環境變數裡。
    • 別把金鑰放進共用的程式碼。
    • 說出為什麼金鑰絕不能放在瀏覽器裡。
  3. 23限制和費用說明速率限制和使用費用。
    • 讀懂速率限制的報錯。
    • 估計 100 次請求的費用。
    • 被限制時等待再重試。
  4. 24呼叫 API用 Python 呼叫老師管理的 AI API。
    • 傳送提示詞。
    • 讀出回覆。
    • 處理錯誤和逾時。

AI 測試

  1. 25測試案例寫出測試案例:輸入和期望的輸出。
    • 寫 10 個測試輸入。
    • 寫出好的輸出是什麼樣。
    • 親手跑一遍。
  2. 26可靠性看可靠性:把同一個測試跑很多次,並比較結果。
    • 把一個提示詞跑 10 次。
    • 數一數它有多少次是對的。
    • 降低隨機性再比較。
  3. 27邊界情況測試邊界情況:空的、很長的和刁鑽的輸入。
    • 試空輸入和很長的輸入。
    • 試另一種語言的輸入。
    • 試想騙過應用的輸入。
  4. 28一套 20 道測試做出一套 20 道測試,給你的應用打分。
    • 混合簡單、難和刁鑽的測試。
    • 給每個回答打通過或未通過。
    • 每次改完都記下分數。

負責任的應用設計

  1. 29隱私:只收集需要的資料為了隱私,只收集應用需要的資料。
    • 列出你的應用收集的資料。
    • 去掉它不需要的。
    • 說出資料會保存多久。
  2. 30攔住不安全的輸入和輸出攔住不安全的輸入和輸出。
    • 過濾不安全的話題。
    • 顯示之前先檢查回答。
    • 被攔住時給出安全的回覆。
  3. 31使用體驗:AI 正在回答時在使用體驗裡告訴使用者:AI 正在回答,而且它可能出錯。
    • 標出 AI 的回答。
    • 加上回報錯誤回答的辦法。
    • 顯示載入狀態。
  4. 32安全清單給你的應用寫一份安全清單。
    • 涵蓋隱私、安全和準確。
    • 用這份清單檢查你的應用。
    • 改掉一個沒通過的項目。

應用開發工作室

  1. 33學習助手的功能和測試寫下學習助手的功能和測試。
    • 選好科目。
    • 列出功能。
    • 先寫那一套測試。
  2. 34做出介面做出介面:選科目的地方和提問畫面。
    • 做出選科目的地方。
    • 做出提問和回答的畫面。
    • 做出回饋區。
  3. 35接上 AI接上 AI,加上模型給出的題目和回饋。
    • 用模型生成練習題。
    • 檢查答案並給出回饋。
    • 跑一遍那一套測試。
  4. 36你自己的 AI 學習助手示範一個測過的學習助手。
    • 示範整個應用。
    • 展示評測分數。
    • 說明前端、後端和模型。
八年級人工智慧:智慧應用開發者