Open WebUI 与 AnythingLLM 安装部署

  在前文 Ollama私有化部署大语言模型LLM(上)-CSDN博客 中通过Ollama来搭建运行私有化大语言模型,但缺少用户交互的界面,特别是Web可视化界面。

  对此,本文以Open WebUI和AnythingLLM为例分别作为Ollama的前端Web可视化界面。当然AnythingLLM比Open WebUI功能要丰富得多,不仅仅只作为Web可视化界面,还作为RAG等使用。具体差异可以参考此文章:AnythingLLM、Dify 与 Open-WebUI:如何接入 Ollama,它们有何不同?_anythingllm和webui哪个更好-CSDN博客

一、Open WebUI

  1、Open WebUI介绍

Open WebUI‌是一个开源的用户界面工具,专为离线运行设计,支持多种大型语言模型(LLM)的运行和管理。它最初是Ollama的WebUI,来发展成为独立的开源项目,兼容OpenAI格式。Open WebUI的主要特点和功能包括:

  1. 用户界面和体验‌:Open WebUI的界面设计灵感来源于ChatGPT,提供直观且用户友好的聊天体验。它具有响应式设计,适用于桌面和移动设备,并且响应迅速‌。

  2. 功能支持‌:

    • 多模型支持‌:用户可以轻松切换和加载不同的AI模型,包括Ollama和Ollama兼容的API。支持无缝切换不同的聊天模型,进行多样化的互动‌。
    • RAG(检索增强生成)‌:支持从文档和嵌入数据中提取内容进行处理,增强生成效果‌12。
    • 多模态支持‌:支持文本、图片等多种数据类型输入,例如LLaVA模型‌。
    • 自定义功能‌:用户可以通过模型管理工具自定义模型的参数,如温度和上下文长度等‌3。
    • 内存功能‌:支持用户为模型添加记忆,以便在对话中持续使用‌3。
  3. 安装和部署‌:Open WebUI支持通过Docker和Kubernetes进行无缝安装,使得部署和维护变得简单快捷‌。

 总结:Open WebUI适合纯粹聊天界面,它可作为一个能“轻松切换模型、马上对话”的 简易Web 界面,没有RAG等其他高级特性。

  2、安装Open WebUI

    参照官方文档:https://docs.openwebui.com/ 进行安装,推荐使用docker部署。

#运行Open WebUI
#选项-d为守护运行,-p将容器内的8080端口通过外部宿主机的3000端口暴露出去,
#选项--add-host增加容器内的hostname:ip的映射关系,因host-gateway默认指向default bridge的IP,所以下面的作用是在容器内可以通过host.docker.internal域名访问外部宿主机,
#选项-v将open-webui卷(若卷不存在则创建卷)映射至容器内的/app/backend/data目录,
#选项-name指定容器名,--restart指定重启策略为always
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main#或者:To run Open WebUI with Nvidia GPU support, use this command
docker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:cuda

以上docker run执行完成后,可以通过以下docker命令检查结果

  3、访问Open WebUI

  以上通过docker运行方式,Open WebUI会自动尝试通过http://host.docker.internal:11434 连接本地的Ollama服务端,并通过http://host.docker.internal:11434/api/tag接口自动获取Ollama本地已存在的模型列表

  通过浏览器访问http://IP:3000

首次访问,需要输入名称、电子邮箱、密码以创建管理员账号。

然后登录后的界面(可能需要等几十秒)如下。左侧是新对话、模型切换(通过连接到Ollama等获得的模型列表),右上角是对话高级设置、Open WebUI设置,右下角是帮助,中间是对话交界面。

在下图聊天界面中,下面有一排实用的功能如下。

二、AnythingLLM

    前面安装部署了Open WebUI,但个人感觉其功能界面比较简略,而且浏览器打开页面有时耗时较长,体验不佳。

  1、AnythingLLM介绍

