鋼鐵人大家有看過吧,Tony 和 Jarvis 對話肯定是很多人的夢想 (至少我是啦🤣),今天帶大家使用現在最潮的 AI 們 (ChatGPT、Google Gemini) 自訂 HA 語音助理,讓原本的智障助理變成真正的「智慧」助理!
不過因為我才剛弄到 ESP32-S3-BOX-3,需要再花點時間安裝、測試,今天只能先帶大家讓 Home Assistant 長腦,還沒辦法說話~下一集再帶大家使用 ESP32-S3-BOX-3 讓你的 Home Assistant 語音助理開口說話~
目錄
我們為什麼會需要更聰明的語音助理?
大家應該有用過 Siri、Google Assistant 這類「上個世代」的語音助理吧?俗稱「智障助理」🤣 因為 Siri、Google Assistant 這類上個世代的語音助理都有一個共通的問題,就是只能理解固定的指令,與其說是理解,其實更像是「可以識別」,而識別的方式就是工程師寫死在程式裡的,所以如果你沒有精準的用詞,那這些上個世代的語音助理就完全聽不懂你在說什麼。
而 Home Assistant 系統預設的語音助理也是同樣狀況,這也造成了我家的智慧家庭使用語音控制的比例只有不到 1% 這麼低,因為成功率實在太低了,要用講的還不如我直接拿手機起來控制還更快 🤬
近幾個月 Google 已經開放讓 Android 內建的語音助理可以更換成 Gemini (但 Nest 智慧家庭音箱還不行),Apple 也傳出消息準備和 ChatGPT 合作,過去這種「上個世代的智障助理」應該很快會有改善,而 Home Assistant 也在近幾個月推出可以自訂語音助理使用的 LLM (Large Language Model,大型語言模型),為了可以讓智慧家庭盡可能的本地化,讓我們開始來試試看吧!
Step 1. 建立 Home Assistant 語音助理
Step 1-1. 左側「設定」 ➜ 「語音助理」
Step 1-2. 點擊「新增助理」
(如果這裡已經有助理可以直接跳過)
Step 1-3. 自行輸入「名稱」,其他都先使用預設選項即可
Step 1-4 測試助理是否正常
回到「總覽」,點擊右上角對話泡泡按鈕,和助理對話試試,有反應就表示成功啦!
這時候還是「智障助理」,別擔心,接下來我們來串接 ChatGPT 和 Google Gemini 讓它變聰明!👍
Step 2. 取得 OpenAI API 金鑰
Step 2-1. 註冊/登入 OpenAI Platform
這和平常用的 ChatGPT 不同,先到 OpenAI Platform 完成註冊並登入。
Step 2-2. 建立 OpenAI secret key
- 左側欄點選「API keys」
- 右上角點選「Create new secret key」
- 「Create secret key」建立 secret key
Step 2-3. 保存 secret key
「Copy」複製下來,找個地方存好,後面會用到。
Step 3. 新增「OpenAI Conversation」整合
Step 3-1. Home Assistant 左側「設定」 ➜ 「裝置與服務」
Step 3-2. 安裝「OpenAI Conversation」
- 右下角點選「新增整合」
- 找到「OpenAI Conversation」並點擊
- API 金鑰填入在 Step 2-3. 取得的 secret key
- 點擊「傳送」
Step 4. 取得 Google AI API key
Step 4-1. 註冊/登入 Google AI Studio
至 Google AI Studio 完成註冊並登入。
Step 4-2. 建立 Google AI API key
- 左側欄點選「Get API key」
- 點選「Create API key」
- 選擇「Google Cloud project」(如果沒有就按引導步驟新增一個)
- 點擊「Create AI key in existing project」
- 複製填出視窗中的「Copy」將 API key 保存好接下來會用到
Step 5. 新增「Google Generative AI」整合
Step 5-1. Home Assistant 左側「設定」 ➜ 「裝置與服務」
Step 5-2. 安裝「Google Generative AI」
- 右下角點選「新增整合」
- 找到「Google Generative AI」並點擊
- API 金鑰填入在 Step 4-2. 取得的 API key
- 點擊「傳送」
Step 6. 設定 Home Assistant 語音助理使用的對話助理
有點饒口,但簡單來說就是將原本 Home Assistant 的智障語音助理換成 ChatGPT 或是 Google Gemini 看你喜歡 🤣
Step 6-1. 選擇 Home Assistant 語音助理
- Home Assistant 左側「設定」 ➜ 「語音助理」
- 選擇你的語音助理
Step 6-2. 設定對話助理
- 選單中可以選擇 Home Assistant、ChatGPT、Google Generative AI,選一個你喜歡的 (這裡用 Google 示範)
💡 選單右側有個 ⚙️ 可以進行進階設定,建議在摸清楚功能之後再嘗試調整喔~
- 按下「更新」
大功告成!
恭喜你!你的 Home Assistant 變成真正的智慧助理啦~試著和你的 Home Assistant 對話吧~
也可以試試看透過 Step 6-2. 提到的進階設定讓你的語音助理更有個性喔!
下集預告
下一集將帶大家使用 ESP32-S3-BOX-3 在 Home Assistant 建立 “會講話” 的語音助理喔!
敬請期待~
請教一下,當我設定完成Google Generative AI後 嘗試設定設備 On/Off 或是其他功能出現,sorry i had a problem talking to google generative ai:500 An internal error has occurred. Please retry這部分是不是還需要做其他的設定呢?
當我嘗試取得設備狀態 以及目前開啟的燈 回覆資訊是穩定的。
謝謝!
Hi Yean, 我查了一下 500 error 是指 “Your input context is too long.” (輸入的背景資訊過長),把授權的裝置數量減少再試試看
請教一下 當我設定完成後,想藉由Google Generative AI 控制設備On/Off 或是其他功能時,提示出來sorry i had a problem talking to google generative ai:500 An internal error has occurred. Please retry這部分是不是還有其他設定得做呢? 謝謝!
對了,使用Google Generative AI也是需要付費的嗎?
Hi Richard, Google 有免費 (Free of charge) 方案可以選,當然還是有使用限制,但嚐嚐鮮算是夠用了,用起來喜歡再考慮付錢囉
Hi Neil~我剛查詢了一下,我的認知GOOGLE AI、OPEN AI的API服務是不是我只要在他的流量限制內都是免費使用,超過流量就會要你付費,是這樣嗎?不好意思問題有點多~謝謝您
Hi Richard, OpenAI 應該是要有設定 billing plan 那 API 才打得通,且要先儲值才能用
或是你也可以翻翻看官方的 Pricing page
原來是這樣,我OpenAI沒有設定billing plan,難怪會出現Error Code,那如果我用Google AI,是否就如我上述的,流量內都免費,超過流量他才會要你付費,還是我需要去選取付費機制呢?搞得有點亂~
Hi Richard,
我 Google 是選免費方案,我的理解是額度內免費用,額度滿不能用
那跟我理解的一樣,謝謝Neil的不厭其煩,感謝~~
沒問題 加油👍
hi Neil:
我目前按照您的教學,成功使用Google Generative AI當助理,然而使用ChatGPT當助理時,對話顯示OPEN AI Error Code:429,查詢OPEN AI錯誤碼對照表,意思是我頻繁使用已超出使用限制,是需要收費嗎?
Hi Richard,
看官方的說明應該是呼叫太頻繁,你隔一天再試試看,OpenAI 的 API 使用也都是需要付費的,注意查看一下你在 OpenAI 的帳單喔,不要爆掉了
瞭解了,謝謝Neil~~