ToB企服应用市场:ToB评测及商务社交产业平台
标题:
Open WebUI 与 AnythingLLM 安装部署
[打印本页]
作者:
张国伟
时间:
2025-1-12 00:32
标题:
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的主要特点和功能包括:
用户界面和体验
:Open WebUI的界面筹划灵感来源于ChatGPT,提供直观且用户友好的聊天体验。它具有响应式筹划,适用于桌面和移动装备,而且响应迅速。
功能支持
:
多模型支持
:用户可以轻松切换和加载差别的AI模型,包括Ollama和Ollama兼容的API。支持无缝切换差别的聊天模型,进行多样化的互动。
RAG(检索加强天生)
:支持从文档和嵌入数据中提取内容进行处置惩罚,加强天生结果12。
多模态支持
:支持文本、图片等多种数据类型输入,比方LLaVA模型。
自界说功能
:用户可以通过模型管理工具自界说模型的参数,如温度和上下文长度等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支持几乎所有的主流大模型和多种文档类型,能够通过将文档、资源或内容片段转化为大语言模型在聊天中可以利用的相关上下文,从而满足用户在差别场景下的需求。
主要功能和应用场景
文档智能聊天
:用户可以将各种文档导入AnythingLLM,体系会自动进行上下文分析和内容整理,用户可以通过对话的方式快速提取关键信息。
多用户支持和权限管理
:支持多用户同时访问,并可设置差别的权限,适合团队协作和公司内部使用。
广泛的文档支持
:支持PDF、TXT、DOCX等多种文档类型,并通过浅易界面进行管理。
聊天模式
:提供对话和查询两种模式,对话模式保存之前的问题和回答,查询模式则是简单的问答。
嵌入式聊天小部件
:可以将AnythingLLM嵌入到自己的网站中,提供自动化的智能客服服务。
丰富的API接口
:开发者可以轻松集成AnythingLLM到现有的应用中,实现更多定制化功能。
技术特点和上风
高效
:通过RAG(Retrieval-Augmented Generation)方案构建专属私有知识库,结合大模型进行知识检索和天生。
多模型支持
:支持多种开源和商用闭源的大语言模型,用户可以根据需求和预算选择合适的模型34。
资本效益
:对大型文档一次性嵌入,显著节约资本。
浅易的部署方式
:可以通过Docker容器进行部署,适合快速迭代和云部署。
三类安装类型
AnythingLLM Desktop:一键安装,适合个人单机使用。不支持多用户、嵌入式聊天小部件、密码掩护、邀请新用户等高级功能。
AnythingLLM for Docker:通过Docker容器进行部署,支持多用户和权限控制,适合团队和企业,需要docker相关知识。可以通过Docker部署在各种情况中(如本地、云端),并支持更复杂的设置和管理。
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" && \
chmod -R o+w $STORAGE_LOCATION && \
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
复制代码
留意:上文比官方提供的安装下令增加了一句chmod设置权限。
因为:
在容器外的宿主机的当前用户对其创建的
$STORAGE_LOCATION
目次可完全访问,但宿主机上的其他用户(除root外)无权限
$STORAGE_LOCATION
目次。
对于AnythingLLM镜像,在制作时指明白需使用指令“USER anythingllm”去访问容器内的/app/server/.env文件和/app/server/storage目次,在容器内anythingllm的用户UID=1000。容器内anythingllm用户访问动作会映射为在宿主机上以相同UID(既UID=1000)的宿主机用户对
$STORAGE_LOCATION
目次的访问。
而宿主机上的UID=1000的用户,很可能不是执行以上下令的用户,因此宿主机上的UID=1000的用户无权限访问
$STORAGE_LOCATION
,导致anythingllm容器无权在app/server/storage目次上创建文件而报错。
因此,上面增加了一句chmod设置权限下令,使宿主机上的其他用户可以读写访问
$STORAGE_LOCATION
目次,进而实现容器内有权限读写访问。
3、使用AnythingLLM
通过欣赏器访问http://IP:3001
首次访问,按照引导提示一步步填写。
下文对话所使用的模型为Ollama上的qwen2.5-coder:latest
上面每个Thread为一个回话。 还以创建RAG(包括上传文档作为知识库)等。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4