iT邦幫忙

2025 iThome 鐵人賽

DAY 8
0
Odoo

Odoo × 生成式 AI:從零到一的企業自動化實戰系列 第 8

Day 8:打造 Odoo 聊天機器人:AI 即時對話整合

  • 分享至 

  • xImage
  •  

你將學到

  • 如何在 Odoo 18 中整合 GPT-5 聊天機器人,實現在三種場景下的人機即時對話。
  • 設計支援上下文記憶的 AI 對話流程,透過 FastAPI 等 Python 中介服務與 GPT-5 模型溝通。
  • 在 Odoo 平台中嵌入聊天介面(例如使用 JS Widget、iframe 或 REST API),讓網站首頁、客服模組、討論串等處都能與 AI 對話。

關鍵字

聊天機器人、GPT-5、上下文工程、客服自動化


情境:AI 助手上線囉!

午夜時分,Odoo 網站上的客服圖示突然閃爍。原來是一位來自海外的訪客正在詢問產品細節。但此刻公司客服人員都已離線,難道客戶要失望而去嗎?

場景轉到隔天早上,客服經理小琳打開Odoo「客服模組」時,驚喜地發現系統已替她自動回答了昨夜的提問,而且還幫助訪客下了一筆新訂單!原來,公司昨晚悄悄上線了一位 AI 聊天助理 —— 基於 GPT-5 的聊天機器人。

不僅能在網站首頁和訪客寒暄,回答常見問題,還能在沒有人力在線時充當智慧客服;甚至在公司內部的討論串中,也可以隨時協助同事們查詢資料、解釋文件。整個過程自然流暢,訪客和員工都幾乎感覺不到是在和AI對話。

以上的故事情節在今天已非天方夜譚。透過將最先進的大語言模型整合進 Odoo,我們可以輕鬆打造出上述的 AI 即時對話體驗。

接下來,我們就會一步步拆解實作的概念與方法,並分享在三種典型場景中(網站首頁、客服模組、討論工具)加入 AI 聊天機器人 的技巧與心得。


AI 對話整合架構設計:上下文與中介服務

在深入各個場景的實作前,我們先來了解整體架構。由於 GPT-5 屬於 OpenAI 提供大型語言模型服務,我們透過其 API 介面與之溝通。

我們的目標是讓 Odoo 裡的不同前端介面(網站、客服聊天窗口、討論串)都能發送使用者訊息給 GPT-5,獲取 AI 回覆並展示給使用者。而為了讓對話更像真人、保持上下文連貫,我們需要設計多輪對話的流程,讓 AI 能「記住」之前的對話內容,再給出相關的回答。

典型的架構是在 Odoo 和 GPT-5 API之間加上一個中介服務(可以使用 Python 的 FastAPI 框架來構建REST服務)。這個中介層的作用包括:與 GPT-5 API 通訊、維護每個對話會話的歷史記錄,以及進行必要的格式轉換或商業邏輯。每當使用者發送新訊息時,流程如下:

odoo-chatai

如上圖所示,核心在於上下文資訊的維持:每次詢問,FastAPI 服務都會將該使用者先前的對話歷程(通常以一定的訊息數或Token上限)一併發送給 GPT-5。這樣模型才能基於完整脈絡,給出貼切的回答——就像真人記得先前談話一樣。例如,如果使用者先前自我介紹「我叫小明」,下一輪再問「你還記得我的名字嗎?」,因為 AI 接收到完整歷史,便能回答:「當然記得,你是小明!」。

為了達到這樣的多輪對話,我們需要有效管理每個會話 session 的歷史。例如,可以用一個會話ID來標識不同對話。當使用者第一次啟動聊天時產生一個 session id,此後每次傳訊息都帶上它,讓後端知道應該調取哪段對話記錄作為上下文。

💡 Gary’s Pro Tip|快取對話歷程 – 為了提升效能並避免每次都向 GPT-5 傳遞冗長歷史,我們可以在中介服務中引入快取機制。常見作法之一是將最近若干輪對話存放在記憶體或高速儲存(例如 Redis)中,以 session id 作為鍵。這就像給 AI 配備了一個高速的「短期記憶」,既保證上下文連貫,又減少不必要的重複資料傳輸。實務上,Redis 非常適合作為聊天歷史的暫存「大腦」,因為讀寫快速且支持自動過期清理,可確保長期未互動的對話不會無限增長。

