AI大模型(二)基于Deepseek搭建本地可視化交互UI

AI大模型(二)基于Deepseek搭建本地可視化交互UI

DeepSeek開源大模型在榜單上以黑馬之姿橫掃多項評測,其社區熱度指數暴漲、一躍成為近期內影響力最高的話題,這個來自中國團隊的模型向世界證明:讓每個普通人都能擁有媲美GPT-4o的智能體,不再是硅谷巨頭的專利。隨著DeepSeek的爆火和出圈、以及社區的完善和上手門檻的降低,AI大模型與普通人的距離也越來越近,對AI大模型的使用在未來很可能會成為一項主流的工作技能。基于此,本系列文章將以DeepSeek為例,從本地大模型部署、可視化服務UI、本地知識庫搭建、大模型部署調優、破除大模型限制以及角色定制、酒館使用等方面進行保姆級教學(前兩篇免費公開,后續文章請移步付費專欄或知識星球觀看),讓你輕松玩轉大模型,享受大模型帶來的便利與樂趣。

在這里插入圖片描述

在本文開始之前,我們先簡單回顧下上篇文章的內容,在上篇文章中我們詳細介紹了基于DeepSeek的本地大模型部署教程,在文章結尾處我們已經能夠在本地命令行中實現與大模型的對話服務。但是我們發現這種原始的交互方式非常不友好,并且功能和拓展都比較單一,難以滿足我們的需求。因此本文將在此基礎上,通過多種方式搭建基于Deepseek的本地可視化交互UI,并實現功能拓展。大家可以在下面Open WebUI、ChatBox和Page Assist插件三種方式中選擇一種進行實現即可。

一. Open WebUI

Open WebUI 官網: https://docs.openwebui.com/

Open WebUI GitHub: https://docs.openwebui.com/

Open WebUI(前身為Ollama WebUI)是一個開源、可擴展、功能豐富且用戶友好的 AI 大模型托管平臺,它提供了豐富、易用的用戶界面,并支持各種 LLM 提供商(如 Ollama)和與 OpenAI 兼容的 API,還內置 RAG 推理引擎等豐富拓展功能,使其成為強大的 AI 部署解決方案之一,尤其是與Ollama具有較好的兼容性。

1. 環境準備

Open WebUI的部署過程比較復雜,其主要有Docker和Python兩種搭建方式,鑒于網上對于Docker搭建方式的教程比較多,因此本文將以Pyhton搭建方式為主進行講解。在安裝Open WebUI之前,我們首先需要在本地安裝好Python 3.11版本環境(建議使用uvconda管理),對于Python環境的安裝這里就不再展開,網上相關教程很多且安裝也較為簡單,大家可以自行了解。需要注意的是: Python 3.12 似乎可以運行,但尚未經過全面測試;Python 3.13 完全未經測試(使用時風險自負)。

在這里插入圖片描述

2. 安裝Open WebUI

在終端中執行以下命令,由于需要下載安裝大量依賴組件和模型(語音模型、向量嵌入模型、圖像識別模型等),這個過程可能會比較久,請耐心等待;注意如果進度條長時間卡著不動,嘗試多按幾下回車試試:

pip install open-webui

在這里插入圖片描述

3. 啟動Open WebUI

等待安裝完成后,接著通過以下命令啟動Open WebUI服務,命令行輸出Open WebUI符號即為啟動成功:

open-webui serve

在這里插入圖片描述

4. 訪問Open WebUI

服務啟動完成后,在瀏覽器輸入地址并訪問http://localhost:8080,會看到如下界面(注意后臺Python運行窗口不要關掉,否則Open WebUI服務會停止),然后點擊“開始使用”后需要創建賬號才可使用,這里賬號僅會存儲在本地管理:

在這里插入圖片描述
在這里插入圖片描述

5. 使用Open WebUI

創建賬號并登陸完成后,后有一個短暫的頁面空白期,Open WebUI會自動連接本地Ollama端口(請確保Ollama服務已開啟),連接完成后會出現完整的對話窗口和本地模型列表:

在這里插入圖片描述

(1)基本對話服務

在這里插入圖片描述

(2)高級系統設置

  • 提示詞與模型參數

在這里插入圖片描述

  • 修改外部鏈接

在這里插入圖片描述

  • 開啟聯網搜索

在這里插入圖片描述

二. Chatbox AI

Chatbox AI 官網: https://chatboxai.app/zh

Chatbox AI GitHub: https://github.com/Bin-Huang/chatbox

類似于Open WebUI,Chatbox AI同樣也是開源、可拓展的適用于AI大模型(GPT、Claude、Gemini、Ollama…)的用戶友好型桌面客戶端應用程序,支持本地模型托管和眾多先進AI模型的API接入,可在 Windows、MacOS、Android、iOS、Linux 甚至網頁版上直接使用,相比Open WebUI來說,Chatbox AI的使用更加簡單、無需額外準備任何環境。

在這里插入圖片描述

1. 配置Ollama服務

