[VS Code][Colab] Google 正式釋出 Colab VS Code Plugin

前情提要 Google Colab 是一個我很喜歡的服務,你可以在線上透過 JupyterNotebook 的介面,快速使用到 GPU (甚至是 TPU)。有許多需要大量運算資源的東西,都可以很快速的在遠端的機器上面執行。 我自己很常在上面去嘗試一些模型,雖然常常排隊排不到機器。 使用 Colab 可能有的痛點 雖然使用Google Colab 機器非常的方便,但是由於在線上編輯有一些比較麻煩的地方: 無法使用 Copilot 這類型的 Code Assist Tool 來幫我 Auto-Complete 一些程式碼 無法跑 Gemini CLI Code Assist 來幫我寫出一些更多的測試或是幫忙想應用。 Colab for VS Code Plugin 但是現在 Colab VS Code Extension 終於可以在 VS Code Plugin 上面使用了。你可以透過 “Colab” 直接找到官方釋出的 Plugin 。 安裝過程相當的簡單又快速。 連線到 Colab 如果要連線,在選擇 Kernel 的時候,就可以選擇 Colab 來遠端連線。 這裡還可以快速連線,或是找你上次連線過的伺服器。 這裡就是讓人興奮的地方,可以找找 TPU (不保證排得到隊伍)來用用看。 這樣就可以了。 實際應用: 這樣比較對味啦!! Vibe Coding 出現之後,我們越來越習慣 Vibe Coding 了。但是如果需要 Step by Step 的去偵錯,或是想要跑一些大型機器才能運行的運算。真的還是需要透過 Colab 來幫忙,但是如果又希望可以有 Gemini CLI 的輔助的話,或許 Colab VS Code Extension 就是你不可或缺的好夥伴。 目前一些需要注意的地方 由於 Colab VS Code Plugin 還在持續開發中,有一些原本在 Colab Web UI 上可以使用的 google.colab 功能目前還無法在 VS Code 中使用。以下是一些主要的限制: auth.authenticate_user(): 認證 URL 會出現在選單中,無法直接點擊。建議改用 Python Cloud Client Library。 drive.mount(): 目前無法掛載 Google Drive,可以改用 Drive Python API 來存取檔案。 files.download() / files.upload(): 原生的檔案上傳下載功能無法使用,但可以透過 IPyWidget 來達成相同效果。 userdata.get(): 目前會回傳錯誤,暫時需要從 Colab Web UI 複製 secret 值到 notebook 中。 雖然有這些限制,但整體來說 Colab VS Code Plugin 還是大幅提升了開發體驗,特別是對於習慣使用 VS Code 和各種 AI Coding Assistant 的開發者來說,絕對是值得一試的好工具! 參考資料 Colab VS Code...
繼續閱讀

[Python] LINE Bot 名片管家進化:一鍵生成 vCard QR Code,讓名片直接加入手機通訊錄

