發佈日期:

使用 n8n + LineBot 搭建 RAG AI 應用

功能介紹

n8n 是一款開源的工作流自動化工具,旨在幫助用戶通過可視化的方式設計和執行自動化流程,實現跨應用和服務的數據整合與操作。是一個功能強大且靈活的工作流自動化平台,適合個人和企業用戶用於提升效率和簡化業務流程。無論是簡單的數據同步,還是複雜的跨平台自動化,n8n 都能提供可靠的解決方案。

簡單n8n 串接 LINE 教學

n8n 是一款強大的工作流自動化工具,能夠輕鬆串接 LINE 並實現多種自動化功能,例如發送通知、處理訊息或與其他應用整合。以下是串接 LINE 的詳細教學:

步驟 1:準備 LINE API 憑證

在串接 LINE 前,您需要取得 LINE 的 API 憑證。以下是準備步驟:

  1. 註冊 LINE Developers 帳戶:前往 LINE Developers 註冊帳戶。
  2. 建立 Channel
    • 登入後,建立一個新的 Messaging API Channel。
    • 記下 Channel ID、Channel Secret 和 Access Token,這些將用於 n8n 的認證設定。
  3. 設定 Webhook(可選):如果需要接收 LINE 的事件通知,需設定 Webhook URL,該 URL 可由 n8n 提供。

步驟 2:在 n8n 中新增 LINE 節點

N8N設定的畫面

LINE Bot的設定畫面

步驟 3:在OpenAI建立好的客製化機器人

網址: https://platform.openai.com/playground/assistants

以下是了解我的書的內容的機器人,這個是Open AI的Agent功能,可以在這邊上傳檔案,讓這個機器人有RAG的資料庫可以回答專屬於自己的知識

步驟4:在n8n呼叫已經建立好的機器人

可以選擇下面這個節點來和已經建立好的機器人聊天

要注意的是,這個節點輸入的文字要是前一個節點的”chatInput”變數。所以要在前面新增一個Edit Fields的節點,來改變前一個節點的值的結構

選擇剛剛建立好的機器人

步驟5:回覆LINE訊息

因為原本n8n只有notify的元件,而這個元件即將要廢棄

因此我自己參考這邊的API格式來呼叫send line message

https://developers.line.biz/en/docs/messaging-api/sending-messages/#reply-messages

curl -v -X POST https://api.line.me/v2/bot/message/reply \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {channel access token}' \
-d '{
    "replyToken":"nHuyWiB7yP5Zw52FIkcQobQuGDXCTA",
    "messages":[
        {
            "type":"text",
            "text":"Hello, user"
        },
        {
            "type":"text",
            "text":"May I help you?"
        }
    ]
}'

這邊因為要避免OPENAI回傳一些會打亂JSON格式的特殊字元,因此要用JSON.stringify(…)把回傳的字串包起來

{
    "replyToken":"{{ $('If').item.json.body.events[0].replyToken }}",
    "messages":[{"type":"text","text":{{ JSON.stringify($json.output) }}}]
}

完整的工作流

發佈日期:

codeium的AI編輯器windsurf

VS Code的AI開發助手

官方網址: https://codeium.com/windsurf

使用手冊: https://docs.codeium.com/getstarted/overview

大力推荐文(別人的): https://codelove.tw/@tony/post/xNgR53

Codeium 是一款免費的人工智慧編程助手,支援多種程式語言(如 Python、JavaScript、TypeScript、Java、Go 等),並提供程式碼補全、聊天互動及智能搜索等功能。

Codeium 的主要功能

1. 程式碼補全與重構

利用其深度的上下文感知功能,Windsurf 能夠掃描整個程式碼庫,識別所有相關的程式碼片段。
開發者只需在 Cascade 模式中輸入指令,例如「將所有函式名稱改為駝峰式命名」,Windsurf 即可自動完成多個檔案的修改,並確保程式碼的一致性。
同時,Windsurf 提供即時的重構建議,協助優化程式碼結構並提升可讀性。

2. 自動生成測試案例

開發者在 Cascade 中輸入指令,例如「為 calculate_interest 函式生成單元測試,涵蓋所有邊界條件」。
Windsurf 會自動產生多個測試案例,並根據函式的邏輯自動檢查可能的異常情況。
測試案例生成後,開發者還可以進一步要求 Windsurf 優化測試邏輯,或新增更多測試場景,以確保應用的穩定性與可靠性。

3. 跨文件的依賴分析與優化

Windsurf 能夠自動掃描專案中的 package.json 或其他依賴檔案,生成模組之間的依賴圖,幫助開發者清楚掌握各模組的關聯性。
開發者可以要求 Windsurf 提供優化建議,例如「減少模組 A 和模組 B 之間的耦合」,Windsurf 會自動分析並建議重構方案,以降低系統的相依性並提升可擴充性。
此外,Windsurf 也支援自動更新依賴版本,確保專案始終使用最新的穩定版本,降低潛在的安全風險與相容性問題。

4. 自然語言生成程式碼

開發者在 Cascade 中輸入指令,例如:「建立一個使用 React 的網頁應用,包含用戶註冊和登入功能」。
Windsurf 隨即自動生成專案結構、前端介面程式碼以及後端 API,並內建基本的安全性驗證機制(如密碼加密與登入令牌處理)。
此外,在夜間啟用自動優化功能後,Windsurf 進一步改進資料庫查詢效能,優化 API 響應速度,並額外添加密碼強度檢測機制,以提升應用的安全性與使用者體驗。

5. 即時錯誤修復與優化

幫助開發者重構程式碼、添加注釋或精簡程式碼

  • 程式碼中選擇需要重構的部分,然後在聊天界面中輸入需求,例如「請重構這段程式碼」。
  • Codeium 會提供優化建議,並解釋修改原因。

Codeium 的優勢

  • 免費使用:Codeium 對個人用戶完全免費,且無使用次數限制。
  • 多語言支持:支援超過 70 種程式語言,包括 Python、JavaScript、TypeScript、Java、Go 等。
  • 高效開發:通過程式碼補全、聊天和搜索功能,顯著提升開發效率。

如何提高程式碼補全的準確性

1. 提供清晰的上下文