點擊“啟動網頁版”后會進入Chatbox AI的主界面,這里會讓你選擇大模型提供商(包括Chatbox API、OpenAI API、Ollama API等),我們需要選擇Ollama API來連接本地部署的Ollama服務,但是此時瀏覽器是無法直接訪問本地部署的Ollama API的(涉及跨域問題),因此我們需要在之前配置的基礎上,再添加對跨域支持的系統環境變量OLLAMA_ORIGINS = *

在這里插入圖片描述

環境變量添加完成后同樣需要重啟電腦或Ollama服務才可生效,然后我們重新進入Chatbox AI的設置中,可以發現已可以正確檢測到Ollama API和本地模型,選擇模型并保存即可:

在這里插入圖片描述

2. 使用Chatbox AI

配置Ollama服務完成后,跟Open WebUI的使用類似,我們可以直接在對話頁面與本地大模型進行交互,并支持對系統提示詞或大模型參數進行調整,其他的區別可能就是一些功能豐富性上的差異,大家可以自行探索。注意這里如果是英文,可以到設置中更改為簡體中文顯示:

在這里插入圖片描述
在這里插入圖片描述

三. Page Assist

Page Assist 插件: https://chromewebstore.google.com/detail/page-assist

Page Assist Github: https://github.com/n4ze3m/page-assist

除了上述的Open WebUI和Chatbox AI之外,我們這里再介紹一個更加輕量級的可視化工具Page Assist,它是一個瀏覽器插件形式的開源大模型用戶交互與管理應用,該插件可兼容的瀏覽器類型如下:

在這里插入圖片描述

我們直接在瀏覽器商店中下載并安裝Page Assist 插件后,點擊插件即可進入Page Assist主界面,如果展示Ollama is running即表示Ollama服務已連接成功(可在右上角設置中修改為簡體中文),注意在左上角還需要選擇模型來進行對話 :

在這里插入圖片描述

除此之外,要使用Page Assist還需要在設置>RAG頁面里選擇一個文本嵌入模型,這里可以使用專業的嵌入模型(需在Ollama下載)或者直接使用deepseek-r1:7b作為嵌入模型,不過建議使用更專業的嵌入模型比如nomic-embed-text,在RAG中效果會更好;并且Page Assist也支持聯網搜索、上傳文檔/圖片等操作:

在這里插入圖片描述

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/894654.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/894654.shtml
英文地址,請注明出處:http://en.pswp.cn/news/894654.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++基礎系列【2】C++基本語法

本文作為入門文檔&#xff0c;簡要介紹C的非常基本的語法&#xff0c;后面章節會詳細介紹C的各個語法。 C 程序結構 C程序的基本結構包括頭文件、命名空間、類和函數等。 下面我們通過Hello&#xff0c;World來展示這些元素。 #include <iostream> // 包含標準輸入輸…

【C語言】球球大作戰游戲

