使用 MakerSuite 利用 PaLM(Bard) API 整理氣象open data (JSON格式) 成為一則預報

既 MakerSuite & PaLM API 開箱

Photo by NOAA on Unsplash

眾所周知 Bard 就是 Google 所推出為了力抗 ChatGPT 的 LLMs , 隨著產品線不斷地補上,之余 ChatGPT API , 日前也推出了 PaLM API ,雖然大部份申請者只能在 waitlist 中等待,但筆者因為 GDE 的身份,也是首波開放名單之內,所以實作一個簡單的應用,讓大家可以體驗看看和 ChatGPT API 有什麼不同。

演練目標

利用 PaLM(Bard) API 整理氣象 open data (JSON格式) 成為一則氣象預報

  • say hello to MakerSuite & PaLM (Bard) API
  • call weather API 獲得天氣 json 後 送至 PaLM API 整理成氣象報告

教學步驟

事前準備

  • 有 PaLM API and MakerSuite 的權限,未有權限只先加入 waitlist。
  • 氣象 open data 存取

say hello to MakerSuite

為什麼是 say hello 目前還只能支援英文(2023.08.30)

  1. https://makersuite.google.com/

2. 如果有權限的話會看到這個畫面, 分成三個部分, 點旁邊的鑰匙圖示,拿 API KEY

API KEY

2. 點 Create API key in new project

3. 複製好 API key

Text prompt

  1. 從 Text prompt (A freeform way to experiment with language modelsCreate) 開始
  2. 點 Create

3. MakerSuite 有提供一些 sample prompts ,但我直接輸入 hello 按 Run

4. 他就自動幫你生成出 world! , 可以感覺的出來,被餵了很多的程式碼。

PaLM (Bard) API

1. 直接點 右上 的 Get Code 就可以獲得程式碼。

預設有 JS 等

2. 直接點 Copy 就能複製程式碼。

3. 依照你自己的習慣在本地端開啟一個程式專案, 記得替換成你的API Key。

4. 呼叫 API 後, 可以看到吐回來的 “output” 參數為 “to everyone” 。 也就是PaLM API 接續這 “hello”

call weather API 獲得天氣 json 後 送至 PaLM API 整理成 氣象報告

呼叫 weather API 會獲得天氣 json。


{
"lat": 52.2297,
"lon": 21.0122,
"timezone": "Europe/Warsaw",
"timezone_offset": 3600,
"data": [
{
"dt": 1645888976,
"sunrise": 1645853361,
"sunset": 1645891727,
"temp": 279.13,
"feels_like": 276.44,
"pressure": 1029,
"humidity": 64,
"dew_point": 272.88,
"uvi": 0.06,
"clouds": 0,
"visibility": 10000,
"wind_speed": 3.6,
"wind_deg": 340,
"weather": [
{
"id": 800,
"main": "Clear",
"description": "clear sky",
"icon": "01d"
}
]
}
]
}

Bard 是可以直接讀懂

這裡我們就可以直接將 JSON 到給 PaLM API 就能獲得一篇氣象預報, 省去自己整理的功夫。

  1. 將 promptString 參數改為:
# input
{
"lat": 52.2297,
"lon": 21.0122,
"timezone": "Europe/Warsaw",
"timezone_offset": 3600,
"data": [
{
"dt": 1645888976,
"sunrise": 1645853361,
"sunset": 1645891727,
"temp": 279.13,
"feels_like": 276.44,
"pressure": 1029,
"humidity": 64,
"dew_point": 272.88,
"uvi": 0.06,
"clouds": 0,
"visibility": 10000,
"wind_speed": 3.6,
"wind_deg": 340,
"weather": [
{
"id": 800,
"main": "Clear",
"description": "clear sky",
"icon": "01d"
}
]
}
]
}
# output
- make a forecast article

2. 呼叫後得到氣象預報。

結語

  • PaLM API 目前免費(2023.08.30)
  • 筆者有試著用中央氣象局的opendata ,但可能太多無用 data , Bard 雖然可以正確輸出,但 PaLM API 無法。

在剛推出免費的優勢之下, 如果能夠掌握到和 Bard 互動 Prompt 的技巧的話,應該是可以吸引到開發者去開發, 因為 ChatGPT API Tokens 真的很花錢。

最後📅,有本📖 關於和 LLMs 互動 (prompt)🤖的新書熱銷中🔥。

剛提到如何掌握到 prompt 技巧是和 LLMs 互動之中, 相當重要的。

這裡有本以 prompt 📜 + 運算思維🧠 為角度的書推薦給你~

本書📖 3 個重點:

  • ✔ 專注於 問題/需求 💭 的確認
  • ✔ 利用運算思維💡拆解問題及需求🧩
  • ✔ 藉由詠唱🎤 prompt 進行 AI🤖 人機協作🤝

購買連結🔗 Momo🛍️ 博客來📚 誠品📘 金石堂📖

Google Devfest 季 來臨,我們一起探索🔍與學習📚

Google DevFest,即Google開發者節,是由Google開發者群體主辦的全球性技術會議,旨在分享最新的Google技術和開源技術知識,並提供開發者交流合作的機會。2023 講座 紀錄

我將參加以下活動🎉,期待與你🙋見面🤝,聊聊 GenAI 與聊天機器人的架構。

與 Bard AI 協作教學

如何使用 MarkerSuite & PaLM API 搭配 Cloud Function 建置 Generative AI 聊天機器人 (LINE Bot) 和 Bard 協作程式碼,並使用 IDX 開發

比較 Vertex AI 的 Generation Studio 裡的 Language Model 與 Vertex AI Search & Conversation (前身 App Builder) 連動 Dialogflow CX 及 PaLM API 和 C 牌 API

在離開之前,記得給本📰Medium點讚👍、訂閱📩,並分享給您的朋友!

--

--

Wolke@林建宏 A Man Co-work with AI use coding tool
🤖 AI 人機協作

作為一名啟發者而存在。 -致力於分享經驗和知識,幫助開拓、行動、克服。 Badge: - LINE Expert - Google Developer Expert Books: - 應用詠唱釋放程式生產力 ... - 程式輕鬆入門到完整學習 ... Being: - 大學社群論壇