image-20230628221201753

透過這個 EmbedChain 可以抓取許多種資料,這個圖片是測試他去抓取 「2023年LINE官方帳號方案價格調整,重點一次掌握」網頁上的資料來回覆給使用者。

  • 官方帳號在哪一天調整價錢? 官方帳號價格將在 2023 年 9 月 1 日調整。
  • 中用量方案的價格? 中用量方案的價格是每月 800 元。

前提

許多人都想要打造出客服聊天機器人 LINE Bot ,但是透過 NLU 來打造客服 LINE Bot 其實成本很高。這裡會推薦給各位透過 LangChain 加上 EmbedChain 這個套件,可以打造低成本與簡易版本的客服 LINE Bot 。 本篇文章將快速告訴各位,如何透過 EmbedChain 來打造

這裡也列出一系列,我有撰寫關於 LangChain 的學習文章:

EmbedChain 解決了那些問題

先預設本篇文章讀者,已經是懂的使用 LLM (Large Language Model) 來打造客服機器人。之前你需要先建立客服機器人的參考資料庫,(因為大部分 LLM (e.g. OpenAI) ) 不知道如何回覆你的問題。

需要的架構可以這裡參考文章 Enhancing ChatGPT With Infinite External Memory Using Vector Database and ChatGPT Retrieval Plugin

img

如上圖,快速整理架構如下:

  • 需要把客服文件透過切割成一群群的文字區塊
  • 將文字區塊透過 Embedding 技術放入 LLM 的向量空間,暫存在 Vector Database。 (會變成一個很長的數字陣列 e.g.)
  • 客戶詢問問題的時候,也去針對他的問題切割後作成 Embedding 。並且找尋最接近的文件。
  • 將文件區塊給 LLM 整理後回覆給客戶。

即便你使用了 LangChain 來包裝整個架構,你還是會遇到相關問題:

那有方式可以更快速解決這樣的架構問題嗎? 接下來就要跟大家 EmbedChain

如何透過 EmbedChain 打造客服 LINE Bot

這裡列出幾個簡單流程:

  • 準備打造客服 LINE Bot需要的素材
  • 建立 EmbedChain LINE Bot
  • 測試與調整

以下我們將透過 EmbedChain 來打造一個回覆 LINE Biz-Solution 基本資訊的客服機器人。

image-20230628210029311

(資料來源: LINE Biz-Solution)

準備打造客服 LINE Bot需要的素材

這裡列出一些經常被詢問的問題網頁:

image-20230628090828775

建立 EmbedChain LINE Bot

使用上也很簡單:

  1. 安裝 EmbedChain pip install embedchain

  2. 加上相關程式碼

    from embedchain import App
       
    naval_chat_bot = App()
       
    # Embed Online Resources 將 LINEBiz 內容放進去
    naval_chat_bot.add("web_page", "https://tw.linebiz.com/column/LINEOA-2023-Price-Plan/")
    naval_chat_bot.add("web_page", "https://tw.linebiz.com/column/stepmessage/")
    naval_chat_bot.add("web_page", "https://tw.linebiz.com/column/LAP-Maximize-OA-Strategy/")
       
    # Embed Local Resources
    naval_chat_bot.add_local("qna_pair", ("Who is Naval Ravikant?", "Naval Ravikant is an Indian-American entrepreneur and investor."))
       
    naval_chat_bot.query("What unique capacity does Naval argue humans possess when it comes to understanding explanations or concepts?")
    # answer: Naval argues that humans possess the unique capacity to understand explanations or concepts to the maximum extent possible in this physical reality.
    

測試與調整

目前測試下來發現的問題還不少:

  • 常常跑出英文
  • 容易跑出不知道答案在哪裡

結語

EmbedChain 來打造客服機器人算是可以達成 POC 概念的呈現,但是如果要正式上線的話,建議還是要透過 LangChain 來透過 vector stores 加上 Embedding 來打造(其實也是他裡面的方式)。這邊有更多的資訊,會再慢慢更新上來。


Buy Me A Coffee

Evan

Attitude is everything