论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
运维.售后
›
运维.售后
›
Docker+Ollama+WebUI+AnythingLLM,构建企业当地AI大模 ...
Docker+Ollama+WebUI+AnythingLLM,构建企业当地AI大模型
飞不高
论坛元老
|
2024-7-14 19:16:30
|
显示全部楼层
|
阅读模式
楼主
主题
1539
|
帖子
1539
|
积分
4617
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
概要
Ollama 是一个强大的大模型提供者,它通过开源的方式,为
开发
者和企业提供了先进的大型语言模型(LLM)。这些模型拥有处理处罚和天生复杂语言任务的本领,为各种应用场景提供了强大的基础。
Open WebUI 则进一步增强了用户体验,它提供了一个高度可视化和用户友爱的对话界面。这个界面不仅美观,而且功能丰富,使用户可以或许轻松地与背后的大模型举行交互,无论是通过文本聊天照旧其他交互方式。
AnythingLLM 则是在这个基础上的一个创新工具,它允许用户使用 Ollama 提供的大模型本领,并结合当地数据,构建和定制符合个人或企业特定需求的 AI 大模型。AnythingLLM 的灵活性和定制性意味着用户可以根据本身的特定业务场景和需求,创建和优化 AI 解决方案,从而在保证数据安全和隐私的同时,实现更加个性化和高效的服务。
通过 AnythingLLM,用户可以轻松地将当地文档、资料和数据集成到 AI 模型中,实现智能检索、内容天生、问答体系等多样化功能。这不仅进步了工作效率,还增强了决策支持的本领。AnythingLLM 的多用户支持和精细的权限管理,使得团队协作变得更加简单和安全。
总的来说,Ollama、Open WebUI 和 AnythingLLM 的结合,为用户提供了一个从模型提供到界面交互,再到个性化定制的完整解决方案,使得构建和部署 AI 大模型变得更加轻易、高效和安全。
Ollama部署
获取Ollama镜像
:
使用Docker从镜像仓库拉取Ollama镜像:
docker pull ollama/ollama
复制代码
创建Ollama宿主机挂载目录
:
在宿主机上创建一个目录用于Ollama数据的持久化存储:
mkdir -p /data/docker/ollama/data
复制代码
修改目录权限
chmod -R 777 /data/docker/ollama
复制代码
启动Ollama容器
使用以下命令启动Ollama容器,并将数据目录挂载到容器中:
docker run \
-d \
--restart always \
--name ollama \
--privileged=true \
-p 11434:11434 \
-v /data/docker/ollama/data:/root/.ollama \
ollama/ollama
复制代码
其中:
-d 表现后台运行容器。
--restart always 设置容器的重启策略。
--name ollama 为容器指定一个名称。
--privileged=true 使容器以特权模式运行,这将给予容器险些类似于宿主机的权限。
-p 11434:11434 \ 将容器的11434端口映射到宿主机的11434端口。
-v /data/docker/ollama/data:/root/.ollama 将宿主机的数据目录挂载到容器中。
ollama/ollama 指定要使用的ollama镜像和版本(latest)。
测试Ollama服务
:
进入Ollama容器:
docker exec -it ollama /bin/bash
复制代码
从Ollama仓库拉取gemma模型, 可从官网查看有哪些模型
ollama pull gemma:2b
复制代码
查看当地有哪些模型
ollma list
复制代码
使用gemma:2b大模型, 然后与开启对话
ollama run gemma:2b
复制代码
WebUI部署
获取open-webui镜像
:
使用Docker从镜像仓库拉取open-webui镜像:
docker pull m.daocloud.io/ghcr.io/open-webui/open-webui:main
复制代码
创建open-webui宿主机挂载目录
:
在宿主机上创建一个目录用于open-webui数据的持久化存储:
mkdir -p /data/docker/open-webui/data
复制代码
修改目录权限
chmod -R 777 /data/docker/open-webui
复制代码
启动AnythingLLM容器
使用以下命令启动open-webui容器,并将数据目录挂载到容器中:
docker run \
-d \
--restart always \
--name open-webui \
--privileged=true \
-p 3000:8080 \
-e OLLAMA_BASE_URL="http://{ollma服务IP}:11434"
-v /data/docker/open-webui/data:/app/backend/data \
m.daocloud.io/ghcr.io/open-webui/open-webui:main
复制代码
其中:
-d 表现后台运行容器。
--restart always 设置容器的重启策略。
--name open-webui 为容器指定一个名称。
--privileged=true 使容器以特权模式运行,这将给予容器险些类似于宿主机的权限。
-p 3000:8080 \ 将容器的3000端口映射到宿主机的8080端口。
-v /data/docker/open-webui/data:/app/backend/data 将宿主机的数据目录挂载到容器中。
m.daocloud.io/ghcr.io/open-webui/open-webui:main 指定要使用的open-webui镜像
测试open-webui服务
:
通过欣赏器输入http://{宿主机IP}:3000/auth即可开始访问
AnythingLLM部署
获取AnythingLLM镜像
:
使用Docker从镜像仓库拉取AnythingLLM镜像:
docker pull mintplexlabs/anythingllm
复制代码
创建AnythingLLM宿主机挂载目录
:
在宿主机上创建一个目录用于AnythingLLM数据的持久化存储:
mkdir -p /data/docker/anythingllm/data
复制代码
在宿主机上创建一个目录用于存放AnythingLLM的环境变量信息
mkdir -p /data/docker/anythingllm/env
复制代码
修改目录权限
chmod -R 777 /data/docker/anythingllm
复制代码
创建环境变量文件
创建配置文件env.txt
cd /data/docker/anythingllm/env
touch env.txt
复制代码
增加环境变量信息
SERVER_PORT=3001
STORAGE_DIR="/app/server/storage"
UID='1000'
GID='1000'
复制代码
启动AnythingLLM容器
使用以下命令启动AnythingLLM容器,并将数据目录挂载到容器中:
docker run \
-d \
--restart always \
--name anythingllm \
--cap-add SYS_ADMIN \
--privileged=true \
-p 3014:3001 \
-v /data/docker/anythingllm/data:/app/server/storage \
-v /data/docker/anythingllm/env/env.txt:/app/server/.env \
mintplexlabs/anythingllm
复制代码
其中:
-d 表现后台运行容器。
--restart always 设置容器的重启策略。
--name anythingllm 为容器指定一个名称。
--cap-add SYS_ADMIN 添加SYS_ADMIN本领给容器,这意味着容器将获得更多的体系管理权限,比如举行磁盘管理、网络配置等
--privileged=true 使容器以特权模式运行,这将给予容器险些类似于宿主机的权限。
-p 3014:3001 \ 将容器的3014端口映射到宿主机的3001端口。
-v /data/docker/anythingllm/data:/app/server/storage 将宿主机的数据目录挂载到容器中。
/data/docker/anythingllm/env/env.txt:/app/server/.env 将宿主机的配置文件挂载到容器中。
mintplexlabs/anythingllm 指定要使用的AnythingLLM镜像和版本(latest)。
测试AnythingLLM服务
:
通过欣赏器输入http://{宿主机IP}:3041即可开始访问
Docker-Compose部署管理全部容器
将上面的docker run命令转换为docker-compose.yml文件,并设置open-webui和anythingllm服务依赖于ollama服务,方便管理
version: '3.8'
services:
ollama:
image: ollama/ollama
container_name: ollama
restart: always
privileged: true
ports:
- "11434:11434"
volumes:
- /data/docker/ollama/data:/root/.ollama
networks:
- llm_network
open-webui:
image: m.daocloud.io/ghcr.io/open-webui/open-webui:main
container_name: open-webui
restart: always
privileged: true
ports:
- "3000:8080"
environment:
OLLAMA_BASE_URL: "http://ollama:11434"
volumes:
- /data/docker/open-webui/data:/app/backend/data
depends_on:
- ollama
networks:
- llm_network
anythingllm:
image: mintplexlabs/anythingllm
container_name: anythingllm
restart: always
cap_add:
- SYS_ADMIN
privileged: true
ports:
- "3014:3001"
volumes:
- /data/docker/anythingllm/data:/app/server/storage
- /data/docker/anythingllm/env/env.txt:/app/server/.env
depends_on:
- ollama
networks:
- llm_network
networks:
llm_network:
driver: bridge
复制代码
这个docker-compose.yml文件中定义了三个服务:ollama、open-webui和anythingllm。每个服务都有本身的配置,包括镜像、容器名称、重启策略、特权模式、端口映射和卷挂载。
environment: 用于设置环境变量,这里open-webui服务设置了OLLAMA_BASE_URL环境变量,指向ollama服务。
depends_on: 此选项用于指定服务依赖,确保open-webui和anythingllm服务在ollama服务启动后再启动。
请确保将/data/docker/...路径替换为实际的宿主机路径,大概根据必要创建这些目录。
要使用此docker-compose.yml文件启动服务,你必要在包罗该文件的目录中打开终端,然后运行:
docker-compose up -d
复制代码
这将按照文件中定义的配置启动全部服务。如果你想停止服务,可以使用:
docker-compose down
复制代码
这将停止并移除容器,但不会删除卷。如果你必要重新构建服务大概对配置举行了更改,可以使用:
docker-compose up --build
复制代码
这将重建任何已更改的服务的镜像。
小结
参考文章
ollam官网
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
飞不高
论坛元老
这个人很懒什么都没写!
楼主热帖
Java集合的lastlastIndexOfSubList()方 ...
WPF开发经验-实现自带触控键盘的TextBo ...
如何在 K8S 集群范围使用 imagePullSec ...
Python批量采集百度资讯文章,如何自定 ...
【关系型数据库】事务特性及事务隔离级 ...
微信小程序集合3(百度小说+电商+仿哗 ...
MapReduce开发
瓦片地图
浅谈售前的业务思维
mysql总结
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
数据仓库与分析
Oracle
物联网
SQL-Server
快速回复
返回顶部
返回列表