前情提要 在先前的 LINE Bot 智慧名片管家 專案中,我們已經實作了使用 Gemini Pro Vision API 自動辨識名片的功能。使用者只要拍照上傳名片,AI 就能自動解析姓名、職稱、公司、電話、Email 等資訊,並儲存到 Firebase Realtime Database 中。 但在實際使用時,我發現了一個痛點: 📱 我已經有數位化的名片資料了,但要加入手機通訊錄還是得手動一個一個欄位輸入… 想像這些情境: 📇 參加研討會:收集了 20 張名片,辨識完成後還要手動加入通訊錄 💼 業務拜訪:拿到客戶名片,想快速加入手機聯絡人 🤝 社交場合:認識新朋友,希望立即儲存聯絡方式 於是我想:既然資料已經數位化了,為什麼不能一鍵加入通訊錄呢? 最理想的方式就是:生成 vCard QR Code,讓使用者掃描後直接加入通訊錄! 專案程式碼 https://github.com/kkdai/linebot-namecard-python (透過這個程式碼,可以快速部署到 GCP Cloud Run,享受無伺服器的便利) 📚 關於 vCard 與 QR Code vCard 格式介紹 vCard(Virtual Contact File)是一種電子名片的標準格式,副檔名為 .vcf。幾乎所有智慧型手機和郵件客戶端都原生支援 vCard,包括: 📱 iPhone:自動識別並提示「加入聯絡人」 🤖 Android:透過聯絡人 App 匯入 💻 電腦:Outlook、Apple Mail、Gmail 等都支援 vCard 3.0 格式範例 BEGIN:VCARD VERSION:3.0 FN:Kevin Dai N:Dai;Kevin;;; ORG:LINE Taiwan TITLE:Software Engineer TEL;TYPE=WORK,VOICE:+886-123-456-789 EMAIL;TYPE=WORK:[email protected] ADR;TYPE=WORK:;;Taipei, Taiwan;;;; NOTE:Met at DevFest 2025 END:VCARD QR Code + vCard 的優勢 將 vCard 編碼成 QR Code 有幾個好處: ✅ 一掃即加:相機 App 掃描後自動識別 ✅ 跨平台:iPhone/Android 都支援 ✅ 無需下載:不用儲存檔案再匯入 ✅ 資料完整:包含所有聯絡資訊和備註 ✨ 專案功能介紹 核心功能流程 使用者上傳名片圖片 ↓ Gemini Vision API 辨識 ↓ 儲存到 Firebase Realtime Database ↓ 顯示名片 Flex Message ↓ 【新功能】點擊「📥 加入通訊錄」按鈕 ↓ 生成 vCard QR Code ↓ 上傳到 Firebase Storage ↓ 回傳 QR Code 圖片給使用者 ↓ 使用者掃描 → 加入通訊錄 ✅ 新增功能亮點 📥 一鍵生成 QR...
繼續閱讀

LINE Messaging API 新功能介紹: Mark as Read API 讓你的聊天機器人標記訊息已讀

在 2025 年 11 月 5 日,LINE Messaging API 推出了新的功能,讓聊天機器人可以將用戶發送的訊息標記為已讀。這項功能的推出,讓開發者能夠為用戶提供更好的互動體驗,用戶可以清楚知道機器人是否已經「看過」他們的訊息。 前言 以往在回應設定中,如果開啟了聊天,希望可以用真人來回覆客戶的話。這個時候,由於系統是允許「真人聊天」跟「聊天機器人」是共存的。但是如果這個聊天選項打開的話,直到真人打開聊天視窗之前,即便客戶的訊息已經被聊天機器人處理了,他也不會標示成「已讀」。 這一篇文章就要跟大家分享,這一個新功能開放後。該如何應用這個新的 API 。 新 API 功能介紹 已讀標記功能 當用戶發送訊息給 LINE 官方帳號時,機器人現在可以主動將訊息標記為已讀狀態。這讓用戶在聊天介面上可以看到「已讀」的指示,就像一般的 1 對 1 聊天一樣。這項功能特別適合用於: 客服機器人:讓用戶知道他們的問題已經被機器人接收並處理 訂單通知機器人:確認用戶的訂單查詢已被讀取 互動式問答機器人:提供更自然的對話體驗 SDK 版本需求 line-bot-sdk-go/v8: v8.18.0 或更新版本 Go: 1.24 或更新版本 新增 API 規格 LINE Messaging API 新增了兩個標記已讀的 API: MarkMessagesAsRead 使用 userId 來標記特定用戶的所有未讀訊息為已讀。 端點: POST https://api.line.me/v2/bot/message/markAsRead 請求參數: { "chat": { "userId": "U1234567890abcdef1234567890abcdef" } } MarkMessagesAsReadByToken (本文重點) 使用訊息專屬的 markAsReadToken 來標記特定訊息為已讀,更精確也更安全。 端點: POST https://api.line.me/v2/bot/message/markAsRead/token 請求參數: { "markAsReadToken": "abc123def456..." } 新 API 欄位介紹 markAsReadToken 欄位 LINE Messaging API v8.18.0 在各種訊息內容中新增了 markAsReadToken 欄位: TextMessageContent.markAsReadToken: 文字訊息的已讀標記 token StickerMessageContent.markAsReadToken: 貼圖訊息的已讀標記 token ImageMessageContent.markAsReadToken: 圖片訊息的已讀標記 token VideoMessageContent.markAsReadToken: 影片訊息的已讀標記 token AudioMessageContent.markAsReadToken: 音訊訊息的已讀標記 token FileMessageContent.markAsReadToken: 檔案訊息的已讀標記 token LocationMessageContent.markAsReadToken: 位置訊息的已讀標記 token 每個訊息都會有一個唯一的 markAsReadToken,機器人可以使用這個 token 來標記該訊息為已讀。 如何使用 Golang 來開發相關部分 以下是使用 Golang 實作 Mark as Read 功能的完整範例程式碼: (請注意 github.com/line/line-bot-sdk-go/v8 需要更新到 8.18.0 之後) 範例程式碼在:https://github.com/kkdai/linebot-mark-as-read 實作方式:使用 Quick Reply + Postback 本範例採用使用者友善的互動方式:在每則回覆訊息上加上「Mark as Read」快速回覆按鈕,讓使用者可以主動選擇要將哪些訊息標記為已讀。 步驟 1: 接收訊息並提取 markAsReadToken case webhook.TextMessageContent: // 從訊息內容中取得 markAsReadToken markAsReadToken := message.MarkAsReadToken log.Printf("Received text message with...
繼續閱讀