有了中介層的設計,我們也能在這裡加入控制邏輯:例如過濾敏感訊息截斷過長的對話歷史、甚至將部份使用者提問先匹配FAQ以節省API次數等等。但在本篇重點中,我們專注於核心流程的實現。接下來,我們分別探討如何在 Odoo 的三個不同場景中嵌入這個 GPT-5 聊天機器人。

💡 Gary’s Pro Tip|上下文工程
比起 Prompt Engineering(提示工程),現在基於 Agent 的應用下更重視的是 Context Engineering(上下文工程),其重點是要提供給 agent 的上下文,該如何給才能獲得最好的回答準確度。相同地,在對話機器人中,有效地提供對話的 context,也可以更好的幫助 AI 來理解使用者的目的,做出更好的回答。除了上面提到的快取方式,還有使用向量資料庫存取壓縮上下文等方式,來讓一個長對話中,AI 不會因為訊息過長而失去重要的關鍵資訊。


場景一:網站首頁的 AI 互動客服

首先是在網站首頁提供 AI 即時諮詢服務。這通常以一個「聊天氣泡」或對話框的形式出現,主動邀請訪客提問或提供協助。Odoo 18 本身已內建「網站即時聊天」功能,可以讓營運人員透過後端和網站訪客對談。我們可以利用這現成的介面,只是將後端的回應者換成 AI

有幾種方法可以實現網站上的 AI 聊天框:

  • Odoo Live Chat:Odoo 的網站即時聊天(Live Chat)支援設定機器人腳本,但預設是靜態的問答流程腳本我們可以建立一個假的「操作員」帳號代表 AI,將 Live Chat 的新訊息事件接管過來,呼叫 GPT-5 獲取回答後,再以該操作員的身份發送給訪客。這需要撰寫一個客製模組來監聽 Live Chat 訊息並呼叫 OpenAI API 回覆。例如有第三方模組就是採用這種方式:安裝後系統會在 Discuss 模組中創建一個 ChatGPT 頻道或使用者,讓使用者可以直接對話。同理,對於網站訪客的 Live Chat,我們也能指派這個“AI操作員”上線值班,如此訪客發話就能收到 GPT-5 的自動回應。這種方案的優點是充分利用 Odoo 原生界面,訪客體驗一致;缺點是需要對 Odoo 聊天機制進行定制開發。
  • JavaScript Widget:如果不想動到 Odoo 伺服器端太多邏輯,也可以直接在網站頁面中加入一段 JS 程式碼,實現一個簡易的聊天對話框。這段 JS 可以透過 Odoo Website Builder 的自訂 snippet 或在模板中植入。前端程式負責生成對話視窗、收集使用者輸入,然後調用我們的 FastAPI 中介服務(或經由 Odoo 後端做轉發)來取得 GPT-5 回覆,再將回覆內容顯示在對話框中。由於現代瀏覽器允許直接進行 AJAX 請求,我們可以將 FastAPI 服務部署在允許跨域請求的網域上,讓網站前端直接呼叫。或者更安全的做法,是在 Odoo 後端建一個代理路由,例如 /ai_chat,前端呼叫該路由時由 Odoo 後端再轉發至真正的 GPT-5 服務,這樣可以隱藏API金鑰等資訊。
  • 嵌入 iFrame 外掛:如果已有成熟的外部聊天機器人服務,也可以通過 <iframe> 將其介面嵌入Odoo頁面。許多第三方AI客服平台都提供了可嵌入網頁的小工具。我們只需在Odoo網站的頁腳或側邊加入iframe引用對方提供的URL即可。這種方式雖然快速,但整合度較低(無法直接訪問Odoo內部數據),外觀上也可能需要額外樣式調整才能和網站風格一致。

在網頁 AI 客服中,Odoo Live Chat 能高度整合Odoo的資訊流,例如可記錄訪客提問並在稍後建立商機或支援單。但實作較複雜,需要Odoo模組開發經驗。JavaScript Widget 相對簡單靈活,很適合快速PoC。無論哪種方式,最終效果都是:訪客在網站上提問時,AI 即時給出答案。如果配置得當,AI 還可以引導訪客瀏覽產品、填寫聯絡方式,甚至直接下單購買,充當24/7不間斷的銷售助理

值得一提的是,隨著 Odoo 官方對 AI 的重視提升,新版中已出現一些雛形。例如 Odoo 19 強調「AI agent 融入產品」的理念,在 Live Chat 等場合讓 AI 背景支援對話。換句話說,我們手動整合GPT機器人的嘗試,也許正是未來 Odoo 標配功能的一部份!

