文章目錄
- 1. 拉取相關的Docker鏡像
- 2. 運行Ollama 鏡像
- 3. 運行Chatbot Ollama鏡像
- 4. 本地訪問
- 5. 群暉安裝Cpolar
- 6. 配置公網地址
- 7. 公網訪問
- 8. 固定公網地址
隨著ChatGPT 和open Sora 的熱度劇增,大語言模型時代,開啟了AI新篇章,大語言模型的應用非常廣泛,包括聊天機器人、智能客服、自動翻譯、寫作助手等。它們可以根據用戶輸入的文本生成相應的響應,提供個性化的建議和服務,目前大部分大語言模型的產品都是基于網絡線上的,如果我們本地想自己部署一個自己的大語言模型,該如何操作呢,下面介紹一款可以在自己本地部署運行的大語言模型Llama 2
Llama 2是一款開源的大語言模型,其中訓練的數據目前已經達到7B級別,在上下文長度為4K下的單輪與多輪對話中表現出色,部署運行Llama 2同時需要借助一個框架Ollama.
Ollama是一個強大的框架,設計用于在Docker容器中部署大型語言模型(LLM)。它的主要功能是簡化在Docker容器內部署和管理LLM的過程。Ollama通過提供簡單的安裝指令,使用戶能夠輕松地在本地運行大型開源語言模型.
借助Ollama 框架可以很方便運行Llama2大語言模型,同時,為了方便與模型進行交互,還需要部署一個web交互 界面Chatbot-Ollama.
Chatbot-Ollama是一個基于Ollama框架的聊天機器人前端應用。它利用Ollama框架提供的接口和功能,將大型語言模型(LLM)集成到聊天機器人中,使其能夠與用戶進行交互,并提供各種聊天機器人服務。
Chatbot-Ollama 接入本地Ollama框架運行的Llama2大語言模型,使我們可以很輕松簡便在本地創建一個聊天機器人.Chatbot-Ollama 同時也是基于docker本地部署的,本地部署,只能局限于本地訪問,無法做到提供遠程給其他人訪問,下面我們還需要安裝一個內網穿透工具cpolar,使得本地聊天機器人可以被遠程訪問.
Cpolar是一款強大的內網穿透軟件,它能夠在多個操作系統上無縫運行,包括Windows、MacOS和Linux,因此無論您使用哪種操作系統,都可以輕松將本地內網服務器的HTTP、HTTPS、TCP協議端口映射為公網地址端口,使得公網用戶可以輕松訪問您的內網服務,無需部署至公網服務器.
下面我們通過群暉Docker來演示如何結合上面介紹的技術來運行一個自己的本地聊天機器人并且發布到公網訪問.本地部署,對設備配置要求高一些,如果想要擁有比較好的體驗,可以使用高配置的服務器設備.
1. 拉取相關的Docker鏡像
運行Llama 2需要借助Ollama鏡像,對語言模型進行交互需要用到Chatbot-Ollama前端界面,所以我們需要拉取這兩個docker鏡像,本例群暉版本由于無法直接在群暉控制面板docker界面搜索下載鏡像,所以采用命令行方式進行鏡像下載,首先開啟群暉ssh連接,然后使用工具通過ssh連接上群暉,分別執行下面docker命令 拉取
*拉取Ollama鏡像命令
sudo docker pull ollama/ollama:latest
*拉取Chatbot-Ollama鏡像命令
sudo docker pull ghcr.io/ivanfioravanti/chatbot-ollama:main
拉取成功后,我們可以在Docker界面看到拉取的兩個鏡像,下面開始運行兩個鏡像,首先運行ollama
2. 運行Ollama 鏡像
選中鏡像,點擊運行進入配置界面,名稱無需設置,默認即可,然后點擊下一步
輸入外部訪問的端口,和容器內部端口一致,填寫11434即可,然后點擊下一步
然后點擊完成即可運行ollama
運行后,打開容器界面,可以看到運行的服務,下面開始下載運行Llama 2模型,點擊選中ollama容器,點擊操作
然后打開終端機,進入終端命令界面
然后選擇左邊新增一個bash命令界面
然后在bash命令界面,執行ollama run llama2
命令,接著等待下載即可,最后出現success,表示下載運行Llama 2模型成功,下載完成后可以關閉掉窗口.這樣ollama 容器啟動,并運行Llama 2模型就成功了,下面運行chatbot-ollama鏡像,配置前端交互界面
3. 運行Chatbot Ollama鏡像
選中我們下載的鏡像,點擊運行,開始進行設置
名稱可以默認,直接點擊下一步
設置對外端口,本例設置3001,具體可以自己自定義,這個端口也是我們瀏覽器上web訪問的端口
然后設置一個環境變量,該變量就是連接我們上面運行Ollama框架服務的地址,我們設置本地地址:http://群暉局域網IP:11434
即可,設置完成點擊下一步,然后直接點擊完成即可,chatbot Ollama鏡像就運行成功了,接下來我們進行本地訪問.
4. 本地訪問
上面我們運行設置chatbot ollama 的對外端口是3001(具體以自己設置的為準),下面我們在瀏覽器訪問群暉3001端口,既可看到我們的web交互 界面,同時,上面顯示了使用的llama2模型,下面輸入文字即可對話,這樣一個本地部署的機器人就完成了,對話的響應速度取決于設備的配置,盡量使用高配置的服務器運行部署哦,本地完成后,我們接下來設置遠程也可以訪問,下面安裝cpolar工具,實現無公網IP也可以遠程訪問我們的聊天機器人界面!
5. 群暉安裝Cpolar
點擊下面Cpolar群暉套件下載地址,下載相應版本的群暉Cpolar套件
https://www.cpolar.com/synology-cpolar-suite,
打開群暉套件中心
,點擊右上角的手動安裝
按鈕。
選擇我們本地下載好的cpolar套件安裝包,然后點擊下一步
點擊同意
按鈕,然后點擊下一步
最后點擊完成即可。
安裝完成后,在外部瀏覽器,我們通過群暉的局域網ip地址
加9200
端口訪問Cpolar的Web管理界面,然后輸入Cpolar郵箱賬號與密碼進行登錄
6. 配置公網地址
點擊左側儀表盤的隧道管理——創建隧道,創建一個chatbot的公網地址隧道!
- 隧道名稱:可自定義命名,注意不要與已有的隧道名稱重復
- 協議:選擇http
- 本地地址:3001 (本地訪問的端口)
- 域名類型:免費選擇隨機域名
- 地區:選擇China
點擊創建
隧道創建成功后,點擊左側的狀態——在線隧道列表,查看所生成的公網訪問地址,有兩種訪問方式,一種是http 和https,下面我們使用生成的http地址訪問
7. 公網訪問
使用上面cpolar生成的http地址,在瀏覽器訪問,同樣可以看到聊天機器人主界面,公網地址訪問成功,無需公網IP,無需云服務器,即可把我們本地聊天機器人發布到公網進行訪問!
小結
為了更好地演示,我們在前述過程中使用了cpolar生成的隧道,其公網地址是隨機生成的。
這種隨機地址的優勢在于建立速度快,可以立即使用。然而,它的缺點是網址由隨機字符生成,不太容易記憶(例如:3ad5da5.r10.cpolar.top)。另外,這個地址在24小時內會發生隨機變化,更適合于臨時使用。
我一般會使用固定二級子域名,原因是我希望將網址發送給同事或客戶時,它是一個固定、易記的公網地址(例如:chatbot.cpolar.cn),這樣更顯正式,便于流交協作。
8. 固定公網地址
由于以上使用Cpolar所創建的隧道使用的是隨機公網地址,24小時內會隨機變化,不利于長期遠程訪問。因此我們可以為其配置二級子域名,該地址為固定地址,不會隨機變化【ps:cpolar.cn已備案】
注意需要將cpolar套餐升級至基礎套餐或以上,且每個套餐對應的帶寬不一樣。【cpolar.cn已備案】
登錄cpolar官網,點擊左側的預留,選擇保留二級子域名,設置一個二級子域名名稱,點擊保留,保留成功后復制保留的二級子域名名稱
保留成功后復制保留成功的二級子域名的名稱
返回登錄Cpolar web UI管理界面,點擊左側儀表盤的隧道管理——隧道列表,找到所要配置的隧道,點擊右側的編輯
修改隧道信息,將保留成功的二級子域名配置到隧道中
- 域名類型:選擇二級子域名
- Sub Domain:填寫保留成功的二級子域名
點擊更新
(注意,點擊一次更新即可,不需要重復提交)
更新完成后,打開在線隧道列表,此時可以看到公網地址已經發生變化,地址名稱也變成了固定的二級子域名的名稱域名
最后,我們使用固定的公網http地址訪問,可以看到同樣訪問成功,這樣一個固定且永久不變的公網地址就設置好了!