[Python] 用 Python + Gemini File Search 打造智能文件助手 LINE Bot:讓 AI 幫你讀文件

前情提要 在工作和生活中,我們經常需要處理大量的文件:會議記錄、技術文件、合約、研究報告等等。每次要找特定資訊時,都得翻開文件一頁一頁找,既費時又容易遺漏重點。 最近 Google 推出了 Gemini File Search API,讓 AI 可以直接分析上傳的文件並回答問題。我想到,如果能結合 LINE Bot,讓大家透過最常用的通訊軟體就能「問」文件問題,那不是很方便嗎? 想像一下這些場景: 📄 會議記錄:「這次會議的主要決議是什麼?」 📊 技術文件:「這個 API 的參數有哪些?」 🖼️ 圖片內容:「這張圖片裡有什麼?」 📑 研究報告:「這份報告的結論是什麼?」 於是我決定動手打造這個「智能文件助手 LINE Bot」,讓 AI 成為你的私人文件分析師! 專案程式碼 https://github.com/kkdai/linebot-gemini-file-search (透過這個程式碼,可以快速部署到 GCP Cloud Run,享受無伺服器的便利) 📚 關於 Gemini File Search 基本介紹 Gemini File Search 是 Google DeepMind 於 2025 年 11 月 6 日推出的全新工具,直接內建在 Gemini API 之中。這個工具是一套全託管的 RAG(檢索增強生成,Retrieval-Augmented Generation)系統,目標是讓開發者能更簡單、有效率地將自己的資料與 Gemini 模型結合,產生更精確、相關且可驗證的 AI 回應。 主要特色 簡化開發流程 File Search 免去自行搭建 RAG 管線的麻煩,開發者只需專注於應用程式本身。檔案儲存、分段(chunking)、嵌入(embedding)及檢索等繁瑣細節都自動處理。 強大的向量搜尋 採用最新的 Gemini Embedding 模型,可理解使用者查詢的語意與上下文,找出最相關的資訊,即使關鍵字不同也能命中答案。 自動引用來源 AI 回應會自動附上出處,明確標示答案引用自哪一份文件、哪一段內容,方便核對與驗證。 廣泛格式支援 支援 PDF、DOCX、TXT、JSON 及多種程式語言檔案等主流格式,方便建立多元知識庫。 輕鬆整合 可直接在 generateContent API 中使用,且有完善的 Python SDK,開發者能快速上手。 📚 專案功能介紹 核心功能 📤 多格式檔案上傳 支援文件檔案:PDF、Word (DOCX)、純文字 (TXT) 等 支援圖片檔案:JPG、PNG 等(利用 Gemini Image Understanding 圖片內容) 自動處理中文檔名,避免編碼問題 即時回饋上傳狀態 🤖 AI 智能問答 基於 Google Gemini 2.5 Flash 模型 從上傳的文件中搜尋相關內容並回答 支援繁體中文、英文等多語言 理解上下文,提供精準回答 👥 多對話隔離 1對1聊天:每個人有獨立的文件庫(完全隔離) 群組聊天:群組成員共享文件庫(協作查詢) 自動識別對話類型,無需手動設定 File Search Store 自動建立和管理 📁 檔案管理功能 Quick Reply 快速操作:上傳成功後提供快捷按鈕 明確檔案指定:Quick Reply 自動帶入檔案名稱 🔄 智能錯誤處理 檔案上傳失敗自動重試 沒有文件時引導使用者上傳 詳細的錯誤日誌記錄 💻 核心功能實作 1. File Search Store 的自動管理 這是整個系統的核心,負責管理每個使用者或群組的文件庫。 Store 命名策略...
繼續閱讀

