2025年10月10日 星期五

AI應用程式開發 第二版|活用ChatGPT與LLM技術開發實作

 

時至今日,沒人會否認人工智慧(簡稱 AI)是一門顯學,更有不少專家學者宣稱,程式設計是 AI 可以取而代之的職務。先不論未來的事,在這個當下,對從事軟體開發的工程師來說,AI 至少在兩個層面造成業務上的改變,或用更正面的態度來說,是改善

首先,以大語言模型LLM)為核心製作出來的程式開發工具,無論是在 POC 開發程式碼除錯撰寫測試程式碼等各個開發環節,都能利用 AI 來加速作業。另一個層面,則是運用 AI 在自然語言處理上的超能力,打造出以往令開發人員卻步的各種人性化應用。而後者,就是這本《AI 應用程式開發》關注的重點。

它採用目前 AI 產業領頭羊 OpenAI 的解決方案,向讀者介紹如何整合 LLM 到自行開發的應用軟體中。首先免不了要進行一些技術觀念的鋪陳,介紹大語言模型的演進以及其背後的原理。雖然 LLM 表現得很像有智慧,但它終究只是運用統計數據來預測下一個字元的文字產生器,因此在現階段,仍不可避免地有兩個問題無法克服:一是垃圾進、垃圾出:餵給 LLM 的資料如果本身包含錯誤資訊,那模型本身也只會提供錯誤結果。另一個是幻覺問題:LLM 只是依據機率最高的規則來不斷產生文字內容,無法保證內容的正確性。

接著進入實戰部分,書中很快帶過 OpenAI API 的使用方法。受惠於 ChatGPT 將一切複雜性包裝在 Web API 後,讀者會發現只要按部就班地照著書中內容練習一遍,就馬上學會如何利用程式碼呼叫 ChatGPT 家族的 LLM 模型,包含聊天補全模型視覺辨識內嵌模型文字轉語音語音轉文字圖片生成等,一瞬間能將世界最強大的 AI 整合到自己的專案裡。

書中也點出 LLM 能具體增強專案的對話能力語言處理能力人機互動能力,並以範例展現各種可能發展的 AI 應用,包括新聞撰寫看影片寫結論特定領域的專家問答語音個人助理等等。書中也貼心地提醒,這些功能看似強大又美好,但呼叫 OpenAI API 是以 token 計價,開發者必須有控管成本的警覺性。

接下來是更有技術含量的章節,介紹用於增進 LLM 模型效果的各種技巧。從最簡單的提示工程開始,只要透過角色前後文任務的三段式文字,就能設計出有效的提示語;要求 LLM 進行一步步去思考,是另一種減少 AI 給出錯誤答案的小技巧。少量樣本學習以及根據使用者回饋來改進則需要花費更多心力在提示語撰寫。對於後者,書中更是提供用 AI 來優化提示語的範例程式。

再來是需要大量成本的微調模型。在 OpenAI 的工具中,微調 LLM 相當容易,但前提是使用者必須擁有能用來訓練模型的大量資料,以及充足的預算來進行這項作業。另外要注意,微調後的模型也只能在 OpenAI 平台中使用,無法帶走。最後則是現在的當紅炸子雞——RAG檢索增強生成)以及連帶的內嵌模型。其實 RAG 是為了彌補 LLM 有著輸入 token 限制的問題,但因為實作簡單、效果顯著,所以目前已經變成 AI 應用的標準配備。

最後的章節則介紹 AI 應用程式在開發時的延伸議題,像是程式框架 LangChain LlamaIndex。這部分也讓我看到 AI Agent代理)在整合不同工具後,能展現出多強大的功能,像極了電影《鋼鐵人》裡的 AI 管家賈維斯。而透過OpenAI 規格的實作,讀者也可以自行開發提供給 LLM 呼叫的外掛工具,讓它更無所不能。可惜的是,AI 程式框架進展一日千里,書中的程式碼已經過舊,無法正常運作;不過也不用擔心,ChatGPT 神通廣大,可以輕鬆改寫出新版的程式碼。

在大數據時代,工程師已學會用數據寫出程式;相信在 AI 時代,工程師也會開始用 LLM 寫出程式。這本《AI 應用程式開發》,就是最棒的起點。


沒有留言:

張貼留言