目錄 1. 前期準備 2. 玩家操作 3. 生成地圖 4. 敵人移動 5. 吃掉小球 6. 完整代碼 1. 前期準備 游戲設定:小球的位置、小球的半徑、以及小球的顏色 這里我們可以用一個結構體數組來存放這些要素,以方便初始化小球的信息。 struct Ball {int x;int y;float r;DWORD c…

圖的基本術語——非八股文

我之前只看到了數據結構與算法的冰山一角&#xff0c;感覺這些術語只會讓知識越來越難理解&#xff0c;現在來看&#xff0c;他們完美抽象一些概念和知識&#xff0c;非常重要。 本篇概念肯定總結不全&#xff0c;只有遇到的會寫上&#xff0c;持續更新&#xff0c;之前文章已經…

oracle: 表分區>>范圍分區,列表分區,散列分區/哈希分區,間隔分區,參考分區,組合分區,子分區/復合分區/組合分區

分區表 是將一個邏輯上的大表按照特定的規則劃分為多個物理上的子表&#xff0c;這些子表稱為分區。 分區可以基于不同的維度&#xff0c;如時間、數值范圍、字符串值等&#xff0c;將數據分散存儲在不同的分區 中&#xff0c;以提高數據管理的效率和查詢性能&#xff0c;同時…

【單層神經網絡】基于MXNet的線性回歸實現(底層實現)

寫在前面 剛開始先從普通的尋優算法開始&#xff0c;熟悉一下學習訓練過程下面將使用梯度下降法尋優&#xff0c;但這大概只能是局部最優&#xff0c;它并不是一個十分優秀的尋優算法 整體流程 生成訓練數據集&#xff08;實際工程中&#xff0c;需要從實際對象身上采集數據…

本地快速部署DeepSeek-R1模型——2025新年賀歲

一晃年初六了&#xff0c;春節長假余額馬上歸零了。今天下午在我的電腦上成功部署了DeepSeek-R1模型&#xff0c;抽個時間和大家簡單分享一下過程&#xff1a; 概述 DeepSeek模型 是一家由中國知名量化私募巨頭幻方量化創立的人工智能公司&#xff0c;致力于開發高效、高性能…

C++11詳解(一) -- 列表初始化,右值引用和移動語義

文章目錄 1.列表初始化1.1 C98傳統的{}1.2 C11中的{}1.3 C11中的std::initializer_list 2.右值引用和移動語義2.1左值和右值2.2左值引用和右值引用2.3 引用延長生命周期2.4左值和右值的參數匹配問題2.5右值引用和移動語義的使用場景2.5.1左值引用主要使用場景2.5.2移動構造和移…

在K8S中,pending狀態一般由什么原因導致的?

在Kubernetes中&#xff0c;資源或Pod處于Pending狀態可能有多種原因引起。以下是一些常見的原因和詳細解釋&#xff1a; 資源不足 概述&#xff1a;當集群中的資源不足以滿足Pod或服務的需求時&#xff0c;它們可能會被至于Pending狀態。這通常涉及到CPU、內存、存儲或其他資…

手寫MVVM框架-構建虛擬dom樹

MVVM的核心之一就是虛擬dom樹&#xff0c;我們這一章節就先構建一個虛擬dom樹 首先我們需要創建一個VNode的類 // 當前類的位置是src/vnode/index.js export default class VNode{constructor(tag, // 標簽名稱&#xff08;英文大寫&#xff09;ele, // 對應真實節點children,…

linux內核源代碼中__init的作用?

在 Linux 內核源代碼中&#xff0c;__init是一個特殊的宏&#xff0c;用于標記在內核初始化階段使用的變量或函數。這個宏的作用是告訴內核編譯器和鏈接器&#xff0c;被標記的變量或函數只在內核的初始化階段使用&#xff0c;在系統啟動完成后就不再需要了。因此&#xff0c;這…

【大數據技術】教程03:本機PyCharm遠程連接虛擬機Python

本機PyCharm遠程連接虛擬機Python 注意:本文需要使用PyCharm專業版。 pycharm-professional-2024.1.4VMware Workstation Pro 16CentOS-Stream-10-latest-x86_64-dvd1.iso寫在前面 本文主要介紹如何使用本地PyCharm遠程連接虛擬機,運行Python腳本,提高編程效率。 注意: …

pytorch實現門控循環單元 (GRU)

人工智能例子匯總&#xff1a;AI常見的算法和例子-CSDN博客 特性GRULSTM計算效率更快&#xff0c;參數更少相對較慢&#xff0c;參數更多結構復雜度只有兩個門&#xff08;更新門和重置門&#xff09;三個門&#xff08;輸入門、遺忘門、輸出門&#xff09;處理長時依賴一般適…

PAT甲級1032、sharing

題目 To store English words, one method is to use linked lists and store a word letter by letter. To save some space, we may let the words share the same sublist if they share the same suffix. For example, loading and being are stored as showed in Figure …

最小生成樹kruskal算法

文章目錄 kruskal算法的思想模板 kruskal算法的思想 模板 #include <bits/stdc.h> #define lowbit(x) ((x)&(-x)) #define int long long #define endl \n #define PII pair<int,int> #define IOS ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); using na…

為何在Kubernetes容器中以root身份運行存在風險?

作者&#xff1a;馬辛瓦西奧內克&#xff08;Marcin Wasiucionek&#xff09; 引言 在Kubernetes安全領域&#xff0c;一個常見的建議是讓容器以非root用戶身份運行。但是&#xff0c;在容器中以root身份運行&#xff0c;實際會帶來哪些安全隱患呢&#xff1f;在Docker鏡像和…

js --- 獲取時間戳

介紹 使用js獲取當前時間戳 語法 Date.now()

ConcurrentHashMap線程安全:分段鎖 到 synchronized + CAS

專欄系列文章地址&#xff1a;https://blog.csdn.net/qq_26437925/article/details/145290162 本文目標&#xff1a; 理解ConcurrentHashMap為什么線程安全&#xff1b;ConcurrentHashMap的具體細節還需要進一步研究 目錄 ConcurrentHashMap介紹JDK7的分段鎖實現JDK8的synchr…

Vue和Java使用AES加密傳輸

背景&#xff1a;Vue對參數進行加密&#xff0c;對響應進行解密。Java對參數進行解密&#xff0c;對響應進行解密。不攔截文件上傳類請求、GET請求。 【1】前端配置 安裝crypto npm install crypto-js編寫加解密工具類encrypt.js import CryptoJS from crypto-jsconst KEY …

開發板目錄 /usr/lib/fonts/ 中的字體文件 msyh.ttc 的介紹【微軟雅黑(Microsoft YaHei)】

本文是博文 https://blog.csdn.net/wenhao_ir/article/details/145433648 的延伸擴展。 本文是博文 https://blog.csdn.net/wenhao_ir/article/details/145433648 的延伸擴展。 問&#xff1a;運行 ls /usr/lib/fonts/ 發現有一個名叫 msyh.ttc 的字體文件&#xff0c;能介紹…

[ESP32:Vscode+PlatformIO]新建工程 常用配置與設置

2025-1-29 一、新建工程 選擇一個要創建工程文件夾的地方&#xff0c;在空白處鼠標右鍵選擇通過Code打開 打開Vscode&#xff0c;點擊platformIO圖標&#xff0c;選擇PIO Home下的open&#xff0c;最后點擊new project 按照下圖進行設置 第一個是工程文件夾的名稱 第二個是…