【LLM】三、open-webui+ollama搭建自己的聊天機器人

系列文章目錄

往期文章回顧:

【LLM】二、python調用本地的ollama部署的大模型

【LLM】一、利用ollama本地部署大模型


目錄

前言

一、open-webui是什么

二、安裝

1.docker安裝

2.源碼安裝

三、使用

四、問題匯總

總結



前言

? ? ? ? 前面的文章,我們已經學習了如何在本地搭建并調用自己大模型,今天我們的主要內容是通過open-webui+Ollama來搭建一個聊天機器人的前端頁面。? ? ? ??


一、open-webui是什么

? ? ? ?官網地址:open- webUI

????????Open WebUI 是一個可擴展、功能豐富且用戶友好的自托管 WebUI,旨在完全離線運行。它支持各種 LLM 運行器,包括 Ollama 和 OpenAI 兼容 API。

二、安裝

1.docker安裝

這里直接參考官方文檔,安裝即可。這里我推薦使用下面這條命令:

docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=https://example.com -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

其中,涉及到的參數解釋如下:

  • -p 端口映射:將本地機器的端口 3000 映射到容器內的端口 8080。這意味著你可以通過訪問 http://localhost:3000 來訪問運行在容器內的服務。如果你的Ollama監聽的端口是其他的,比如1001,那就改為-p 1001:8000即可,以此類推
  • -e?OLLAMA_BASE_URL=https://example.com 是添加我們的Ollama服務,http://example.com改為自己的服務地址即可。
  • - v 目錄掛載:將本地的 open-webui 卷映射到容器內的 /app/backend/data 目錄。這用于持久化數據,確保即使容器停止或重新啟動,數據也不會丟失。注意,open-webui不是固定的,你可以設置為任何存在的目錄
  • --name 起名:為容器指定一個名稱,如?open-webui,可通過docker ps -a 來查看所有的容器狀況
  • --restart: 設置容器的重啟策略,若為?always,這意味著容器如果停止(例如由于崩潰或系統重啟),Docker 會自動重啟它。
  • 其余參數用默認的即可

2.源碼安裝

????????如果你不想用docker的方式安裝,那就自己用源碼去編譯安裝,參考鏈接為源碼安裝

三、使用

  • ?按照上述方式部署成功后,在瀏覽器輸入http:localhost:3000之后,首先會先讓你注冊,注冊時,郵箱可以隨便填,填123@123.com都可以,注冊并登陸成功后進入如下界面:

????????

  • 默認情況下界面時英文狀態,點擊紅框中的設置鍵進入設置界面,如下:

????????

????????在通用里選擇語言為中文然后點擊保存即可漢化。

  • 在連接里我們可以綁定open AI的密鑰或者我們用ollama自己部署的本地模型,如下:

????????

????????這里我用的是Ollama服務,對應的URL即為我們docker 啟動命令里的-e?OLLAMA_BASE_URL=這個參數,如果啟動命令里沒指定也可以在這里加入。

  • 設置完這里之后我們就可以回到主界面進行使用,先選擇我們要調用的模型,如下:

????????

????????點擊紅框中的按鈕即可選擇我們本地已有的模型,選擇一個然后即可開始對話,同時,聊天機器人窗口也會在左下方保存,如上圖中的qwen2_7b即為我自己的聊天機器人窗口。

四、問題匯總

1、第一次啟動容器之后,在瀏覽器輸入http:localhost:3000,發現進入失敗,容器也直接崩潰重啟,通過打印docker 日志(docker logs 容器ID),爆出如下錯誤:? ? ???????

解決辦法:

docker啟動時,命令改為如下:

docker run -d -p 3000:8080 -e HF_ENDPOINT=https://hf-mirror.com -e OLLAMA_BASE_URL=https://example.com -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

即增加一條指令:-e HF_ENDPOINT=https://hf-mirror.com

2、當在設置中添加Ollama的URL時沒有生效

