Vertex AI 和 Workbench 語言模組實戰,打造有人性的客服小幫手
隨著科技發展,企業與客戶的互動日益頻繁,提供良好的客戶服務變得至關重要。傳統的客服方式往往需要人工處理,不僅成本高,也難以快速應對大量的客戶需求;近年來,隨著人工智慧(AI)技術的發展,機器人客服逐漸成為一種新的趨勢。
機器人客服可以 24 小時不間斷地提供服務,並根據客戶的需求進行學習和調整,提高服務的質量和效率。在本專欄中,我們將介紹如何使用 Google Cloud Platform(GCP)的 Vertex 語言模型與 Workbench 建立一個小客服。
甚麼是 Vertex 呢?
Vertex 語言模型是一種大型語言模型,可以生成文字、翻譯語言、編寫不同類型的創意內容,並以信息豐富的方式回答您的問題。Workbench 是一個可視化的 notebook 環境,可以讓您輕鬆地使用 GCP 的各種服務和工具。
在本專欄中,我們將透過簡單的通訊錄與GCP AI模型做互動,結合 GCP Vertex AI語言模型以及Workbench建立notebook完成佈署實作小客服,而在文末也會說明關於GCP所使用的語言模型 PaLM2 以及在模型中所可以調整的參數值分別作用為何。
希望本專欄能幫助您快速上手GCP AI 服務,為您的服務開創無限可能!
本次實作步驟如下:
【一】使用Vertex AI左側點選Workbench並建立新的執行個體
【二】使用Vertex AI語言模組提取python程式
【三】將Vertex AI語言程式碼鍵入notebook中並微調
【四】測試成果
【五】實作完成後的聊聊天
【一】使用Vertex AI左側點選Workbench並建立新的執行個體
- 登入GCP->搜尋Vertex AI-> 點選Vertex AI
- GCP->Vertex->Workbench->建立notebook
- 開啟 JUPYTERLAB
- 開啟 Terminal
Terminal 預設為白底黑字,可點選設定改成熟悉的黑底白字。
Settings -> Terminal Theme -> Dark
【二】於Vertex AI語言模組提取 python 程式
- Vertex AI -> 語言 -> 文字即時通訊
- 點選進入情境 -> 點選右上方的查看程式碼
- 程式碼如下,複製以下程式碼準備接貼進我們剛剛所創建的 notebook 中
【三】將Vertex AI語言程式碼鍵入notebook中並微調
- vi lab.py #新增一個名為 lab 的 python 檔案
- 將程式碼貼入 lab.py 檔案中
- 修改程式提示以及回應變數
原程式碼:
調整後:
【四】測試成果
- 使用 python3 執行檔案測試問與答
【五】實作完成後的聊聊天
透過以上範例,我們發現件有趣的事情:它所回覆的蔡依林資訊並非我們所給予的資料,其實是Google AI的PaLM2 大型語言模型,PaLM 2 模型提供多種尺寸應用於不同使用情境等。
從官方給予的說明為,由小到大分別是 Gecko -> Otter -> Bison -> Unicorn
而實作面您會在 Vertex AI 語言模型中,可以選取相關模型名稱判斷攜帶級距。
前面的實作中我們這次所使用的模型為 code-bison@001
選取完模型後,您會發現在相同位置處,有多個參數可調整:
Temperature:是控制生成的文本的創意程度的一個參數。值越高,生成的文本就越有創意。因此若您希望您的 Vertex AI 回覆得更有創意,可以將溫度值調高。
但是,您需要注意,溫度值越高,生成的文本就越有可能出錯。因此,您需要根據需要調整最適切的溫度值。
以下是一些使用溫度值來控制生成文本創意程度的示例:
溫度值為 0:生成的文本將非常保守,並且不會有任何創意。
溫度值為 0.5:生成的文本將有一定的創意,但仍然很有可能是正確的。
溫度值為 0.8:生成的文本將非常有創意,但也有可能出錯。
Token limit:控制生成文本長度的一個參數。值越高,生成的文字就越長。
具體來說,token 是指文本中的一個字母、數字或符號。例如,單詞 "hello" 由 5 個 token 組成:"h"、"e"、"l"、"l" 和 "o"。
因此,token limit 值表示生成文本的最大 token 數量。例如,token limit 值為 1024 表示生成的文本最多可以包含 1024 個 token。當 token limit 值達到時,Vertex AI 將停止生成。
Top K 是指生成文字時要考慮的候選詞彙數量。例如,Top K 值為 40 表示生成文字時將考慮 40 個候選詞彙。Vertex AI 將從候選詞彙中選擇概率最高的字詞作為下一個字詞。當 Top K 值達到時,Vertex AI 將停止生成文字。
Top P 是指生成文字時要考慮的候選詞彙機率的下限。例如,Top P 值為 0.8 表示生成文字時將只考慮機率至少為 0.8 的候選詞彙。Vertex AI 將從候選詞彙中選擇機率最高的字詞作為下一個字詞,只要該字詞的機率至少為 0.8。當 Top P 值達到時,Vertex AI 將停止生成文字。
值得注意的是,Top K 和 Top P 都是控制生成文字多樣性的參數,但它們有不同的方法來實現這一點。具體差異如下:
Top K 的值越高,生成的文字就越多樣化,但也越有可能出錯;
Top P 的值越高,生成的文字就越準確,但也越有可能不夠有創意。
綜上所述,您可以透過實作來找到最適合您需求的參數值,Google Cloud 提供多種基礎語言模型供大家使用,大家一起客製化專屬於您的 AI 幫手!