Codeium 的程式碼補全功能依賴於上下文感知,因此提供清晰且完整的上下文是提升準確性的關鍵:

  • 打開相關文件:Codeium 的上下文引擎會分析當前打開的文件以及專案中的其他文件,確保建議與整體程式碼邏輯一致。
  • 使用註解描述需求:在程式碼中添加清晰的註解,例如「# 寫一個計算斐波那契數列的函數」,Codeium 會根據註解生成相應的程式碼
  • 保持程式碼整潔:清晰的變數命名、結構化的程式碼和有意義的註解能幫助 Codeium 更準確地理解上下文。

2. 善用提示工程(Prompt Engineering)

提示工程是與 AI 工具互動的核心,以下是一些實用技巧:

  • 具體化需求:在提示中明確描述需求,例如「為函數 calculate_sum 寫一個單元測試,涵蓋所有邊界條件」。
  • 分步操作:對於複雜任務,將需求拆解為多個簡單步驟,逐步向 Codeium 提出請求。例如,先生成函數框架,再補充細節。
  • 使用 Codeium Chat:如果補全結果不符合預期,可以通過內建的聊天功能進一步詢問或要求修改。

3. 使用插件的高級功能

Codeium 提供多種功能來提升補全準確性,熟悉並善用這些功能可以顯著改善體驗:

  • 多選建議:按下快捷鍵(如 Alt + ]Alt + [)切換不同的補全建議,選擇最符合需求的版本。
  • 上下文固定(Context Pinning):在需要時固定特定的上下文,確保 Codeium 將其作為補全的參考。
  • 自定義上下文:對於專案中特定的 API 或內部庫,可以手動提供相關文檔或示例程式碼,幫助 Codeium 更好地理解。

4. 定期更新與設置優化

保持插件的最新版本並進行適當的設置調整,有助於提升補全效果:

  • 更新插件:Codeium 團隊會定期優化模型和功能,確保使用最新版本以獲得最佳性能。
  • 調整補全觸發條件:如果覺得補全建議出現過早或過晚,可以在設置中調整觸發條件。
  • 啟用語言伺服器:確保語言伺服器正常運行,這是 Codeium 提供高質量建議的基礎。

5. 適應專案需求的最佳實踐

根據專案特性採取針對性的措施:

  • 多語言支持:Codeium 支援超過 70 種程式語言,確保在專案中選擇正確的語言模式。
  • 程式碼風格一致性:Codeium 會嘗試匹配專案的程式碼風格,開發者應保持專案內部的命名規範和格式一致。
  • 小型專案與大型專案的區別:對於小型專案,Codeium 的單文件補全效果最佳;而在大型專案中,應充分利用其多文件上下文感知功能。
發佈日期:

雛型程式開發AI工具介紹

v0 by Vercel

官方網站:https://v0.dev/

v0 by Vercel 是由 Vercel 推出的一個開發工具,旨在幫助開發者快速構建和部署各種網頁應用和元件。該工具的核心功能是提供一個開放的社群平台,開發者可以從中獲取靈感、分享項目,並基於現有的範例進行快速開發。

這個平台提供了大量由社群貢獻的範例項目,這些項目涵蓋了多種應用場景,例如: AI SDK 聊天機器人、加密貨幣儀表板、3D 登陸頁面、動態背景生成、卡片生成器、音樂播放器等。 每個範例都可以被 Fork(複製)並用於自己的項目,大大降低了開發的門檻。可以快速將範例或自定義項目部署到線上,並即時查看效果。

特別適合需要靈感或快速原型開發的開發者。其社群驅動的範例庫和快速部署功能是其主要亮點。然而,對於需要更高自定義或複雜功能的項目,可能需要搭配其他工具使用。

bolt

官方網站:https://bolt.new/

bolt.new 是一個專注於快速構建、運行、編輯和部署全棧網頁應用的平台。該網站的核心功能是提供一個簡化的開發環境,讓用戶能夠快速實現從構想到部署的完整流程。其目標用戶可能包括開發者、設計師以及需要快速原型開發的團隊。這是一款創新的 AI 驅動全端開發工具,特別適合需要快速構建原型或 MVP 的開發者和團隊。其零配置、即時預覽和一鍵部署功能大幅簡化了開發流程。然而,對於需要更高穩定性和複雜功能的專案,Bolt.new 可能仍需進一步完善。

網站首頁的標語為「Prompt, run, edit, and deploy full-stack web apps」,這表明該平台的主要特點是:

  • Prompt:快速啟動項目。
  • Run:運行應用程式。
  • Edit:即時編輯代碼。
  • Deploy:快速部署應用。

這樣的功能設計適合需要快速迭代和測試的開發場景。

Replit

使用心得的文章:https://blog.creatorhome.tw/ai-hackathon/

文章中介紹了他利用 AI 的協助,實現了兩大主要功能:一個是透過問卷內容和 AI API 推薦禮物的功能,另一個是客製化祝福卡片並提供可下載的信件圖片和語音轉換功能的功能。

官方網站:https://replit.com

Replit是一款具有多人協作和開發者社群功能的寫程式工具,且用戶不必在電腦設定複雜的環境安裝或程式下載,直接在瀏覽器中打開網站,就能開始寫程式、發作品。從2016年上線至今,用戶累積突破1,000萬人。這是一個線上集成開發環境(Integrated Development Environment,IDE),支援Python、Java、C++等50多種程式語言,並可將寫好的程式碼即時更新在GitHub儲存庫中,讓開發應用程式從無到有的過程,都能直接在Replit一站完成。

Replit還能像Google Docs一樣邀請多位用戶協作,學程式的過程可以不再孤單。Replit 更適合用來打造小型應用程式,使用體驗上可能不如本地開發環境順暢,且運行速度較慢。

主要功能:

  • 多語言支援: Replit 支援多種程式語言,讓開發者能夠在同一平台上進行不同語言的開發。
  • 即時協作: 多位使用者可以同時編輯同一專案,類似於 Google 文件的協作方式,方便團隊合作。
  • 一鍵部署: 使用者可以快速將應用程式部署並獲取公開連結,方便分享和展示專案。
  • AI 助手: 透過 Replit Agent,使用者只需描述需求,AI 即可自動生成程式碼並完成部署,適合沒有程式設計經驗的初學者。

21st.dev

官方網址:https://21st.dev/

21st.dev 是一個專為設計工程師打造的開源 React UI 元件平台,靈感來自 shadcn/ui。 21ST.DEV 該平台提供多樣化的預建元件和頁面模板,協助開發者快速構建高品質的使用者介面。 HUNTSCREENS.COM 使用者只需透過一條命令即可安裝所需元件,顯著提升開發效率。

