本地部署完成后的效果如下圖,整體與chatgpt類似,只是模型在本地推理。
我們在本地部署主要使用兩個工具:
- ollama
- open-webui
ollama是在本地管理和運行大模型的工具,可以直接在terminal里和大模型對話。open-webui是提供一個類似chatgpt的網頁,相比terminal更加方便和直觀一些。open-webui可自動檢測ollama已經下載的模型,直接選擇使用即可。兩者搭配使用。
使用ollama,我們可以不用配置開發環境,也不需要寫推理代碼,使用起來類似conda或者docker,直接執行指令來運行某個模型就可以。比如想用deepseek模型,就執行ollama run deepseek-r1
,想用llama模型,就執行ollama run llama3.3
。下面具體介紹一下ollama和安裝方法。
Ollama是一個開源的大型語言模型服務工具,以下是對它的具體介紹:
ollama介紹
特點
- 本地部署:專注于在本地機器上便捷部署和運行大型語言模型,用戶可在自己設備上運行模型,保護數據隱私,無需擔心數據發送到云端的安全風險。
- 多系統支持:支持Mac、Linux和Windows等多種操作系統,用戶在不同平臺上都能方便地安裝使用。
- 多模型支持:支持Deepseek-r1、Llama、Falcon、Qwen2、Phi3、Gemma2等多種流行的LLM模型,用戶可按需選擇,一鍵運行。
- 易于使用:提供直觀的命令行界面,操作簡單,上手容易,降低了使用門檻。
- 可擴展性:支持自定義配置,用戶能根據自身硬件環境和模型需求進行優化,還可通過安裝插件增加新功能。
- 開源:代碼完全開放,用戶可自由查看、修改和分發,活躍的開發者社區也會提供問題解答和持續改進。
- API支持:提供簡潔的API,方便開發者創建、運行和管理大型語言模型實例,輕松將其集成到各種應用程序中。
- 預構建模型庫:包含一系列預先訓練好的模型,用戶可直接選用,無需從頭訓練或自行尋找模型源。
- 模型導入與定制:支持從特定平臺導入已有的大型語言模型,兼容PyTorch或Safetensors深度學習框架,方便用戶集成自有模型。
功能
- 自動硬件加速:能自動識別并充分利用系統中的最優硬件資源,如NVIDIA GPU、AMD GPU,或利用CPU的AVX、AVX2指令集等,實現針對性優化,確保AI模型高效運行。
- 無需虛擬化:無需搭建虛擬機或配置復雜軟件環境,可直接開始AI項目開發,簡化流程。
- 常駐API:在后臺運行,可將強大的AI功能與項目無縫對接,無需額外復雜設置,方便將AI功能整合到應用中。
應用場景
- 開發和測試:開發人員可以使用Ollama在本地快速搭建語言模型環境,用于開發新的語言相關的應用程序。
- 個人學習和研究:對于研究自然語言處理的學者或者對語言模型感興趣的個人來說,Ollama提供了一個方便的實驗平臺。
- 文本生成:可用于生成各種文本內容,如新聞文章、博客文章、詩歌、代碼等。
- 翻譯:能夠將文本從一種語言翻譯成另一種語言。
- 問答:可以用于回答用戶提出的各種問題。
下面以macOS為例說明一下安裝過程,windows和linux類似。
ollama安裝
直接訪問其官網ollama,點擊Download下載安裝即可。傻瓜式安裝。
安裝完成后,ollama會在后臺作為服務運行,這時候我們只需要重啟一下terminal,然后運行想要的模型即可。
ollama所有支持的模型都可以從這個網站獲得運行指令和詳細介紹ollama models。
比如我們想用tinyllama模型,就直接執行ollama run tinyllama
。
類似docker image,經過一個pull的過程后,就可以使用了。
如果想使用deepseek-r1模型,直接運行ollama run deepseek-r1
即可。
現在只能在terminal上使用大模型,略顯不方便。如果有個web界面就好了。open-webui就是和ollama深度集成的webui界面,類似chatgpt的。而且不需要額外做什么,安裝ollama后,open-webui會自動檢測已經安裝的模型,選擇對應模型使用即可。
open-webui介紹
Open-WebUI是一個可擴展、功能豐富且用戶友好的自托管AI平臺,
在其官方github的介紹上,就注明了與ollama可以集成。
以下是具體介紹:
特點
- 部署便捷:可使用Docker或Kubernetes(kubectl、kustomize或helm)進行無縫安裝,支持ollama和cuda tagged鏡像,輕松搭建AI環境。
- 集成能力強:能與Ollama、OpenAI兼容的API集成,還可自定義OpenAI API的URL,連接到LM Studio、Groq Cloud、Mistral、Open Router等。
- 安全與權限管理精細:支持基于角色的訪問控制(RBAC),管理員可創建詳細的用戶角色和權限,確保只有授權人員能訪問Ollama及相關敏感信息,且模型創建/拉取權限專屬于管理員。
- 多端適配好:采用響應式設計,在桌面PC、筆記本電腦和移動設備上都能提供無縫的使用體驗;還提供適用于移動設備的漸進式Web應用程序(PWA),可在localhost上離線訪問,提供類似原生應用的界面。
- 多語言支持:具備國際化(i18n)支持,用戶可使用自己熟悉的語言操作平臺,且項目方積極尋求貢獻者來擴展支持的語言種類。
功能
- 文本交互增強:支持完整的Markdown和LaTeX功能,便于用戶進行結構化文檔創建和數學表達式輸入;還支持提示預設,可通過聊天輸入中的命令立即訪問預設提示,也可通過Open WebUI社區集成輕松導入提示。
- 多媒體交互:支持免提語音/視頻通話,使聊天環境更具動態性和互動性;集成圖像生成功能,可使用AUTOMATIC1111 API(本地)、ComfyUI(本地)和OpenAI的DALL-E(外部)等生成圖像,豐富聊天體驗。
- 模型管理與操作:可通過Web UI輕松創建Ollama模型,包括創建和添加自定義角色/代理、自定義聊天元素、導入模型等;支持GGUF文件模型創建,能直接從Web UI上傳GGUF文件,也可選擇從計算機上傳或從Hugging Face下載。
- 代碼與工具集成:提供原生Python函數調用工具,在工具工作區中有內置的代碼編輯器支持,用戶可添加純Python函數,實現與LLMs的無縫集成;支持Pipelines插件框架,可將自定義邏輯和Python庫集成到Open WebUI中。
- 搜索與瀏覽:集成本地RAG,支持將文檔直接加載到聊天中或添加到文檔庫,通過
#
命令訪問;支持網頁搜索,可使用SearxNG、Google PSE、Brave Search等多種搜索引擎,并將結果注入聊天;可通過#
命令+URL將網站集成到聊天中。
應用場景
- AI開發與研究:為開發者和研究人員提供了一個便捷的平臺,方便他們快速搭建AI模型的測試和開發環境,進行模型的調試、優化等工作,加速AI項目的研發進程。
- 智能客服與聊天機器人:可集成各種語言模型,構建智能客服系統或聊天機器人,為用戶提供快速、準確的信息解答和服務支持,提升客戶服務體驗。
- 內容創作與輔助:幫助內容創作者生成文章、故事、詩歌等各種文本內容,提供創作靈感和思路,提高創作效率和質量。
- 教育與培訓:在教育領域可用于構建智能輔導系統,根據學生的問題和學習情況提供個性化的解答和指導;也可作為培訓工具,幫助學員更好地理解和掌握知識。
open-webui安裝
在terminal直接執行pip install open-webui
即可。安裝完成后,執行open-webui serve
。
不過經過我測試,在MacBook的safari瀏覽器上,輸入http://0.0.0.0:8080不行,127.0.0.1:8080是可以的。