使用Docker部署ollama和MaxKB全過程
步驟1:配置Ollama網絡環(huán)境
確保Ollama監(jiān)聽外部請求
默認情況下,Ollama僅監(jiān)聽 127.0.0.1:11434。需修改環(huán)境變量使其監(jiān)聽所有IP:
# 啟動Ollama容器時添加環(huán)境變量 docker run -d --name ollama \ -p 11434:11434 \ -e OLLAMA_HOST=0.0.0.0 \ # 允許外部訪問 ollama/ollama
驗證Ollama服務狀態(tài)
在宿主機執(zhí)行以下命令,確認API可訪問:
curl http://localhost:11434
若返回 Ollama is running 則正常。
步驟2:配置MaxKB連接Ollama
啟動MaxKB容器并加入Ollama網絡
使用 --network 參數讓兩個容器共享網絡:
docker run -d --name maxkb \ --network container:ollama \ # 共享Ollama的網絡命名空間 -p 8080:8080 \ -v ~/.maxkb:/var/lib/postgresql/data \ cr2.fit2cloud.com/1panel/maxkb
或通過Docker內部DNS通信
若未共享網絡,在MaxKB容器內使用 Ollama容器名稱 作為域名:
# 啟動MaxKB時指定Ollama容器網絡 docker run -d --name maxkb \ --network my_network \ # 創(chuàng)建自定義網絡后加入 -p 8080:8080 \ -v ~/.maxkb:/var/lib/postgresql/data \ cr2.fit2cloud.com/1panel/maxkb
步驟3:在MaxKB中添加Ollama模型
登錄MaxKB界面
訪問 http://localhost:8080,使用初始賬號 admin/maxkb@123… 登錄。
添加Ollama模型
- 模型類型:選擇
Ollama - API域名:填寫
http://ollama:11434(若共享網絡)或http://宿主機IP:11434 - 模型名稱:與
ollama list中的模型名完全一致(如llama3:8b) - API Key:任意非空字符(如
dummy)
驗證連接
點擊 測試連接,若顯示成功即可保存。
步驟4:創(chuàng)建知識庫并關聯(lián)模型
創(chuàng)建知識庫
上傳文檔(支持PDF/TXT/Markdown等),選擇智能分段并導入。
創(chuàng)建應用
在應用中關聯(lián)知識庫和Ollama模型,調整參數(如溫度、重復懲罰等)。
測試問答
在應用界面提問,觀察是否基于知識庫生成答案。
常見問題解決
API域名無效
- 確認Ollama容器IP和端口可訪問:
curl http://ollama:11434 - 檢查防火墻是否開放
11434端口。
模型無法加載
- 確保模型名稱與
ollama list完全一致(區(qū)分大小寫)。 - 若模型未下載,在Ollama容器內執(zhí)行
ollama pull 模型名。
跨容器網絡不通
創(chuàng)建自定義Docker網絡并加入:
docker network create my_network docker network connect my_network ollama docker network connect my_network maxkb
性能優(yōu)化建議
GPU加速
啟動Ollama時添加 --gpus all 參數(需宿主機安裝NVIDIA驅動):
docker run -d --gpus all -p 11434:11434 ollama/ollama
模型量化
使用低精度模型(如 llama3:8b-q4_K_M)減少資源占用:
ollama pull llama3:8b-q4_K_M
通過以上步驟,即可在Docker環(huán)境中實現(xiàn)MaxKB與Ollama的集成。若需進一步優(yōu)化響應速度,可考慮部署更高性能的模型或升級硬件配置。
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Docker?Compose+Nestjs構建Dapr?Redis發(fā)布訂閱分布式應用
這篇文章主要為大家介紹了Docker?Compose+Nestjs構建Dapr?Redis發(fā)布訂閱分布式應用步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-08-08
Jenkins整合Docker實現(xiàn)CICD自動化部署的詳細過程(若依項目)
本文介紹了如何使用Jenkins和Docker實現(xiàn)CI/CD自動化部署,文章介紹了環(huán)境準備,包括Jenkins、Docker、JDK、Node和Maven,然后討論了如何配置GitLab環(huán)境并利用Webhooks實現(xiàn)代碼的自動拉取和部署,最后,展示了如何部署前后端分離的項目,并通過實際操作驗證了整個流程的有效性2024-10-10
本地Docker部署Navidrome音樂服務器與遠程訪問聽歌詳細教程(圖文詳解)
本文和大家分享一款目前在G站有11K+Star的開源跨平臺音樂服務器?Navidrome,如何在?Linux?環(huán)境本地使用?Docker?部署,并結合cpolar?內網穿透工具配置公網地址,實現(xiàn)隨時隨地遠程訪問本地存儲音樂的詳細流程,感興趣的朋友跟隨小編一起看看吧2024-08-08
CentOS7.6系統(tǒng)下Docker安裝部署教程
這篇文章主要為大家介紹了CentOS7.6系統(tǒng)下Docker的安裝部署教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪2022-04-04