主要功能:

  • 專業元件(Pro Components): 提供專業級的 React 與 Tailwind CSS 元件,協助開發者快速構建精緻的使用者介面。 21st.dev
  • 登陸頁面(Landing Pages): 包含多種頁面模板,如公告、背景、邊框、行動呼籲、客戶展示、比較、功能介紹、頁尾、英雄圖、圖片、地圖、導航選單、定價、捲動區域、推薦詞、文字、影片等,方便快速搭建網站。
  • UI 元素(UI Elements): 提供豐富的 UI 元素,如手風琴、AI 聊天、警示、頭像、徽章、按鈕、日曆、卡片、輪播、核取方塊、日期選擇器、對話框、下拉選單、空狀態、檔案樹、檔案上傳、表單、圖示、輸入框、連結、選單、通知、數字、分頁、彈出視窗、單選群組、選擇器、側邊欄、登入、註冊、滑桿、載入器、表格、標籤頁、標籤、文字區域、提示、切換、工具提示等,滿足不同的設計需求。
  • Hooks: 提供 React Hooks,簡化狀態管理和副作用處理。

shadcn/ui

官方網站:https://ui.shadcn.com/

shadcn/ui 是一個開源的 React 元件集合,專為開發者提供設計精美且可高度客製化的 UI 元件。 與傳統的元件庫不同,shadcn/ui 採用「複製貼上」的方式,開發者可以直接將所需的元件程式碼複製到自己的專案中,進行深度客製化。

主要功能:

  • 多樣化的元件: 提供多種常見的 UI 元件,如按鈕、表單、對話框等,滿足不同的開發需求。
  • 基於 Tailwind CSS: 所有元件均使用 Tailwind CSS 構建,方便開發者進行樣式調整和主題設定。
  • 無障礙設計: 元件設計時考慮了無障礙性,確保應用程式對所有使用者友善。

許多開發者讚賞 shadcn/ui 的客製化能力,認為它提供了更大的靈活性,特別適合需要精細控制元件行為和樣式的專案。然而,也有使用者指出,對於僅需基本功能的專案,傳統的元件庫可能更為方便,因為它們提供了開箱即用的解決方案。

Lovable

官方網站:https://lovable.dev/

Lovable 是一款由人工智慧(AI)驅動的全端應用程式構建工具,旨在透過自然語言處理技術,讓使用者能夠以對話的方式快速建立網站和 Web 應用程式。 使用者只需描述想要的功能,Lovable 即可自動生成對應的程式碼,簡化了軟體開發流程,讓非技術人員也能輕鬆構建高品質的軟體。Lovable 的主要功能特點包括後端功能實現、精確編輯和支持大型代碼庫,這些特點使得 Lovable 在 AI 全栈應用程序構建器中具有獨特的優勢。

主要功能:

  • 自然語言生成程式碼: 使用者以自然語言描述所需功能,Lovable 會將其轉換為實際的程式碼。
  • 構建和部署網站/應用程式: 透過對話,使用者可以構建並部署完整的網站和 Web 應用程式。
  • 與 Supabase 整合: 支援與 Supabase 整合,方便使用者連接 Postgres 資料庫,處理資料儲存和使用者身份驗證。
  • GitHub 同步: 使用者可以將生成的程式碼同步至 GitHub,進行版本控制和程式碼管理。
  • 處理大型程式碼庫: Lovable 能夠處理包含超過 100,000 行程式碼的大型專案。
發佈日期:

軟體工程師如何善用AI提升生產力

由於我本身是軟體工程師,同時也對AI工具的使用很擅長,本身由於過去主要在做概念驗證以及新技術研究,

對於軟體工程師如何利用AI提升生產力真的非常有心得,歡迎有以了解或者是期待更多利用AI來提升生產力邀約分享^^

簡報分享

活動剪影

發佈日期:

好用的簡報生成AI工具

任務目標為生成一份【A11y 基礎入門講座內容】的投影片內容

A11y 基礎入門講座內容: https://docs.google.com/document/d/1TFuJXlBw4s_d70qTeoTOAuy-umeJB68ZkvF2v3SoOYM/edit?tab=t.0

免付費方案

工具介紹

工具名稱:超级PPT生成(Super PPT)

網址: https://chatgpt.com/g/g-RfusSJbgM-chao-ji-pptsheng-cheng-super-ppt

此工具的主要功能包括:生成清晰、邏輯嚴謹的 PPT 大綱以及具體內容,可以根據用戶提供的主題,產生結構化的大綱,為簡報奠定基礎。

此為一個使用範例:https://chatgpt.com/share/675fe1ca-7e78-8005-894a-a3601035dfd0

Prompt:

以下面的內容來生成一份投影片,每頁投影片應有標題、內容
<<在此附上文案>>

接著會產生簡報內容

利用Canva將產生的文案變成投影片

首先開啟一份新文件

接著按下魔法文案工具

在這邊不直接把原始文案貼上而選擇先經過ChatGPT整理後的文案(也就是步驟一的文案),是因為會整理得較好、較完整

接著就可以看見生成後的文案

將文件轉為投影片

按下【魔法切換開關】 > 【轉換為簡報】,即可將文件的內容轉換為投影片

會出現選擇版面設計的頁面,選擇好後點選建立簡報,你所建立的簡報就完成囉!

以下為生成的簡報連結:https://www.canva.com/design/DAGZcElQ6SE/Y-dYpRoBiDCSeELTBiQrrA/edit?utm_content=DAGZcElQ6SE&utm_campaign=designshare&utm_medium=link2&utm_source=sharebutton

付費方案

Gamma

https://gamma.app

專門針對自動生成簡報、文件和網頁設計,讓用戶能夠快速生成高品質的簡報,而無需手動設計和編輯。你可以選擇使用Google帳號直接綁定並免註冊登入,之後點選「新建AI」即可開始使用AI生成簡報。免費版會提供新用戶400點生成點數,建立一份包含8個大綱標題的Gamma簡報需花費40點,而進行一般編輯或插入圖片等功能則不會扣除點數。

直接貼上文件內容,便可以產生如以下的簡報,整個品質還不錯

https://gamma.app/docs/-56gccf0lb5pwxoc

MindShow

https://www.mindshow.fun/

ChatGPT 和 MindShow 的結合,能以最少的時間和技術背景製作出專業且富有創意的簡報。ChatGPT 提供強大的文案生成功能,幫助快速整理內容結構,而 MindShow 則將這些內容轉化為視覺化的投影片,提升簡報的互動性與吸引力。