[Go] 用 Go + Gemini + GCP 打造智慧垃圾車 LINE Bot:從查詢到提醒的完整解決方案

前情提要 在台灣,垃圾車的時間總是讓人捉摸不定。明明記得昨天是晚上七點來,今天卻遲遲等不到;或是剛好外出倒垃圾,垃圾車就這樣錯過了。相信這是許多人共同的困擾。 隨著智慧城市的發展,越來越多城市開始提供垃圾車即時資訊 API,但這些資料對一般民眾來說並不容易使用。 這時候我看到臉書上一個朋友貼文 ,他敘述他做出了一個垃圾車追蹤的網站。 (網站, github) 這時候我在想,難道不能結合 LINE Bot 做出一個可以很快速幫助到其他的工具嗎?因此,我決定打造一個垃圾車 LINE Bot,讓大家可以透過最熟悉的通訊軟體,輕鬆查詢垃圾車資訊,甚至設定提醒通知。更重要的是,這個 Bot 不只是簡單的指令查詢,而是整合了 Google Gemini AI,能夠理解「我晚上七點前在哪裡倒垃圾?」這樣的自然語言,提供真正智慧化的服務體驗。 專案程式碼 https://github.com/kkdai/linebot-garbage-helper (透過這個程式碼,可以快速部署到 GCP Cloud Run,並使用 Cloud Build 實現自動化 CI/CD) 🗑️ 專案功能介紹 核心功能 🗑️ 即時查詢垃圾車 輸入地址或分享位置即可查詢附近垃圾車站點 顯示預計抵達時間、路線資訊和 Google Maps 導航連結 ⏰ 智慧提醒系統 可設定垃圾車抵達前 N 分鐘提醒 自動推播通知,再也不會錯過垃圾車 支援多種提醒狀態管理(活躍、已發送、已過期、已取消) 🤖 自然語言查詢 整合 Google Gemini AI,支援自然語言理解 例如:「我晚上七點前在台北市大安區哪裡倒垃圾?」 自動提取地點、時間範圍等查詢條件 ❤️ 收藏地點功能 儲存常用地點(家、公司等) 快速查詢收藏地點的垃圾車資訊 🏗️ 技術架構說明 系統架構圖 ┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐ │ LINE Client │───▶│ Cloud Run │───▶│ Firestore │ └─────────────────┘ │ (Go App) │ │ (Database) │ └──────────────────┘ └─────────────────┘ │ ▼ ┌──────────────────┐ │ External APIs │ │ • Google Maps │ │ • Gemini AI │ │ • 垃圾車資料源 │ └──────────────────┘ │ ▼ ┌──────────────────┐ │ Cloud Scheduler │ │ (提醒排程觸發) │ └──────────────────┘ 💻 核心功能實作 1. 垃圾車資訊的處理 這是整個系統的核心部分,負責從開放資料 API 取得垃圾車資訊,並進行智慧化的查詢處理。 資料來源與結構設計 我們使用了開源專案 Yukaii/garbage 提供的垃圾車資料 API,這個 API 提供了台北市的即時垃圾車收集點資訊。 type GarbageData struct { Result GarbageResult `json:"result"` } type CollectionPoint struct { ID int `json:"_id"` District string `json:"行政區"` // 行政區域...
繼續閱讀

[好書分享] 矽谷帝國 - 商業巨頭如何掌控經濟與社會