AnythingLLM(官网:https://anythingllm.com/)是由Mintplex Labs Inc.开发的一款全栈应用程序,旨在为企业和个人提供一个高效、可定制的解决方案,用于构建专属的AI知识库和聊天机器人。AnythingLLM支持几乎所有的主流大模型和多种文档类型,能够通过将文档、资源或内容片段转化为大语言模型在聊天中可以利用的相关上下文,从而满足用户在不同场景下的需求‌。

主要功能和应用场景

  1. 文档智能聊天‌:用户可以将各种文档导入AnythingLLM,系统会自动进行上下文分析和内容整理,用户可以通过对话的方式快速提取关键信息‌。
  2. 多用户支持和权限管理‌:支持多用户同时访问,并可设置不同的权限,适合团队协作和公司内部使用‌。
  3. 广泛的文档支持‌:支持PDF、TXT、DOCX等多种文档类型,并通过简易界面进行管理‌。
  4. 聊天模式‌:提供对话和查询两种模式,对话模式保留之前的问题和回答,查询模式则是简单的问答‌。
  5. 嵌入式聊天小部件‌:可以将AnythingLLM嵌入到自己的网站中,提供自动化的智能客服服务‌。
  6. 丰富的API接口‌:开发者可以轻松集成AnythingLLM到现有的应用中,实现更多定制化功能‌。

技术特点和优势

  1. ‌‌高效‌:通过RAG(Retrieval-Augmented Generation)方案构建专属私有知识库,结合大模型进行知识检索和生成‌。
  2. 多模型支持‌:支持多种开源和商用闭源的大语言模型,用户可以根据需求和预算选择合适的模型‌34。
  3. 成本效益‌:对大型文档一次性嵌入,显著节约成本‌。
  4. 简易的部署方式‌:可以通过Docker容器进行部署,适合快速迭代和云部署‌。

三类安装类型

  1. ‌‌AnythingLLM Desktop:一键安装,适合个人单机使用。不支持多用户、嵌入式聊天小部件、密码保护、邀请新用户等高级功能。
  2. ‌‌AnythingLLM for Docker:通过Docker容器进行部署,支持多用户和权限控制,适合团队和企业,需要docker相关知识。可以通过Docker部署在各种环境中(如本地、云端),并支持更复杂的配置和管理。
  3. AnythingLLM托管‌‌:官方自己提供的SaaS产品,适合需要托管实例的企业或团队,起价为每月50美元‌。

官网关于Docker和Desktop的区别说明链接:https://docs.anythingllm.com/installation-docker/overview

  2、安装AnythingLLM

   以下的Linux服务器已经安装最新Docker,下面通过在Linux上以Docker方式安装AnythingLLM。官网安装说明文档链接:https://docs.anythingllm.com/installation-docker/local-docker

  docker方式安装AnythingLLM的命令:

export STORAGE_LOCATION=$HOME/anythingllm && \
mkdir -p $STORAGE_LOCATION && \
touch "$STORAGE_LOCATION/.env" && \
docker run -d -p 3001:3001 \
--cap-add SYS_ADMIN \
-v ${STORAGE_LOCATION}:/app/server/storage \
-v ${STORAGE_LOCATION}/.env:/app/server/.env \
-e STORAGE_DIR="/app/server/storage" \
mintplexlabs/anythingllm

   3、访问AnythingLLM

  通过浏览器访问http://IP:3001

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/67698.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

论文导读 | 数据库系统中基于机器学习的基数估计方法

背景 基数估计任务是在一个查询执行之前预测其基数,基于代价的查询优化器(Cost Based Optimizer)将枚举所有可能的执行计划,并利用估计的基数选出期望执行代价最小的计划,从而完成查询优化的任务。 然而,…

3D扫描建模有哪些优势和劣势?

3D扫描建模作为一种先进的数字化手段,在多个领域展现出了巨大的潜力和价值,但同时也存在一些劣势。以下是对3D扫描建模优势和劣势的详细分析: 3D扫描建模的优势 高精度数据采集: 三维扫描技术能够以极高的精度获取物体的三维数…

网络安全 信息收集入门

1.信息收集定义 信息收集是指收集有关目标应用程序和系统的相关信息。这些信息可以帮助攻击者了解目标系统的架构、技术实现细节、运行环境、网络拓扑结构、安全措施等方面的信息,以便我们在后续的渗透过程更好的进行。 2.收集方式-主动和被动收集 ①收集方式不同…

MBM指尖六维力触觉传感器:高灵敏度、低漂移,精准掌控力学世界

MBM指尖六维力触觉传感器是一种专为机器人设计的高性能传感器。它通过集成三轴力和三轴力矩的感知能力,能够精准捕捉复杂的力学信息。传感器采用MEMS与应变体复合测量技术,具备数字输出功能,显著降低漂移并减少安装偏移的影响。其紧凑轻便的设…

用 Python 绘制可爱的招财猫

✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连✨ ​​​​​ ​​​​​​​​​ ​​​​ 招财猫,也被称为“幸运猫”,是一种象征财富和好运的吉祥物,经常…

docker常用命令及dockerfile编写

docker常用命令及dockerfile编写 1.docker常用命令1.1镜像相关1.2容器相关1.3数据卷1.4网络模式 2.Dockerfile3.Dockerfile示例 1.docker常用命令 1.1镜像相关 镜像相当于是一个模板,可以实例化出很多个容器; #查看docker版本 docker -v#查看docker默…

2025新年源码免费送

2025很开门很开门的源码免费传递。不需要馒头就能获取4套大开门源码。 听泉偷宝,又进来偷我源码啦👊👊👊。欢迎偷源码 🔥🔥🔥 获取免费源码以及更多源码,可以私信联系我 我们常常…

springboot + vue+elementUI图片上传流程

1.实现背景 前端上传一张图片&#xff0c;存到后端数据库&#xff0c;并将图片回显到页面上。上传组件使用现成的elementUI的el-upload。、 2.前端页面 <el-uploadclass"upload-demo"action"http://xxxx.xxx.xxx:9090/file/upload" :show-file-list&q…

如何用 ESP32-CAM 做一个实时视频流服务器

文章目录 ESP32-CAM 概述ESP32-S 处理器内存Camera 模块MicroSD 卡槽天线板载 LED 和闪光灯其他数据手册和原理图ESP32-CAM 功耗 ESP32-CAM 引脚参考引脚排列GPIO 引脚哪些 GPIO 可以安全使用&#xff1f;GPIO 0 引脚MicroSD 卡引脚 ESP32-CAM 的烧录方式使用 ESP32-CAM-MB 编程…

Virgo:增强慢思考推理能力的多模态大语言模型

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

照片做成图书小程序开发制作介绍

照片做成图书小程序系统&#xff0c;主要是让用户直接通过小程序选择需要做成书的类型和照片排版布局模板&#xff0c;以及上传照片的数量。照片上传完成后&#xff0c;生成模板图片样式进行预览或编辑修改。修改完成全部保存。保存后生成完整的照片书进行预览没问题&#xff0…

《Spring Framework实战》10:4.1.4.2.详细的依赖和配置

欢迎观看《Spring Framework实战》视频教程 集合 <list/>、<set/>、<map/>和<props/>元素分别设置Java集合类型list、set、map和properties的属性和参数。以下示例显示了如何使用它们&#xff1a; <bean id"moreComplexObject" class&qu…

花生好坏缺陷识别数据集,7262张图片,支持yolo,coco json,pasical voc xml格式的标注,识别准确率在95.7%

花生好坏缺陷识别数据集,7262张图片&#xff0c;支持yolo&#xff0c;coco json&#xff0c;pasical voc xml格式的标注&#xff0c;识别准确率在95.7% 数据集分割 训练组87&#xff05; 6353图片 有效集8% 606图片 测试集4% 303图片 预处理 自动定…

WebLogic安全基线

WebLogic安全基线 一、 用户权限1 、检查weblogic 的启动用户2 、用户权限整改3 、使用普通用户重启weblogic 二、账户共用1 、检查weblogic 控制台的账户2 、账户共用整改3 、测试登录weblogic 控制台新账户 三、 账户清理1 、检查weblogic 控制台的账户2 、帐户清理整改 四、…

react-quill 富文本组件编写和应用

index.tsx文件 import React, { useRef, useState } from react; import { Modal, Button } from antd; import RichEditor from ./RichEditor;const AnchorTouchHistory: React.FC () > {const editorRef useRef<any>(null);const [isModalVisible, setIsModalVis…

TDv2:一种用于离线数学表达式识别的新型树形结构解码器

TDv2:一种用于离线数学表达式识别的新型树形结构解码器 本文提出了一种针对手写数学表达式识别(HMER)任务的新型树形解码器(TDv2) ,旨在充分利用数学表达式的树结构标签进行更有效的建模和预测。相较于传统的LaTeX字符串解码器,该模型通过采用一个节点分类模块和一个分…

银行信贷管理系统flask

完整源码项目包获取→点击文章末尾名片&#xff01;

WordPress静态缓存插件WP Super Cache与 WP Fastest Cache

引言 WordPress是一款开源的内容管理系统&#xff08;CMS&#xff09;&#xff0c;最初作为博客平台开发&#xff0c;现已发展成为一个功能强大的建站工具&#xff0c;支持创建各种类型的网站&#xff0c;包括企业网站、在线商店、个人博客等。它具有用户友好的界面、丰富的插…

onLoad 生命周期函数是否执行取决于跳转的方式和小程序的页面栈管理机制

文章目录 1. 页面跳转方式2. 你的场景分析3. 页面生命周期4. 总结5. 建议 在微信小程序中&#xff0c;页面跳转时&#xff0c; onLoad 生命周期函数是否执行取决于跳转的方式和小程序的页面栈管理机制。以下是详细说明&#xff1a; 1. 页面跳转方式 微信小程序提供了多种页面…

【深度学习】通俗理解偏差(Bias)与方差(Variance)

在统计学习中&#xff0c;我们通常使用方差与偏差来衡量一个模型 1. 方差与偏差的概念 偏差(Bais)&#xff1a; 预测值和真实值之间的误差 方差(Variance)&#xff1a; 预测值之间的离散程度 低偏差低方差、高偏差低方差&#xff1a; 图中每个点表示同一个模型每次采样出不同…