發佈日期:

產品體驗設計概念介紹

本篇是我上溫明輝老師的UX‧三刀流課程的學習筆記

https://hahow.in/courses/5e95c5b8845c8bf74c0102df

什麼是使用者體驗設計?

使用者體驗設計是一個以使用者為中心的設計過程,專注於改善使用者與產品或服務互動的整體感受與滿意度。這不僅僅是關於美觀的界面設計,而是關注使用者在與系統或產品互動時的功能性、操作性與情感體驗

使用者體驗設計深入分析

主觀感受的元素

  1. 時間軸角度:前中後互動中的感受。
    • 例子:閱讀書籍前的期待,閱讀過程中與內容展開對話,以及閱讀後的回想。
  2. 需求縱面:功能面、操作面和情感面。
    • 功能面:產品是否能滿足使用者的基本需求。
    • 操作面:是否易於上手,並提供明確指導。
    • 情感面:是否能讓使用者感到喜悅與完成滿足感。

設計例子:訂餐 App

  • 前期:通過 App 名稱和介紹,解釋軟體功能,帶來使用者期待。
  • 中期:操作元素簡單明確,用戶能順利完成訂餐。
  • 後期:感受帶來滿足與喜悅,加強品牌對使用者的意義。
面向互動前互動中互動後
情感面如果用這個 App 在家訂餐,感覺可以讓我的時間更彈性自由真的非常快速便利,只需3分鐘就完成付款與預約,也不容易出錯太高興了,有了這個 App 讓我感到生活更豐富
操作面這個 App 看起來和其他軟體差不多,應該不難操作從開啟、選單、購物車、付款到輸入地址都能順利完成真是一大福音,所有操作步驟整體而言讓人覺得非常簡單
功能面這個 App 看起來好像可以幫我不用出門就能夠享受美食這個 App 提供了多種選色,滿足我在家生活的各式需求有了這個 App 我在家就能輕鬆享受各種豐富的佳餚

HX (人類體驗設計)角度

HX 是從更宏觀的角度考慮人類與產品的互動關係,將個人影響力延伸至群體與社會。

CX(消費者體驗):將廣告、品牌信任、定價策略等商業元素納入考量,影響消費者的整體體驗。

案例:Clubhouse 語音社群 App

  • 吸引力來源:透過有聲望的名人與影響者,創造話題性與吸引力。
  • 稀缺性設計:採用限量邀請機制,增強使用者的獲得感。
  • 情感體驗:進入後的連結感與臨場感,讓使用者感到興奮與參與感。

設計成功的關鍵

結合功能、操作與情感面,創造好用且有意義的產品,並讓其被廣泛採用與分享。

UX 有多種研究方法,設計師可在不同的設計時期運用這些方法。

這些方法幫助設計師深入掌握使用者需求,調整產品設計,提供更好的使用經驗。

設計實作中的心智模型應用

  1. 心智模型如何運用到設計實作中
    • 設計「物」來創造使用者體驗,並通過設計產品本身及其溝通方式來滿足使用者需求。
    • 使用者介面(UI)作為產品與使用者溝通的橋梁,包括資訊架構、圖示與互動元素等。
  2. 正向回饋與迭代設計
    • 透過使用者的探索與反饋,設計師不斷進行優化與迭代,逐步完善產品的體驗。
    • 要點:UX 設計是一門科學,透過假設與驗證,逐步達成最佳化的使用者體驗。

UXer 在產品研發流程中的扮演角色

產品研發流程:

  1. 了解市場現況:確認商業目標與設計目標。
  2. 了解使用者需求:洞察使用者需求與設計機會。
  3. 設計人與電腦之間的溝通與互動:進行產品概念發展。
  4. 產品設計:產品設計與研發實作。
  5. 設計評估:產品測試與優化。

UXer 最需要的三大能力

用戶需求 (User Flow)

  1. 確保使用者需求滿足,基於 UX 研究探索用戶的正確需求和痕跡。
  2. 關聯用戶互動流程,讓用戶在最低阻力下達成目標。

商業分析研究 (Business Flow)

  1. 分析產品對企業成本和效益的影響,確保商業目標能與 UX 目標保持互相配合。
  2. 要確保產品不僅給用戶予优護體驗,更能讓企業獲得不錯的回報。

數據分析能力 (Data Flow)

  1. 收集和分析使用者數據,解釋行為模式,以負責設計方向。
  2. 基於數據,定義產品上線後需要調整與優化的重點。

平衡使用者需求與企業目標

UX 設計的核心在於找到「使用者需求」與「企業目標」之間的平衡。這意味著設計不僅要滿足使用者的期待,也必須支持企業的商業策略與盈利目標。

平衡理念:

  • 企業「有利可圖」,才會投入資源發展產品。
  • 使用者「需求滿足」,產品才能實現其價值。

企業「有利可圖」,才會投入資源發展產品。產品才會有機會到達人們的手上,那些被設計的更好的產品體驗才能夠開始被人們使用。

在《UX 策略》這本書中,原本的「殺手級的 UX 設計」已經被修訂為「無摩擦力的 UX 設計」。這一改變反映出 UX 設計的核心在於:

  1. 並不追求一味地運用新技術: 創新設計不應單純圍繞科技,而應注重使用者的實際體驗。
  2. 快速上手與無痛體驗: 無摩擦的設計應讓使用者能輕鬆進入產品,快速理解其功能與價值。

設計目標

  • 設計的起點: 讓使用者能真正開始體驗服務的內容與內涵。
  • 深入思考: 如何在技術創新與使用者友好之間達成平衡。
發佈日期:

OpenAI的模型微調過程

參考資料

Real-World Example: Building a Fine-Tuned Model with OpenAI:https://medium.com/gptalk/real-world-example-building-a-fine-tuned-model-with-openai-58a0557143af

Fine-tuning with OpenAI:https://medium.com/@j622amilah/fine-tuning-with-openai-624a6055517d

官方教學:https://platform.openai.com/docs/guides/fine-tuning#fine-tuning-examples

準備資料的方向

我們可以用微調來調整機器人有一致的回覆口吻和邏輯,或針對特定任務來加強模型的能力,例如生成問題、回答細化,到分類、摘要生成和結構化標記

1. 生成問題

任務目標:根據提供的文本生成可能的相關問題。

