這三個 Lab 其實是 Google Cloud AI/ML APIs 的完美入門組合!
從文本、語音到影片,一次掌握三大 AI 服務的核心概念。
每個 API 都有獨特的應用場景,建議先從 Natural Language API 開始,熟悉認證流程後,其他兩個就很容易上手了。
GSP097 - Cloud Natural Language API: Qwik Start
GSP119 - Speech-to-Text API: Qwik Start
GSP154 - Video Intelligence: Qwik Start
Google Cloud AI/ML APIs 是 Google 提供的雲端人工智慧服務,讓開發者可以輕鬆整合先進的 AI 功能到應用程式中。這些 API 涵蓋了多媒體內容的智能分析,從文本理解、語音轉文字到影片內容識別,為現代應用程式提供了強大的 AI 能力。
主要特色:
➊ 文本實體提取:從文本中自動識別人名、地點、事件等重要實體
➋ 語音轉文字:將音訊檔案轉換為文字轉錄,支援多種語言和音訊格式
➌ 影片內容分析:自動為影片添加標籤和註解,使影片內容可搜尋
➍ 統一認證模式:所有 API 都使用相似的服務帳戶認證方式
➎ 豐富的元數據:提供信心分數、維基百科連結等詳細資訊
➏ 多媒體支援:涵蓋文本、音訊、影片三種主要媒體類型
Lab 實作:
➊ 建立服務帳戶和 API 金鑰進行認證
➋ 使用 Natural Language API 分析文本並提取實體資訊
➌ 透過 Speech-to-Text API 將音訊檔案轉換為文字
➍ 利用 Video Intelligence API 為影片添加智能標籤
➎ 處理 API 回應並解析 JSON 格式的結果
➏ 驗證 AI 分析結果的準確性和信心分數
𝕂𝕖𝕖𝕡 𝕝𝕖𝕒𝕣𝕟𝕚𝕟𝕘. 𝕂𝕖𝕖𝕡 𝕙𝕒𝕔𝕜𝕚𝕟𝕘!
實作影片:
指令整理:
環境初始化
此部分設定 GCP 專案的基礎環境變數和認證。這些變數在後續 API 呼叫中被引用,確保所有操作都在正確的專案和認證環境下執行。
export GOOGLE_CLOUD_PROJECT=$(gcloud config get-value core/project)
export API_KEY=<YOUR_API_KEY> # Speech-to-Text API 使用
export GOOGLE_APPLICATION_CREDENTIALS="/home/USER/key.json" # Natural Language & Video Intelligence
核心概念一:服務帳戶認證設定
建立安全的 API 存取機制,這是所有 Google Cloud AI APIs 的基礎。服務帳戶提供程式化的認證方式,避免在程式碼中硬編碼敏感資訊。
# 建立服務帳戶(Natural Language API)
gcloud iam service-accounts create my-natlang-sa \
--display-name "my natural language service account"
# 建立服務帳戶金鑰
gcloud iam service-accounts keys create ~/key.json \
--iam-account my-natlang-sa@${GOOGLE_CLOUD_PROJECT}.iam.gserviceaccount.com
# 建立服務帳戶(Video Intelligence API)
gcloud iam service-accounts create quickstart
gcloud iam service-accounts keys create key.json \
--iam-account quickstart@<your-project-123>.iam.gserviceaccount.com
常見坑點:服務帳戶金鑰檔案路徑要正確設定,專案 ID 要替換為實際值
概念連結:為後續的 API 呼叫提供認證基礎,所有 AI APIs 都需要正確的認證
核心概念二:API 請求格式與認證
不同 AI APIs 使用不同的認證方式,但都遵循 RESTful API 的標準模式。理解這些模式有助於快速上手其他 Google Cloud APIs。
# Natural Language API - 使用 gcloud 指令
gcloud ml language analyze-entities --content="文本內容" > result.json
# Speech-to-Text API - 使用 curl 與 API 金鑰
curl -s -X POST -H "Content-Type: application/json" --data-binary @request.json \
"https://speech.googleapis.com/v1/speech:recognize?key=${API_KEY}"
# Video Intelligence API - 使用 curl 與 Bearer Token
curl -s -H 'Content-Type: application/json' \
-H 'Authorization: Bearer '$(gcloud auth print-access-token)'' \
'https://videointelligence.googleapis.com/v1/videos:annotate' \
-d @request.json
常見坑點:API 金鑰 vs Bearer Token 的使用時機,JSON 請求格式要正確
概念連結:這些認證方式可以應用到其他 Google Cloud APIs
核心概念三:非同步處理與結果查詢
Video Intelligence API 採用非同步處理模式,需要輪詢操作狀態。這反映了 AI 處理複雜媒體內容的現實需求。
# 取得操作名稱(從 API 回應中)
curl -s -H 'Content-Type: application/json' \
-H 'Authorization: Bearer '$(gcloud auth print-access-token)'' \
'https://videointelligence.googleapis.com/v1/projects/PROJECTS/locations/LOCATIONS/operations/OPERATION_NAME'
# 等待處理完成後重新查詢
# 檢查回應中的 "done": true 狀態
常見坑點:操作名稱要從初始回應中正確提取,處理時間可能較長
概念連結:與同步 API(Natural Language, Speech-to-Text)形成對比,展示不同 AI 服務的處理模式
完整工作流程
整合三種 AI APIs 的認證和呼叫模式,展示 Google Cloud AI 服務的統一性。
# 驗證 API 回應
cat result.json # Natural Language API 結果
cat result.json # Speech-to-Text API 結果
# Video Intelligence API 需要檢查操作狀態