? ? ? ? 在如下設置里添加Ollama的URL后,點擊保存發現也沒有生效

????????????????

? ? ? ? 解決辦法:

? ? ? ? 用以下命令重新啟動容器

docker restart 容器ID(通過docker ps -a查詢容器ID)

? ? ? ??


總結

以上就是本篇的全部內容,如有問題,歡迎評論區交流,或+企鵝群:995760755交流,如覺得有用,直接三連帶回家。🐶

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

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

相關文章

探索Qt的QVariant:靈活的數據交換機制

😎 作者介紹:歡迎來到我的主頁👈,我是程序員行者孫,一個熱愛分享技術的制能工人。計算機本碩,人工制能研究生。公眾號:AI Sun(領取大廠面經等資料),歡迎加我的…

VMware使用技巧

目錄 1. 系統快照 1.1 拍攝快照 1.2 查看快照 1.3 應用/刪除快照 2. 克隆虛擬機 3. 刪除虛擬機 1. 系統快照 1.1 拍攝快照 將當前系統的狀態保存下來,如果將來系統出現不可修復的故障,使用快照可以恢復操作系統; CentOS7——拍照—…

【開源】基于RMBG的一鍵摳圖與證件照制作系統【含一鍵啟動包】

《博主簡介》 小伙伴們好,我是阿旭。專注于人工智能、AIGC、python、計算機視覺相關分享研究。 ?更多學習資源,可關注公-仲-hao:【阿旭算法與機器學習】,共同學習交流~ 👍感謝小伙伴們點贊、關注! 《------往期經典推…

【Linux】System V信號量詳解以及semget()、semctl()和semop()函數講解

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃個人主頁 :阿然成長日記 …

Kotlin構造函數

目錄 構造函數類型 主構造函數 成員變量設置 私有化操作 次級構造函數 構造函數類型 主構造函數(主構造器)——只能有一個次構造函數(次構造器)——可以是多個 主構造函數 構造器 constructor關鍵字前 無注解或修飾符作用&…

性能監控的革命:Eureka引領分布式服務監控新紀元

性能監控的革命:Eureka引領分布式服務監控新紀元 引言 在微服務架構中,服務的分布式性能監控對于維護系統健康和優化用戶體驗至關重要。Eureka作為Netflix開源的服務發現框架,為服務的注冊與發現提供了強大支持,而結合其他工具&…

數字化轉型:企業法務管理的未來發展 ???

在數字化浪潮的推動下,企業法務管理正經歷著前所未有的變革。傳統的法務工作模式在數據處理、合同審查、風險評估等方面逐漸顯得力不從心。面對這一挑戰,企業法務管理的數字化轉型成為提升效率、保障合規、優化法律服務的必然選擇。 數字化轉型涉及到法…

HTML(30)——動畫

動畫 實現步驟 定義動畫 keyframes 動畫名稱{ from{} to{} } keyframes 動畫名稱{ 0%{} 10%{} .... 100%{} } 2.使用動畫 animation:動畫名稱 動畫花費時間; 示例&#xff1a;盒子的寬度從200變到400px&#xff0c;兩個狀態一般用from to的形式 <style>.box {width: …

解析Xml文件并修改QDomDocument的值

背景&#xff1a; 我需要解決一個bug&#xff0c;需要我從xml中讀取數據到QDomDocument&#xff0c;然后獲取到我想要的目標信息&#xff0c;然后修改該信息。 ---------------------------------------------------------------------------------------------------------…

各大常用代碼編輯器的快捷鍵集合

visualstudio2017 快捷鍵 多行注釋 crtl / 取消多行注釋crtl Q 代碼跳轉返回 crtl /- visualcode快捷鍵 代碼跳轉返回 crtl 左鍵/右鍵 androidstudio快捷鍵 代碼跳轉返回 crtl alt 左鍵/右鍵

VUE中ECharts提示框tooltip自動切換