{
  "messages": [
    {
      "role": "system",
      "content": "你是一個能根據文本生成相關問題的助手。"
    },
    {
      "role": "user",
      "content": "台灣位於東亞,擁有世界領先的半導體產業,尤其以台積電(TSMC)為代表。"
    },
    {
      "role": "assistant",
      "content": "1. 台灣在哪裡?\n2. 台灣的主要產業是什麼?\n3. 哪家公司代表了台灣的半導體產業?"
    }
  ]
}

2. 細化回答

任務目標:根據問題生成多種類型的回答(簡潔、詳細、多角度)。

{
  "messages": [
    {
      "role": "system",
      "content": "你是一個能根據問題生成不同類型回答的助手,包括簡潔、詳細和多角度回答。"
    },
    {
      "role": "user",
      "content": "台灣的主要產業是什麼?"
    },
    {
      "role": "assistant",
      "content": "簡潔回答:半導體。\n詳細回答:台灣的主要產業是半導體,此外電子製造業和資訊科技服務業也佔有重要地位。\n多角度回答:半導體是台灣的核心產業,特別是在晶圓代工和芯片設計方面。此外,電子產品的生產與出口也非常重要。"
    }
  ]
}

3. 分類

任務目標:將文本分配至特定的類別(如情感分類或主題分類)。

情感分類範例

{
  "messages": [
    {
      "role": "system",
      "content": "你是一個情感分析助手,能判斷文本是正面、負面或中性的情感。"
    },
    {
      "role": "user",
      "content": "台灣的自然風景令人驚嘆,擁有多樣的生態系統。"
    },
    {
      "role": "assistant",
      "content": "正面"
    }
  ]
}

主題分類範例

{
  "messages": [
    {
      "role": "system",
      "content": "你是一個主題分類助手,能根據文本內容將其歸類為科技、旅遊、醫療等主題。"
    },
    {
      "role": "user",
      "content": "台積電的先進製程技術使其成為全球晶圓代工的領導者。"
    },
    {
      "role": "assistant",
      "content": "科技"
    }
  ]
}

4. 摘要

任務目標:從提供的文本中生成簡短的摘要。

{
  "messages": [
    {
      "role": "system",
      "content": "你是一個能根據文本生成摘要的助手,專注於提取關鍵資訊。"
    },
    {
      "role": "user",
      "content": "台灣位於東亞,擁有世界領先的半導體產業,尤其以台積電(TSMC)為代表。該國的科技產業是其經濟增長的主要推動力,並在全球供應鏈中扮演重要角色。此外,台灣的教育水準和基礎建設也為產業發展提供了良好條件。"
    },
    {
      "role": "assistant",
      "content": "台灣以半導體產業為經濟增長主要推動力,台積電是其核心代表。"
    }
  ]
}

5. 特定任務的結構化標記

任務目標:從文本中提取關鍵實體並將其標記為結構化數據。

命名實體識別(NER)範例

{
  "messages": [
    {
      "role": "system",
      "content": "你是一個命名實體識別助手,能從文本中提取實體並標記其類型(如人名、地點、組織)。"
    },
    {
      "role": "user",
      "content": "台積電總部位於新竹,是世界領先的半導體公司之一。"
    },
    {
      "role": "assistant",
      "content": "- 台積電: 公司名\n- 新竹: 地點"
    }
  ]
}

結構化數據抽取範例

{
  "messages": [
    {
      "role": "system",
      "content": "你是一個數據抽取助手,能從文本中提取結構化信息。"
    },
    {
      "role": "user",
      "content": "台積電的市值約為6000億美元,創立於1987年。"
    },
    {
      "role": "assistant",
      "content": "- 公司: 台積電\n- 市值: 6000億美元\n- 創立年份: 1987年"
    }
  ]
}

執行範例

如果我期待機器人可以更深入的理解法條 例如下面的資料

【衛生福利部】衛生福利部急難救助金申請審核及撥款作業規定

一、急難救助對象: (一)戶內人口死亡無力殮葬者。 (二)戶內人口遭受意外傷害或罹患重病,致生活陷於困境者。 (三)負家庭主要生計責任者,失業、失蹤、應徵集召集入營服役或替代役現役、入獄服刑、因案羈押、依法拘禁或其他原因,無法工作致生活陷於困境者。 (四)財產或存款帳戶因遭強制執行、凍結或其他原因未能及時運用,致生活陷於困境者。 (五)已申請福利項目或保險給付,尚未核准期間生活陷於困境。 (六)其他因遭遇重大變故,致生活陷於困境,經直轄市、縣(市)主管機關訪視評估,認定確有救助需要者。

※同一事故之救助,以一次為限。

二、申請流程 申請急難救助者,應備齊申請表件,檢同相關證明文件,向戶籍所在地鄉(鎮、市、區)公所提出申請,轉報直轄市政府社會局或縣(市)政府核定之﹔直轄市政府社會局或縣(市)政府對於急難救助對象經核予救助後,仍陷於困境者,得轉報衛生福利部(以下簡稱本部)核定再予救助。

可以設計以下data.jsonl檔案內容

