AI 學習紀錄 – 搭建簡易LLM API,以QWEN為例

目前的語言大模型都有搭配的 http API, 像在這篇裡提到的 Langchat-chatcat 的 API。使用上算不上複雜,但想要使用時要下的參數好像就有點多。其實要搭建自己的 LLM API,就是在 http server 內接收一個 POST 或 GET 的要求,再透過 LLM 的 chat API 取得回應後,返回給 http 即可。

這種自建的方式感覺比較好客制化一點,當然是我自己不熟官方API的可能性也很大。

要訂制這種服務,其實就是把一般 CLI 的範例,再加上 Python HTTP 功能即可。這邊以通義千問 (Qwen) 為例,來紀錄一下這自己的程式碼。

LLM API 程式

語言模型相關的 function 為

  • load_model_tokenizer(), ask(): 前者載入模型, 後者以 chat API 取得對話回應

HTTP 相關的 function 為

  • class S,run(): 前者為 http server 的基礎類,裡面做了GET / POST 的處理. run() 為啟動服務。

將上面的內容存檔,啟動後可以在 port 8080 做連接。

使用 GET 問答的話,只要在瀏覽器最後面加上 “/?q=” 再接上問題就行了. 下面是詢問”who is Trump”的回答, 中間的%20是瀏覽器自己補的。

要用 POST 話,使用一個 shell script 搭上 curl 可以完成簡單的任務。

結語

自建 API 的好處是可以客制化一些關鍵字來達到特殊的功能,例如啟動或關閉歷史功能、或者是即時抓取網路資料,雖然不怎麼聰明,但確實是比較實用。

Leave a Reply(Name請以user_開頭,否則會被判定會垃圾息)

請輸入答案 + 39 = 41