Odoo 19 也在最近 9/18 Odoo Experience event 開始舉辦後發布,目前還沒有太多時間深入研究,但是光看 Opening Keynote 確實加入了很多 AI 的功能,看看在鐵人賽最後幾天可不可以幫大家補充進來!

💡 Gary’s Pro Tip|提升使用者體驗與錯誤應對
即使是AI助手,難免也會有「腦袋短路」或無法回答的時候。我們可以在前端介面和後端邏輯兩端加強使用者體驗:例如在使用者發送訊息後,立即顯示一個「AI 小幫手正在輸入…」的打字指示動畫,讓對話感覺更即時順暢。如果 GPT-5 的回應較慢或出錯,前端可在逾時後提示「抱歉,我一時想不出答案」或「目前訊號不穩,請稍後再試」,而不要讓對話框乾等沒有反應。
此外,可以設定當詢問超出AI能力時(例如涉及帳戶細節查詢),引導使用者轉接真人客服或留下聯絡方式。這些細節將大大提升整體體驗,使 AI 助手看起來更「機智」。同時在後端也應做好錯誤處理,例如捕捉API調用異常,記錄日誌以方便後續分析改進。


場景二:智慧客服與支援自動化

接下來,我們看看 Odoo 客服模組(Helpdesk)的 AI 整合。客服人員每天要處理大量重複性問答,例如訂單物流查詢、常見操作指引等。如果能有AI分擔,將大幅減輕負擔。GPT-5 善於理解自然語言並給出建議,我們可以讓它成為客服團隊的好幫手。

有兩種主要用法:對外的自助客服,以及對內的客服助手

對外自助客服

當客戶通過網站的「聯繫我們」或支援入口提出問題時,可以先經由聊天機器人嘗試解答。這實際上與場景一的 Live Chat 十分相似,只不過針對的是已購買客戶的問題。例如在 Odoo Helpdesk,我們可以建立一個對話機器人來處理新 ticket:

訪客開啟對話時,AI 先問幾個關鍵問題(可以透過Prompt引導,例如「請問您的訂單號是多少?問題描述...」),根據客戶回答嘗試給出解決方案。如果 AI 從知識庫中找到相關答案,就直接提供給客戶;如果判斷出問題複雜超出能力範圍,則自動為客戶創建一筆支援工單,並禮貌告知稍後有真人接手。整個過程可以在無人工介入下完成初步的問題分流與解決。

實現上,我們可以結合 Helpdesk 與 Live Chat:將某個 Live Chat 頻道關聯到 Helpdesk 團隊,設定當沒有真人客服在線時,自動啟用我們的 GPT-5 聊天機器人來應答。這樣AI可以在前線解答,並在需要時利用 Odoo 的現有機制把對話轉成支援ticket指派給後台團隊處理。

由於我們的 GPT-5 中介服務可以接觸Odoo API,因此還能在對話中查詢Odoo資料:例如用戶提供訂單號後,GPT-5 可以請 Odoo 後端查詢該訂單狀態,然後把結果編入回答(這需要在中介服務實作一層業務邏輯來調用Odoo的RPC/REST接口)。

想像一下,未來 AI 助手可以直接在對話中告訴客戶「您的訂單目前在運輸途中,預計明天送達」,甚至直接幫客戶變更訂單或創建退貨單,這將極大提升客服效率。

事實上,Odoo 19 的願景中就包括了類似的 AI Agent 能夠直接操作ERP的場景。

對內客服助手

除了直接面對客戶,AI 也可以成為客服人員的幕後軍師。當客服同仁在處理工單時,系統可以提供一個「AI 建議」按鈕或聊天框,讓他輸入疑難問題並從 GPT-5 獲得建議答覆。這有點類似 Co-pilot 的概念:AI 根據歷史對話或知識庫,自動產生一封回覆郵件的範本、或給出解決步驟供客服參考。客服人員可以視情況採用或編輯這些建議,大幅加速回覆速度。同時AI也能即時從海量文件中找出相關資訊(例如產品手冊的某頁內容)並提供給客服人員。

要做到這點,在技術上其實比對外 chatbot 更簡單一些,因為使用者是內部員工,可以接受稍慢或稍有瑕疵的回應。我們可以在 Helpdesk 工單頁面加一個「詢問AI」的按鈕,點擊時將工單內容(例如客戶描述的問題)發送給 GPT-5,再將生成的回答顯示在側邊欄供客服參考。由於這屬於單輪問答,也不涉及UI上的對話流程,一般直接透過 Odoo server 呼叫 GPT API 即可。很多第三方也開始探索這類功能,例如把 ChatGPT 引入客服系統做自動答覆建議等。