{"messages": [{"role": "system", "content": "你是一個專業的法規助手,能夠精確解析法條並提供準確回答。"}, {"role": "user", "content": "請說明急難救助的對象包含哪些情形?"}, {"role": "assistant", "content": "急難救助對象包含以下情形:\n1. 戶內人口死亡無力殮葬者。\n2. 戶內人口遭受意外傷害或罹患重病,致生活陷於困境者。\n3. 負家庭主要生計責任者,因失業、失蹤、服役、入獄等原因無法工作,致生活陷於困境者。\n4. 財產或存款帳戶遭強制執行、凍結或其他原因未能及時運用,致生活陷於困境者。\n5. 已申請福利或保險給付,尚未核准期間生活陷於困境者。\n6. 其他因重大變故,經地方政府評估認定確有救助需要者。"}]}
{"messages": [{"role": "system", "content": "你是一個專業的法規助手,能夠精確解析法條並提供準確回答。"}, {"role": "user", "content": "是否可以針對同一事故申請多次急難救助?"}, {"role": "assistant", "content": "不可以,依規定,同一事故的急難救助以一次為限。"}]}
{"messages": [{"role": "system", "content": "你是一個專業的法規助手,能夠精確解析法條並提供準確回答。"}, {"role": "user", "content": "申請急難救助需要經過哪些流程?"}, {"role": "assistant", "content": "申請急難救助的流程如下:\n1. 準備申請表件及相關證明文件。\n2. 向戶籍所在地的鄉(鎮、市、區)公所提出申請。\n3. 公所轉報直轄市政府社會局或縣(市)政府核定。\n4. 若救助後仍陷於困境,可由地方政府轉報衛生福利部核定再予救助。"}]}
{"messages": [{"role": "system", "content": "你是一個專業的法規助手,能夠精確解析法條並提供準確回答。"}, {"role": "user", "content": "如果戶內有人因意外傷害導致生活困境,是否符合急難救助條件?"}, {"role": "assistant", "content": "是的,戶內人口遭受意外傷害,導致生活陷於困境者,符合急難救助的條件之一。"}]}
{"messages": [{"role": "system", "content": "你是一個專業的法規助手,能夠精確解析法條並提供準確回答。"}, {"role": "user", "content": "某家庭主要生計者因入獄服刑,導致家人生活陷於困境,是否可申請急難救助?"}, {"role": "assistant", "content": "可以,家庭主要生計責任者因入獄服刑無法工作,導致生活陷於困境,符合急難救助對象的條件之一。"}]}
{"messages": [{"role": "system", "content": "你是一個專業的法規助手,能夠精確解析法條並提供準確回答。"}, {"role": "user", "content": "急難救助的申請對象有什麼限制?"}, {"role": "assistant", "content": "急難救助的申請對象需要符合以下條件之一:\n1. 戶內人口死亡無力殮葬者。\n2. 戶內人口因意外或疾病導致生活困難。\n3. 家庭主要生計者無法工作導致家庭困境。\n4. 財產或存款帳戶因特定原因無法運用。\n5. 已申請福利或保險但尚未核准期間。\n6. 因重大變故生活陷於困境,經地方政府認定確有需要者。"}]}
{"messages": [{"role": "system", "content": "你是一個專業的法規助手,能夠精確解析法條並提供準確回答。"}, {"role": "user", "content": "急難救助申請時需要準備哪些資料?"}, {"role": "assistant", "content": "申請急難救助時需要準備以下資料:\n1. 填寫完整的急難救助申請表。\n2. 相關證明文件,例如醫療證明、財務資料、戶籍資料等。\n3. 符合條件的其他輔助證明文件。"}]}
{"messages": [{"role": "system", "content": "你是一個專業的法規助手,能夠精確解析法條並提供準確回答。"}, {"role": "user", "content": "急難救助的撥款程序是怎樣的?"}, {"role": "assistant", "content": "撥款程序如下:\n1. 由地方政府對急難救助申請進行審核並核定金額。\n2. 審核通過後,將救助款項撥至申請人指定的帳戶。\n3. 若地方救助後仍陷於困境,地方政府可轉報衛生福利部核定追加撥款。"}]}
{"messages": [{"role": "system", "content": "你是一個專業的法規助手,能夠精確解析法條並提供準確回答。"}, {"role": "user", "content": "如果財產或存款遭強制執行,是否符合急難救助的條件?"}, {"role": "assistant", "content": "是的,若財產或存款帳戶因遭強制執行或凍結而無法運用,導致生活陷於困境,符合急難救助條件之一。"}]}
{"messages": [{"role": "system", "content": "你是一個專業的法規助手,能夠精確解析法條並提供準確回答。"}, {"role": "user", "content": "已申請其他福利項目,但尚未核准期間可以申請急難救助嗎?"}, {"role": "assistant", "content": "可以,若已申請其他福利或保險給付,但尚未核准期間生活陷於困境,符合急難救助條件之一。"}]}

接著來到OpenAI的微調頁面

https://platform.openai.com/finetune

+Create

接著在畫面中選擇剛剛儲存的data.jsonl檔案

在微調之前,可以先閱讀這篇文章,學習如何在訓練前檢查資料集的格式、數據結構,並預估可能耗費的錢

https://cookbook.openai.com/examples/chat_finetuning_data_prep

該工具提供多項實用功能,幫助開發者準備高質量的數據集並規劃微調模型的成本:

  1. 格式檢查:自動檢查數據集中的格式錯誤,確保數據符合微調需求。
  2. 統計分析:生成基本的數據統計信息,例如對話回合數、用戶和助手訊息的分佈情況,便於了解數據結構。
  3. 代幣數量估算:預估微調所需的代幣數量,為開發者提供費用規劃參考,避免超出預算。

然後就可以開始微調

會跑出一些訓練數據,代表模型對這些資料的訓練學習狀況

訓練完成之後可以看見你訓練好的模型名稱,接著在API改變呼叫的模型就可以了

發佈日期:

LLM模型的微調

參考資料

《Ultimate Guide to Fine-Tuning LLMs》詳盡探討了 LLM 微調的流程、進階技術與實際應用,提供了全面的指導與範例!

https://claire-chang.com/wp-content/uploads/2024/11/2408.13296v1.pdf

微調(Fine-tuning)是甚麼

微調(Fine-tuning)是一種在現有的預訓練模型基礎上,針對特定任務進行額外訓練的技術。以下是其核心概念與應用:

  1. 基於預訓練模型:微調使用的是已經在大規模數據集上訓練好的模型(例如 GPT 系列)。這些模型具有通用的語言理解能力。
  2. 特定領域的額外訓練:微調的過程中,模型會接觸到一個較小且與特定任務相關的數據集,進行進一步的訓練。這可以是專門的領域(如醫學、法律)或特定的任務(如情感分析、對話生成)。
  3. 減少數據需求:由於基礎模型已具備通用的知識與特徵,微調只需較少的數據即可達成良好的效果,相較於從零開始訓練模型更具效率。
  4. 遷移學習:微調實現了知識遷移,將預訓練模型中的學習模式和語言特徵應用到新的任務中,進而提升性能。
  5. 廣泛應用:微調在自然語言處理(NLP)的多種任務中被廣泛使用,例如:
    • 文本分類:分類文章或文本的主題類別。
    • 情感分析:判斷文本中的情感極性(如正面、負面)。
    • 問答系統:從文本中回答具體問題。

微調 LLM 的重要性

微調 LLM(大語言模型)的重要性主要體現在以下幾個關鍵方面:

1. 遷移學習

  • 微調充分利用預訓練模型在大規模數據上學到的通用語言知識,將這些知識遷移並適應到特定任務或領域。
  • 相較於從零開始訓練模型,微調大幅減少了計算資源的需求以及所需的時間成本。
  • 例如,預訓練模型中已經學到的語法和語義知識可以直接應用於分類、翻譯等任務,只需進行少量的調整。