目錄 前言1導入插件2定義參數3 插件API 前言 使用VUE開發的數據大屏統計&#xff0c;又需要將 echarts的提示框 tooltip 實現自動切換&#xff0c;網上有個很簡單的插件&#xff08;echarts-tooltip-auto-show&#xff09;&#xff0c;使用教程簡單分享給大家。 自動每隔幾秒切…

哦華為倉頡語言

本來我不太想說的&#xff0c;奈何有不少粉絲提問提到了這語言&#xff0c;目前的情況我不透露太多&#xff0c;看過這課程C實現一門計算機編程語言到手擼虛擬機實戰的懂的自然懂。 在互聯網領域幾乎大部分應用軟件運行在X86 LINUX上居多&#xff0c;如果你有問題可以先學習這…

多版本python環境中,讓python3固定指向其中一個python可執行文件

如果你只安裝一個python環境&#xff0c;那么一般可執行文件名就叫python.exe和pythonw.exe 但是如果你有多個python環境時&#xff0c;可執行文件名是需要進行修改的&#xff0c;使得在安裝庫和調用時能夠分辨python環境&#xff0c;比如我的電腦中裝有python3.10和python2.x …

Transformer模型論文解讀、源碼分析和項目實踐

本文是ChatGPT系列的開篇之作&#xff0c;為什么吧Transformer放到這里呢&#xff0c;因為不管是chatgpt-1&#xff0c; chatgpt-2&#xff0c; chatgpt-3都是以Transformer作為底層基礎來實現&#xff0c;相當于chatgpt系列的老祖先了。如果想要深入的了解清楚chatgpt的來龍去…

AcWing 4173. 線段 (貪心)

數軸上有 n 條線段&#xff0c;選取其中 k 條線段使得這 k&#x1d458; 條線段兩兩沒有重合部分&#xff0c;問 k 最大為多少。 輸入格式 第一行為一個正整數 n&#xff1b; 在接下來的 n 行中&#xff0c;每行有 2 個數 ai,bi&#xff0c;描述每條線段的左右端點坐標。 輸…

BUUCTF[堆][of_by_one]

堆中of_by_one 介紹&#xff1a; 嚴格來說 off-by-one 漏洞是一種特殊的溢出漏洞&#xff0c;off-by-one 指程序向緩沖區中寫入時&#xff0c;寫入的字節數超過了這個緩沖區本身所申請的字節數并且只越界了一個字節。溢出字節為可控制任意字節 &#xff1a;通過修改大小(size…

token無感刷新方法

1.這里推薦去看這個老師的視頻,我的方案都是根據他的視頻來的視頻地址 2.這邊使用的工具是axios import axios from axios const service axios.create({baseURL: ,headers: {Authorization: token 你自己的token,},timeout: 1000 * 60, })// 攔截響應 service.interceptors…

Spring AOP源碼篇四之 數據庫事務

了解了Spring AOP執行過程&#xff0c;再看Spring事務源碼其實非常簡單。 首先從簡單使用開始, 演示Spring事務使用過程 Xml配置&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema…

【北京迅為】《i.MX8MM嵌入式Linux開發指南》-第一篇 嵌入式Linux入門篇-第十六章 Linux 第一個程序 HelloWorld

i.MX8MM處理器采用了先進的14LPCFinFET工藝&#xff0c;提供更快的速度和更高的電源效率;四核Cortex-A53&#xff0c;單核Cortex-M4&#xff0c;多達五個內核 &#xff0c;主頻高達1.8GHz&#xff0c;2G DDR4內存、8G EMMC存儲。千兆工業級以太網、MIPI-DSI、USB HOST、WIFI/BT…

S271系列RTU在旅游景區人流監控中的應用案例

S271系列RTU在旅游景區人流監控中的應用案例 隨著全球旅游業的迅猛發展&#xff0c;旅游景區的管理者越來越關注如何利用先進的技術手段提升游客體驗、優化管理效率以及確保安全。S271系列RTU作為一款先進的無線工業物聯網設備&#xff0c;在旅游景區的人流監控中展現出了其獨…