💡 Gary’s Pro Tip|善用企業內部知識庫
前面有提到客服回答的參考,有一類是需要使用到企業內部知識庫,而企業內部的知識通常是非常龐大且雜亂的,這時候就需要預先建立好索引知識庫,這樣才可以更近一步的利用 RAG(Retrieval Augmented Generation)來讓 AI 做出最符合企業知識庫內容的回覆。

經過這樣的整合,Odoo 的客服模組將變得更加智能高效:AI 全天候幫忙回答基本問題,真實人力則能專注處理複雜棘手的案例。同時,透過AI助手提供的知識建議,新進人員也能更快上手,縮短培訓期並降低出錯率。


場景三:討論串與即時訊息中的 AI 助手

最後一個場景,是在 Odoo 內部討論工具(Discuss 模組)中引入 AI 助理。

現代辦公中,團隊成員常透過即時訊息或討論串交流,如果能直接在對話中@一下AI來協助回答問題,將會非常便利。在Odoo中,Discuss 模組提供了類似Slack的頻道與私訊功能。我們可以創建一個專門的頻道(或一個虛擬用戶)作為 AI 小助手,隨時等待大家的提問。

實現方式:延續之前的架構,其實我們只需要讓 Odoo 後端能監聽到某個討論頻道的新訊息,並將之發給 GPT-5 回答即可。一種簡單作法是建立一個新的頻道,命名為「ChatGPT 助手」或「AI 小幫手」等等,並在後端編寫對應的自動動作:每當該頻道有新訊息(由任何人發出)時,觸發我們的 GPT-5 中介服務調用,將AI的回答以訊息形式回貼到同一頻道。

如此一來,整個團隊都能看到提問和AI的回答,形成共享的知識討論串之前提到的 ChatGPT 整合模組即採用此原理:安裝後在 Discuss 中出現一個 ChatGPT 頻道,所有對話記錄也都保存在該頻道中供日後查閱。

dicuss-ai

另一種互動方式是使用命令或標記:例如允許員工在任何討論串中輸入/gpt 問題內容,來觸發AI回覆該問題。這需要解析使用者訊息,在後端識別 /gpt 關鍵字後把後續內容送給 GPT-5,然後再插入一則回覆。

在內部討論中導入AI,常見用途包括:技術支援(工程師在群組裡詢問某錯誤訊息的解法,AI 即時提供建議)、文件快覽(有人丟上一份合同PDF,請它幫忙摘要重點),或者純粹為了有趣娛樂(午休時和AI聊聊天,舒緩一下工作壓力)。由於GPT-5擁有強大的語言和知識能力,它在很多領域都能給出有用的資訊。當然,對專業或機密問題,AI 僅供參考,最後決策仍需由人來把關。然而將AI無縫融入日常討論,絕對能激發團隊創意並節省搜尋資料的時間。


今日結語

今天我們概述了如何在 Odoo 平台的不同角度接入 GPT-5 驅動的聊天機器人,為使用者帶來即時、智能的對話體驗。從網站上的銷售客服,到售後支援,再到公司內部的知識分享,對話式 AI 展現了極高的應用價值。

我們可以進一步將這套對話AI延伸到更多領域:例如串接內部知識庫,讓 AI 可以存取公司文件、Wiki 或 Odoo Knowledge 模組的內容,成為員工的智慧諮詢助手。

想像每當有人對內部作業流程有疑問時,直接問AI:「我們的加班申請流程是什麼?」AI 就從知識庫抓取答案並解釋給他聽,減少反覆查詢手冊的時間。又或者文件解釋,上傳一份冗長的技術規格書,AI 可以幫你摘要出重點,甚至逐段講解疑難處,成為隨身的文件老師。對客戶而言,AI 也能提供更貼心的智慧客服:例如根據用戶歷史紀錄主動提供優惠建議,或者在情緒分析後轉接真人關懷,提升服務品質。

隨著 GPT 系列模型能力的不斷提升,可以預見未來的 Odoo 生態中,AI 將無處不在地滲透到各個業務流程中。希望透過今天的分享,你已對如何打造屬於自己的 Odoo 聊天機器人有了一個的藍圖。讓我們善用這些新工具,邁向企業數位化的下一步!


上一篇
Day 7:環境建置:連接 OpenAI GPT5 與 Odoo
下一篇
Day 9:知識庫革命:RAG 檢索增強生成在 Odoo 中的應用
系列文
Odoo × 生成式 AI:從零到一的企業自動化實戰9
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言