2. 減少數據需求

  • 預訓練模型已經掌握了大量的通用語言特徵,因此微調過程只需提供較小規模且相關的標記數據集。
  • 減少了對大量標記數據的依賴,降低了數據標記的成本和時間投入。
  • 這在數據稀缺或標記成本高昂(例如醫療診斷數據)的情境下尤為重要。

3. 改進泛化能力

  • 微調可以讓模型針對特定任務進行調整,同時保留其原有的通用性,使其能夠更好地適應不同的領域需求。
  • 透過捕捉特定任務或領域的特徵,模型能更準確地理解和生成目標文本。
  • 增強了模型對於特定領域數據的適應能力,例如讓模型能夠處理法律、醫學或金融等專業性較高的內容。

RAG 和微調該選擇哪個?

1. 外部數據訪問的需求

  • RAG 的優勢
    • 適合需要訪問動態或外部數據源的應用,例如需要查詢最新資訊、文檔數據庫或動態內容的情境。
    • 透過檢索機制(如向量搜索或查詢資料庫),可以直接從外部數據中提取相關內容,避免生成與現實脫節的回應。
  • 微調的適用情境
    • 更適合需要模型整合特定領域知識並生成具有一致風格或行為的輸出時,例如專業文本生成或個性化的對話助手。

2. 抑制幻覺與準確性

  • RAG 的優勢
    • 因為模型直接檢索現實數據進行生成,其回應內容基於實際檔案或資料,因此更容易抑制「幻覺」(即生成不正確資訊)的情況。
    • 適合需要高度準確性並要求內容基於可檢索資料的情境,如技術支持系統或法律解釋。
  • 微調的挑戰
    • 雖然微調可以整合特定領域的知識,但模型仍可能因訓練數據的偏差或不足而產生不正確資訊,特別是在面對未知或不熟悉的問題時。

3. 訓練數據的可用性

  • 微調的要求
    • 需要大量高質量且與目標任務相關的標記數據。如果數據充足,微調可以極大地提高模型性能,並實現精確的行為調整。例如,商業報告需要正式語氣,而聊天機器人需要更親和的對話風格。微調後的模型會將訓練數據中的語氣和結構模式內化。
    • 如果應用需要模型按照嚴格定義的邏輯或模板生成回應,例如技術報告、標準作業程序等,微調後的模型可以更加準確地遵循這些規則。
    • 微調可以讓模型的生成行為與目標任務高度一致,通過特定數據集進行訓練,可以實現模型在語言風格、回應邏輯、專業表達上的調整。
  • RAG 的優勢
    • 在缺乏特定領域標記數據時,RAG 是更靈活的選擇,因為它依賴檢索系統而非模型內部知識。
    • 能即時利用未標記的外部數據源進行信息生成。

4. 數據更新頻率

  • RAG 的動態優勢
    • 適用於數據經常更新或變化的場景,例如新聞摘要、金融分析等,因為其檢索機制允許即時存取最新數據。
  • 微調的限制
    • 微調後的模型知識是靜態的,需要重新訓練或更新才能納入新的資訊,因此不適合快速變化的數據環境。

5. 可解釋性與透明度

  • RAG 的透明性
    • 提供檢索的原始數據作為生成內容的依據,使回應的來源可追溯,決策過程更透明。
    • 適用於對可解釋性有高需求的領域,例如醫療診斷或法律建議。
  • 微調的挑戰
    • 微調後的模型內部知識來源較難追溯,可能不容易說明某些輸出的具體依據。

決策指南

因素RAG 的優勢微調的優勢
外部數據訪問需求動態檢索外部數據,適用於即時資訊不適合
抑制幻覺與準確性依賴實際檢索數據,抑制幻覺可能生成錯誤資訊
訓練數據可用性不依賴標記數據,數據稀缺時穩健表現需要大量標記數據以實現高性能
數據更新頻率適應高頻率數據變化不適合
模型透明度與可解釋性提供檢索依據,決策過程透明依據難追溯
整合行為與風格不擅長非常適合

微調的適用案例

  • 定制化行為
    • 客製化聊天機器人,用於品牌互動,語言表達契合品牌風格。
    • 高管助理型 AI,提供高層次的專業回應。
  • 特定知識領域
    • 專業醫學問答助手,回答病患基於臨床數據的問題。
    • 法律助理,解釋合同條款或生成法律文件。

微調 LLM 資料準備中的挑戰

1. 領域相關性(Domain Relevance)

  • 挑戰
    • 確保資料與目標任務或應用場景的領域高度相關。
    • 不相關或域外資料會導致模型在特定場景下的泛化性能較差,輸出可能不準確。
  • 應對策略
    • 僅選擇與任務相關的資料來源。
    • 使用專業資料集(如法律、醫療數據)或設計特定的數據篩選機制。

2. 資料多樣性(Data Diversity)

  • 挑戰
    • 缺乏多樣性可能導致模型對未充分表示的場景表現不佳。
    • 偏倚的資料會使模型對某些特定類型的輸入產生偏見。
  • 應對策略
    • 收集具有不同語言風格、地理位置和上下文背景的資料。
    • 使用數據增強技術(如回譯或對抗樣本)來擴展資料多樣性。

3. 資料規模(Data Size)

  • 挑戰
    • 微調通常需要至少 1000 條樣本以達到有效的結果,特別是針對複雜任務時。
    • 大型資料集的存儲、計算資源需求和處理時間均可能構成限制。
  • 應對策略
    • 利用高效的數據存儲格式(如 .jsonl)。
    • 優化數據處理管道(如批處理或並行計算)。
    • 平衡數據量與質量:適當使用小而乾淨的數據集。

4. 資料清理與預處理(Data Cleaning and Preprocessing)

  • 挑戰
    • 噪聲、錯誤標記和數據不一致可能顯著影響模型性能。
    • 資料中多餘的符號或遺漏值會對模型輸入的質量造成干擾。
  • 應對策略
    • 使用工具(如 pandas)進行數據清理,移除空值和異常值。
    • 自動化數據校驗流程以檢查一致性和正確性。

5. 資料標註(Data Annotation)

  • 挑戰
    • 標註數據需要準確且一致,特別是在監督學習任務中。
    • 標註不一致會導致模型預測不穩定。
  • 應對策略
    • 設計標註指南,確保所有標註者的理解一致。
    • 使用工具(如 Prodigy 或 Snorkel)結合人機協作,提高效率和準確性。

