July
12th,
2024
前提 將 Python Firebase 的套件改成官方的 FirebaseAdmin ,以下有兩種認證方式。 透過 GOOGLE_CREDENTIALS 將 services_account.json 放在環境變數 GOOGLE_CREDENTIALS 透過以下程式碼啟動 這個方式可以在本地端,遠端連線去 firebase 測試。 # 从环境变量中读取服务账户密钥 JSON 内容 service_account_info = json.loads(os.environ['GOOGLE_CREDENTIALS']) # 使用服务账户密钥 JSON 内容初始化 Firebase Admin SDK cred = credentials.Certificate(service_account_info) # 啟動 firebase realtime database (透過 firebase_url ) firebase_admin.initialize_app(cred, {'databaseURL': firebase_url}) 透過 GCP 系統啟動 如果服務是部署在 Cloud Function 或是 Cloud Run 其實可以透過預設的 Services Account 來取得相關權限 My Project 可以取得 My Project 在 firebase 的權限。 這個設定方式如法在本地端連接到 Firebase 測試 # 直接取得 Google Cloud 的參數 cred = credentials.ApplicationDefault() # 啟動 firebase realtime database (透過 firebase_url ) firebase_admin.initialize_app(cred, {'databaseURL': firebase_url}) 增加 Firebase 相關安全性設定 (Firebase Realtime Database Security Rules) { "rules": { ".read": "auth != null && auth.token.admin === true", ".write": "auth != null && auth.token.admin === true" } } 這樣就可以了。 相關程式碼 放一些基本常用到的 查詢全部 def get_all_cards(u_id): try: # 引用 "namecard" 路径 ref = db.reference(f'{namecard_path}/{u_id}') # 获取数据 namecard_data = ref.get() if namecard_data: for key, value in namecard_data.items(): print(f'{key}: {value}') return namecard_data except Exception as...
繼續閱讀
July
11th,
2024
Google AI Dev - Gemma2 && PaliGemma 這張圖稍微解釋了 Gemma 家族的兩個主要產品: Gemma 2:也就是第二代的 Gemma PaliGemma:是第一代的 VLM (視覺語言模型) PaliGemma 相關資源: 這邊有 paligemma 的 demo code (在 HuggingFace 上面) 可以看出來,由於是 Gemma 2B 加上 SigLIP 他對於語言的處理比較簡單。 可以做一些簡單的資訊處理,但是複雜問題就不行,比如說: 產生 JSON 回覆 (X) 一次回答兩個問題以上 (X) 但是可以達到: 用中文問問題(但是只會回答英文) 可以做簡單的 OCR ,或是 Object Detection 。 根據以下討論 PaliGemma 的影片, Google 團隊建議直接使用 Mix 版本的模型。他可以 Vision + Object Detection 。 以上是 PaliGemma model 的相關 Benchmark ,可以看出來。 對比的相關測試數據跟方法,都可以得到不錯的準確率。 在 GCP 上面直接部署 PaliGemma https://console.cloud.google.com/vertex-ai/publishers/google/model-garden/paligemma 另外一方面 Gemma 2 也可以: https://console.cloud.google.com/vertex-ai/publishers/google/model-garden/gemma2 Gemma 可以適用的相關內容 透過 Gemma 可以讓 token 數字有大幅度的減少,有以下幾種方向可以考慮: 個人隱私的偵測 讓一些可能有個人隱私的部分可以獲得比較有效的篩選。 以前做法: 個人資料的偵測跟去除一直是一個很難的技術,需要有許多 regular expression 來做控管。即便是如此,還是有可能會有遺漏的地方。針對個人資料偵測這一段,其實在 LLM 是可以使用的。 但是在資安法規上,直接將用戶的個人資料傳到第三方,這樣是不符合規範的。所以這一段可以透過 Gemma 來施行。 如何用 Gemma (on-device LLM) 處理 查看以下內容是否包含個人資料,地址,身份字號,銀行帳號,回覆我 是 或是 否 ------ 我想找台北的房子 如何用 PaliGemma 處理? Check if the image content contains personal information, address, identity number, or bank account number, and reply with Yes or No. 實地測試 - Gemma2 / PaliGemma 文字測試 Gemma2-9B 改成 「某人」跟 「配偶」,並且可以有效地去除身份字號跟銀行帳號。 圖片測試 PaliGemma 判定是否需要 「大型」LLM 的介入 將聊天機器人放入群組之中,最害怕的就是怕「 Token」爆掉。因為每一句話都需要判斷是否需要 LLM 的介入。這時候就可以透過 Gemma...
繼續閱讀
July
8th,
2024
懶人包:
懶人包: Gemma2 目前還是屬於偏大的參數(27B) 小模型還在訓練中,可以先看看 Gemma 1.1 。
相關內容
概論
Gemma2 Model Card
Gemma Cookbook 資料分享
Gemma Cookbook Github
可以貢獻,但是不要重複。
可以看一下 wishlist
中文翻譯(by 保哥) https://github.com/doggy8088/gemma-cookbook
在 AI Studio 試試看 Gemma2
Model Card
Gemma1.1(2B, 7B)
Gemma2 (27B, 9B) ,小模型 2.7B 還在訓練中。
新增: Gemma2 on Groq (沒有很好顯卡,可以用這個範例)
Gemma2_on_Groq.ipynb
新增: Gemma2 相關中文模型
https://huggingface.co/cloudyu/google-gemma-7b-chinese-sft-v1 (大陸清華大學學生做的,非官方)
Q&A
Q: Gemma2 - Fine-Tunning 經驗?
HuggingFace 上面有註解,如果要 Fine-Tune 需要把 Attention 改成 Egar
Q: Gemma2 是否有 Embedding Model?
目前還沒有。
Q: 有方式透過雲端方式直接使用 Gemma 嗎?不需要本地端部署 GPU?
目前有 Vertex AI 對上 Gemma 的 cookbook
繼續閱讀
July
1st,
2024
前言: 本篇文章主要是 iThome Cloud Summit 2024 Lab 的課程內容: 這裡可以看一下投影片內容,在緊接著來看 Lab 實作的流程教學: 課程目標 這個工作坊適合對 ChatBot 開發、雲端服務或機器學習有興趣的開發者、學生或任何技術愛好者。無論你是想擴展你的技能集,還是對打造智能旅遊助手有獨特的想法,這個工作坊都將為你提供實踐經驗和深入知識。 課程綱要 第一部分:了解基礎 Cloud Function 和 Firebase 簡介:學習這些平台的基本概念以及它們如何協同工作來支持應用程式的後端。 LINE ChatBot 的運作原理:深入了解 LINE ChatBot 的架構和 API,以及如何與用戶進行互動。 第二部分:動手實作 設置 Firebase 環境:實際操作,建立 Firebase 專案並配置所需的服務。 開發 Cloud Function:學習如何編寫和部署 Cloud Function 來處理 ChatBot 的邏輯和資料存取。 整合 Gemini Pro Vision API:探索如何使用 Gemini Pro Vision 的 API 進行影像識別,並將其應用於收據管理。 第三部分:ChatBot 功能開發 旅遊資訊查詢:實現一個功能,讓用戶可以透過 ChatBot 查詢旅遊相關資訊。 收據上傳與識別:開發一個系統,讓用戶能夠上傳收據圖片,並利用 Gemini Pro Vision 的技術自動識別和整理收據資訊。 第四部分:部署與監控 ChatBot 的部署:學習如何將 ChatBot 部署到生產環境中,讓真實用戶開始使用。 監控與維護:介紹如何監控 ChatBot 的運行狀況,並進行必要的維護。 學員自備裝置 1.可連接網路筆電 2.Google Cloud 帳號 3.LINE 帳號 學員基礎能力需求 Python Cloud Deployment 事前準備: LINE Developer Account: 你只需要有 LINE 帳號就可以申請開發者帳號。 Google Cloud Functions: Python 程式碼的部署平台,生成供 LINEBot 使用的 webhook address。 Firebase:建立Realtime database,LINE Bot 可以記得你之前的對話,甚至可以回答許多有趣的問題。 Google AI Studio:可以透過這裡取得 Gemini Key 。 關於 Gemini API Price 根據官方網站: https://ai.google.dev/pricing?hl=zh-tw 申請 Gemini API Key 到 Google AI Studio https://aistudio.google.com/ Click “Get API Key” 選擇你已經有綁定信用卡的付費帳號,來取得 API Key 申請一個 LINE 聊天機器人 (Messaging API) 到 LINE Developer Console )並且登入 在挑選 Channel 的時候,如果要申請 LINE Chatbot (官方帳號),就要申請 Messaging API 相關資料填寫上:...
繼續閱讀
June
12th,
2024
成熟大人回嘴的藝術
有人酸你、挖苦、打壓、諷刺你時,與其默默承受,你要走到對方面前這樣說……
賢く「言い返す」技術
作者: 片田珠美
譯者: 郭凡嘉
出版社:大是文化
出版日期: 2016/07/27
買書推薦網址:
Readmoo: 購買網址
前言:
這是 2024 年第 5 本讀完的書。 當初看到這一本,就是在想說很多人常常喜歡酸來酸去,該如何正面且有效的回嘴勒?
內容摘要:
你是否曾在工作、生活中,被人這樣「挖苦」過……
◎公司前輩:「你都出社會幾年啦?連這種事都不知道!」
◎長輩鄰居一碰面就問:「怎麼還不生小孩啊?」
◎主管老愛想當年:「到現在為止,還沒有人可以超越我的紀錄。」
◎朋友愛吐槽漏我氣:「你那個身材穿這樣不好看啦,我穿好看多了……」
◎媽媽:「我說這些都是為了你好,你當我喜歡囉嗦啊……」
◎婆婆:「妳做的菜跟我們家味道都不太一樣……」
◎丈夫:「家庭主婦還真是輕鬆!」
◎回嘴的最高指導原則,就是「不搏鬥」,讓對方的襲擊落空:
•面對激動的、大聲的言語攻擊,你的回嘴口氣更必須顯得不痛不癢,
讓對方知道這樣說下去於事無補。
•言語攻擊者都想看到對方受傷,你悖離他的期待,就能使攻擊毫無價值。
心得:
這一本書根據一些心理狀態的頗析出發,開始去分析為什麼會有人想要透過「言語來霸凌」別人,為什麼想要在口頭上欺負別人?再來去思考你應該要有哪一些的心理建設與應對想法。 讓每一個人都能知道,你乖乖地並不一定能夠讓對方罷休。有些時候可以透過,轉移話題,正面拒絕,甚至是反嘴回去的一些方式來讓對方知道你不是好欺負的。
繼續閱讀
June
11th,
2024
昨天 WWDC 2024 最令大家震驚的就是 Apple 重新定義 AI 的縮寫 - Apple Intelligence
可以參考一下這個短片 5 mins in Apple Intelligence
全部在本地端運算,主要有 GenMoji, 信件摘要,拼字語法重寫,資訊整合,相片分類等。
透過 MLX 技術,加上據說是對標 MSFT Phi-3B 的模型(各種語言支援度待確認,Apple 也承認不一定上全語系)
硬體需求 : iPhone 15 Pro 以上, iPad Pro (M1), 筆電都是 M1 以上
跟個人比較有關:
完美整合生態系(增加大家回用 Apple Apps)我自己應該會考慮把 Gmail -> Apple Email, Calendar 也是。
本地端 LLM model 加上 Embedding 加上其他內容,手機空間會使用更大。
剩下應該就是覺得很方便的,訂票資料輸入,各種 email 語氣跟文法校正(grammarly 應該死很久了)。
記得去買 iPhone 16 + iCloud XD
衍伸閱讀: 蘋果軟體工程資深副總 Craig Federighi 親自解析 Apple Intelligence:蘋果的 AI 野心
最近一篇紅的討論是 APPLE WWDC 2024 沒有嶄新的技術。 但是 WWDC 從來就不是從技術出發,而是從客戶體驗再來談技術。 在 30 年前的 WWDC 有個 RD 說他不懂技術,講的也沒有很嶄新的技術。 但是 Jobs 卻說,我過去七年唯一學到的是。你不能從技術來賣產品。你要先有好的客戶體驗才能討論技術。 這也是為什麼總是很多人說 WWDC 的 keynote 沒有讓人讚嘆的技術,而是很多事嶄新的使用者體驗。 真的要看技術,要去 Apple developer 每個議程去看。 不過這也是為什麼總是有人問說 WWDC 為什麼沒有新的產品。(黑人問號??
影片: https://x.com/pirrer/status/1685529928442556416
On-Device 是 對比 Phi 的內部 model 。
GPT4-O 是有另外一個 chatGPT 模式
繼續閱讀