矽谷帝國 商業巨頭如何掌控經濟與社會 Silicon States : The Power and Politics of Big Tech and What It Means for Our Future 作者: 露西.葛芮妮 原文作者: Lucie Greene 譯者: 林俊宏 出版社:天下文化 買書推薦網址: Readmoo: 由此去購買。 前言: 這是 2025 年第 9 本讀完的書。當初想要了解一下矽谷內關於創業的精神與幾間巨頭對於社會的觀感。 裡面就有提到對於政治覺醒,社會政治,還有相關的社群媒體變化的內容。 大綱 世界的下一批強權將是創業家,而不是民族國家 從私部門到公部門,從地球到太空 科技企業正在重新思考一切、重新發明一切 但是── 矽谷定義的進步,是我們想要的進步嗎? 矽谷想要的未來,是我們能接受的未來嗎? 隨著民眾對政府及其機構的信心迅速流失,這個空缺正在由矽谷企業逐步填上。一小群企業擁有巨量的現金、人才和野心,正在世界各地掌握領導權與消費者的信心。 儘管科技帶來美好的承諾,對於科技企業勾勒的創新願景,我們卻不能照單全收。相反地,在我們把未來交給一小群精英公司之前,必須先認清科技企業的商業本質,理解它們對政治和社會經濟制度可能造成的影響,從而對抗它們的利益、偏見和固有缺陷。 本書中,著名的未來學者暨國際智庫領導者露西・葛芮妮訪問企業領導者、重要風投資本家、學者、記者與運動人士等,探討矽谷因其全球影響力必然帶來的緊張局勢,洞察這些公司真正著眼的利益所在,還有它們對不知情的公民擁有怎麼樣的巨大力量。 理解谷歌、蘋果、亞馬遜、臉書如何在全球發揮影響力 洞察矽谷巨頭企業如何全面蠶食我們的環境 本書帶你見識: 矽谷的影響力:它如何從晶片中心變成全球的強勢集團? 矽谷的未來版圖:創新跨界的深、遠、廣,超乎你的想像 矽谷的陰暗面:壟斷、操縱、歧視,嚴重的文化缺陷 《矽谷帝國》重點整理 根據提供的28則劃線內容,本書探討矽谷(Silicon Valley)作為科技帝國的崛起、其文化、社會影響、挑戰與爭議。書中強調矽谷不僅是科技創新中心,更是重塑民主、慈善、教育、媒體與全球價值的力量,但也暴露偏見、隱私與不平等問題。以下按主題分類整理重點,每項包含相關劃線摘要,並標註主要標籤與日期。分類基於內容的邏輯關聯,旨在捕捉書的核心論點。 1. 矽谷歷史與文化起源 矽谷的定義與擴張:矽谷一詞源於1971年,指舊金山灣區南部聖塔克拉拉谷的矽晶片製造商,後擴展至舊金山與奧克蘭(2015年Uber遷至奧克蘭)。(日期:2023/11/4) PayPal黑幫的影響:PayPal前員工(如彼得.提爾、伊隆.馬斯克、雷德.霍夫曼)在2002年售出公司後,創立或投資Palantir、SpaceX、特斯拉、LinkedIn、Yelp、YouTube等,定義矽谷文化與名人地位。(日期:2024/05/11;標籤:折衷求生的理想主義) 企業擴張模式:矽谷從賣軟體給傳統產業轉為自建解決方案,如Uber與Lyft取代計程車業。(日期:2024/05/11;標籤:折衷求生的理想主義) 2. 科技與民主:投票、隱私與政府干預 年輕選民的投票障礙:投票系統過時(如紙本登記需印表、郵寄,家有印表機僅4%),非冷漠所致。Vote.org(Y-Combinator支持)用科技、簡訊與行銷推動登記,強調選舉日應放假。(日期:2024/05/18、2025/11/1;標籤:駭進政府、不起眼的安全網) 資料隱私與公眾理解不足:矽谷擴及醫療、金融,民眾欠缺科技隱私知識,後果憂心。FutureGov協助政府數位轉型。(日期:2025/11/1;標籤:不起眼的安全網) 外國干預與社群媒體:俄國用臉書、推特等干預美國大選與脫歐公投,穆勒起訴13名俄國人等。社群媒體成分裂工具。(日期:2024/05/11、2024/06/1;標籤:駭進政府、假新聞及未來) 文化衝突:祖克柏推Free Basics在印度遭批,忽略當地價值(如象神珍惜獨立),象徵西方企業強加控制。(日期:2024/06/1;標籤:矽谷傳教士) 3. 慈善與社會公益:商業化與風險 慈善事業2.0:矽谷以登月級規模進軍慈善,2017年個人捐款達2,810億美元(成長超GDP),不止捐錢,還用資料、科技追求曝光與成效。(日期:2025/10/11;標籤:策略性慈善事業) 公益商業化的危險:將公益變hashtag行銷,扭曲問題、塑矽谷領袖為救世主,僅救「值得」問題。(日期:2025/11/1;標籤:策略性慈善事業) SXSW與潮流:2016年SXSW推社會公益企業,聯合國與谷歌合作,出書如《做好事正時尚》。(日期:2025/10/11;標籤:策略性慈善事業) 臉書的柳樹村:在門羅公園建59英畝社區,包括員工/低收入住宅、自行車道與鐵路更新,仿維多利亞模範村。(日期:2023/11/4) 4. 多元性與偏見:性別、種族與數據問題 女性與少數族群弱勢:臉書女性員工僅35%,科技職位女性19%、大學畢業生27%。零工經濟(如Airbnb)女性更不利。(日期:2025/10/11;標籤:零工經濟裡的女性更形弱勢、增進多元) 矽谷盲點:慈善與創新反映「白人、有錢、25歲男人」視角,種族/性別盲點普遍。(日期:2025/11/1;標籤:策略性慈善事業) 數據偏見在醫療:矽谷試圖去中心化醫療(提供資訊、追蹤健康),但無重大突破。醫療支出加劇不平等,最窮10%所得降47.6%,701萬人陷貧窮。(日期:2025/08/30;標籤:數據的偏見) 5. 教育與技能轉型:矽谷的替代模式 UnCollege的間隔年:9個月密集計畫,標榜「掌握教育」,用「同齡群」與「旅程」(如印度志工)教社會影響、同理心、適應。搭教育新創熱潮。(日期:2025/08/30;標籤:如果矽谷成立了一所學校) 未來技能需求:2015年需解決問題、協調、管理;2020年加情緒智商、認知靈活性。但傳統課程未涵蓋。(日期:2025/08/30;標籤:如果矽谷成立了一所學校) 6. 媒體、假新聞與文化影響 假新聞與灰色地帶:矽谷平台成新聞中介/製造者,與未查證內容並列。廣告抽離僅限明顯爭議;AI新聞、業配、俄國宣傳難處理。英國要求祖克柏證據。(日期:2024/06/1、2024/05/18;標籤:假新聞及未來) 媒體觀感惡化:2017年調查,53%對電視、48%對社群、45%對線上新聞變差(69%視為負面)。傳統媒體權力受矽谷侵蝕,川普推特追隨者超SNL收視。(日期:2024/05/18;標籤:假新聞及未來) 矽谷傳教士文化:Instagram驅動旅行(如古巴哈瓦那),但上傳受限。媒體轉向推崇科技新貴(如《浮華世界》峰會),反對聲音(如歐盟罰款、亞馬遜壟斷)被淹沒。(日期:2024/06/1、2024/05/18;標籤:矽谷傳教士、假新聞及未來) 7. 企業活動與市場擴張 Airbnb的轉型:從房屋共享跨足旅遊(線上指南、預訂),避法規問題。2016年房東大會門票345美元+60美元獎項,6,000人需住宿。(日期:2025/08/30;標籤:增進多元) 其他活動:Salesforce Dreamforce門票近2,000美元;Refinery29的29Rooms互動展,適合Instagram。(日期:2025/08/30;標籤:增進多元) 心得 如果你也想買,我建議你要找一下有沒有其他更新的書籍。畢竟矽谷是一個高科技密集與人才密集的地方,許多變化都是相當的快速的。而這一本書的原文是在 2019 寫的,也代表著他減少了近幾年幾件重要的事項: COVID 19 的市場變化 區塊鏈的大起大落 川普就任對於矽谷的影響。 但是除了這些之外,你可以觀察到以些相關的矽谷事件。比如說: PayPal 成功後帶來之後對矽谷的影響 Uber 對於擴張市場造成各國的反抗浪潮 Airbnb 對於市場的破壞性創新 當然,還是有一些比較進階的話題: 性別平等在矽谷中的相關衝突 政治議題帶來矽谷科技圈的影響 這是一本寫得蠻深刻的書籍,雖然時間比較久遠,但是也都是很有趣的一些內容。很推薦給大家。
繼續閱讀