6. 處理稀有案例(Handling Rare Cases)

  • 挑戰
    • 資料中重要但少見的場景(如極端情況或邊界條件)可能被忽略。
    • 模型可能無法泛化到這些稀有但關鍵的場景。
  • 應對策略
    • 增強稀有案例的表示,例如通過過採樣或合成數據生成。
    • 在微調過程中對稀有類別賦予更高的損失權重。

7. 道德考量(Ethical Considerations)

  • 挑戰
    • 資料中可能存在有害內容或偏見,導致模型生成不適當或有害的輸出。
    • 資料處理中需遵守隱私法規(如 GDPR)。
  • 應對策略
    • 在資料處理前,檢查並移除敏感或偏見內容。
    • 使用工具自動檢測數據中的潛在有害特徵。
    • 嚴格遵守數據隱私和倫理規範,確保用戶信息的安全性。

總結

應確保數據品質好、多樣性足夠且具有代表性。能夠涵蓋不同場景和任務,增強模型的穩健性和泛化能力。

挑戰影響應對策略
領域相關性不相關數據會導致模型泛化差僅使用領域相關數據,構建特定篩選機制。
資料多樣性偏倚數據影響未充分表示場景的性能擴展資料多樣性,利用增強技術(如回譯、對抗樣本)。
資料規模大型資料集處理成本高優化存儲與處理管道,平衡數據質量與數量。
資料清理與預處理噪聲和錯誤降低輸入質量自動化數據校驗,移除空值與異常值。
資料標註標註不一致導致模型預測不穩定制定標註指南,使用工具輔助人機標註。
稀有案例模型無法泛化到少見場景增強稀有案例表示,對稀有類別增加權重。
道德考量偏見或不適內容可能產生有害結果移除偏見內容,遵守隱私規範。
發佈日期:

吳恩達:前瞻 AI Agents,顛覆未來想像

影片介紹

應專注於構建現在可以實現的應用

AI 技術堆疊(AI stack)的理解如下圖,最下面是半導體技術,接著雲端層、基礎模型層

吳恩達認為:對於台灣的許多企業而言,最好的機會是專注於構建現在可以實現的應用

而AI 代理工作流程則是能夠讓應用更加聰明的關鍵

代理式 AI 系統如何運作

  • 反思模式(Reflection Design Pattern)
    首先先讓AI 撰寫程式碼,接著讓它檢視自己剛剛撰寫的程式碼,進行批評並提出改進建議。同樣的步驟反覆多次
  • 多代理模式(Multi-Agent Pattern)
    一個代理生成程式碼,而另一個代理則專門負責批評前者的成果,兩者互動後產生更好的結果

越來越多的團隊在實施不止一個單一的代理,而是建立多個 AI 代理的協作系統。

「管理者思維」的設計模式

類似於管理者僱用多名員工來完成不同的任務。例如,你可以設計三到四個 AI 代理,分別負責程式碼撰寫、行銷設計或其他專業領域的工作,然後讓它們彼此協作。

當前 AI 領域的其他五個重要趨勢

半導體領域的發展對應用層很重要

從 AI 模型訓練到部署的時間大幅縮短。以前從數據收集、模型訓練到部署可能需要 6 到 12 個月,而現在透過語言模型的提示工程(Prompt Engineering),許多原本需要半年開發的原型,只需 10 天就能完成。

文本處理革命已經發生,而影像處理革命即將發生

由於傳輸數據的成本和技術瓶頸大幅降低,而數據處理成本(特別是 AI 處理)仍然昂貴,企業開始傾向於將數據分散到不同的地方,根據需要傳輸和處理數據。

非結構化數據的工程化管理。過去,企業主要處理結構化數據,例如表格和數字。但現在隨著 AI 現在能更好地理解文本、圖片和音訊,更多的數據工程需要集中在如何使公司為這些非結構化數據做好 AI 準備。

AI 正在顛覆許多產業

這是一張來自賓夕法尼亞大學(UPenn)研究論文的圖表。不同於以往的自動化浪潮主要影響低薪工作,AI 現在也可以自動化許多知識型工作者的任務。

圖表中,橫軸表示薪資,縱軸表示不同職業受 AI 自動化影響的程度。有趣的是,高薪工作往往更容易受到這波 AI 自動化的衝擊。與早期的 AI 世代不同,以前的 AI 更傾向於影響低薪重複性工作的自動化,而現在的 AI 更有能力影響高薪專業工作的自動化

執行AI創新的關鍵步驟

  1. 高層管理者 AI 簡報:讓企業領導者了解 AI 的運作原理,從非技術的商業角度學習 AI 的基本運作方式,幫助企業識別商業機會。
  2. 工作任務分解:將工作拆解成任務,分析哪些適合 AI 自動化,進而揭示潛在機會。每份工作由許多任務組成,我們會將其分解,找出哪些任務適合 AI 自動化。我們發現,通過這種系統化分析,我們能揭示出許多原本未曾想到的機會。
  3. 激發新模式:AI 不僅能降低成本,更可能創造新的商業模式和增值機會。事實上,通過這種系統化分析來拆解工作並將部分的工作自動化,很時候,這過程會讓某些任務的成本降低成千上萬倍,從而創造出全新的商業模式,而不是僅僅取代現有的工作流程。
  4. 自建與購買抉擇:對於大多數企業而言,自行開發(Build)還是外購(Buy) AI 解決方案是一個常見的抉擇。我們通常建議,如果市場上已經存在解決方案,那麼直接購買即可。但由於 AI 技術還相對新穎,許多企業需要的解決方案根本還不存在,因此它們最終往往選擇自行開發,甚至投資創建新公司。這種工作任務分解的流程幫助企業高效地建構和採用 AI 技術,同時避免企業承擔過多的開發風險。我認為,透過這種方式,企業能夠從 AI 技術中獲得長期的益處。

分析你的工作內容,識別哪些部分AI可以幫忙

  • 工作由許多任務組成。AI 是自動化任務,而非整個工作。
    • 將員工執行的工作分解為各個任務。
    • 分析各項任務,以評估其 AI 自動化或增強的潛力。

範例:客服代表

任務AI 潛力
回答客戶文字聊天查詢
記錄客戶互動
檢查訂單狀態
接聽電話
分流處理投訴