[大模型]本地离线运行openwebui+ollama容器化部署

news/2025/1/15 17:04:46/

本地离线运行Openweb-ui ollama容器化部署

  • 说明
  • 安装
    • internet操作
    • 内网操作
  • 问题
    • 线程启动错误
    • 最终命令
  • 总结

说明

最近公司有一个在内网部署一个离线大模型的需求,网络是离线状态,服务器有A100GPU,一开始是想折腾开源chatGML4大模型,因为使用过gml3,所以想着部署gml4应该不难。于是把模型和程序下载好,把模型导入到内网…发现不能使用网页版运行,只能使用客户端运行,用自带网页需要依赖gradio组件,该组件又需要联网…好吧,如果您知道怎么离线运行,请视我无知…于是查询,更换了一种更便捷的方案部署。Open-webui+ollama的方案,Open-webui是网页界面服务,ollama是大模型运行框架,支持多种大模型,只需要选择切换就能切换不同模型运行了。开整!

安装

internet操作

这里使用docker镜像容器的方式安装,简化部署和运行。
1.拉取镜像,这里虽然可以分别拉取Open-webui和ollama镜像,但是我仍然推荐你拉取一个镜像就好了。

docker pull ghcr.io/open-webui/open-webui:ollama

拉取完这个镜像,run起来就算部署完了。这个镜像是包含两个组件,并且是openwebui官网提供说明的下载地址。可能会有点慢,但是实测是可以拉取下来的。
2.run起镜像来。

docker run -d -p 3000:8080 --gpus=all -v /raid/Test/ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama

这里的-v是目录映射
-p是端口映射
–name是容器名称
其他的就不做说明了。

3.到这里,理论上是可以进入到网页了
用浏览器打开[ip地址:3000]。
ip地址是运行该镜像机器地址
记得防火墙关闭或者运行3000端口暴露。

4.下载模型。这里下载模型可以通过网页,选择,搜索模型,进行下载。至于模型的名字就去官网
ollama.com搜索
在这里插入图片描述
再推荐一种下载方法:
a,登陆到启动的容器
docker exec -it open-webui /bin/bash

b,执行拉取命令

ollama pull EntropyYue/longwriter-glm4:9b
ollama pull llama3.3
ollama pull gemma:7b
ollama pull deepseek-coder-v2:16b

每条命令拉取一个大模型,这个看自己需求吧,每一个大小不同。有一个就行了。下完一个,模型会默认存储到.ollama目录下。这个也是需要拷贝的内容。

5.拷贝下载。
a,拷贝镜像。拉取的镜像需要保存为tar

docker save -o openwebui_ollama.tar ghcr.io/open-webui/open-webui:ollama

这个会保存到当前目录,这是需要拷贝到内网找中的。

b,拷贝模型,这里模型在/raid/Test/ollama目录下,一起打包。导入内网就行了。

内网操作

拷贝进来,就解压。运行就行了。

加载镜像

docker load < openwebui_ollama.tar

run起来,这里的run命令还是跟之前操作一致,但是模型目录可以修改为内网机的目录就行,或者建立一样的目录就行了。

问题

理论上,run起来就可以用浏览器打开使用了。但是可能会卡在OI界面…查看容器日志,才发现有问题。

线程启动错误

OpenBLAS blas threas_init; pthread_create faiied for thread 23 of 64: Operation not permitted

网上说要下载模型,还挺麻烦的。

git lfs install
git clone https://hf-mirror.com/sentence-transformers/all-MiniLM-L6-v2

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这个问题,还是因为openwebui需要下载一个离线文件,但是通过官网说明,只要加一个环境变量即可。
在这里插入图片描述

最终命令

docker run -d -p 3000:8080 --gpus=all -v /raid/Test/ollama:/root/.ollama -e HF_HUB_OFFLINE=1 -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama

总结

1.下载好镜像,并运行起来
2.进入容器中,执行命令拉取ollama模型
3.将镜像保存,和拉取的ollama模型保存
4.拷贝到内网,用最终命令run起镜像,防火墙运行端口
5.浏览器访问,愉快使用。

编辑:myhappyandy


http://www.ppmy.cn/news/1563372.html

相关文章

Trimble自动化激光监测支持历史遗产实现可持续发展【沪敖3D】

故事桥&#xff08;Story Bridge&#xff09;位于澳大利亚布里斯班&#xff0c;建造于1940年&#xff0c;全长777米&#xff0c;横跨布里斯班河&#xff0c;可载汽车、自行车和行人往返于布里斯班的北部和南部郊区。故事桥是澳大利亚最长的悬臂桥&#xff0c;是全世界两座手工建…

SpringBoot 基础学习

对于SpringBoot的了解&#xff0c;在初学者的角度看来&#xff0c;它是一种工具&#xff0c;用于简化一个Spring项目的初始搭建和开发过程。 1 入门案例 1.1 项目的创建 有四种方法创建&#xff0c;可以通过idea快捷创建&#xff0c;Spring的官网创建&#xff0c;阿里云创建&am…

在 Rider 中使用 C# 创建 Windows 窗体应用 Winforms

1&#xff0c;创建项目 new solution 创建一个解决方案 2&#xff0c;打开设计器 在 Form1.cs 上右键打开设计器 认识一下 Rider 的界面 参考微软官方的例子&#xff0c;添加如下属性&#xff1a;注&#xff1a;这里 Listbox 的大小设置成 120, 94 失败&#xff0c;默认的是 12…

PySpark用sort-merge join解决数据倾斜的完整案例

假设有两个大表 table1 和 table2 &#xff0c;并通过 sort-merge join 来解决可能的数据倾斜问题。 from pyspark.sql import SparkSession from pyspark.sql.functions import col# 初始化SparkSession spark SparkSession.builder.appName("SortMergeJoinExample&quo…

SpringBoot:SaToken的options预检请求鉴权失败

问题描述 使用如下sa-token配置&#xff0c;前端通过IP端口号的方式访问后端服务&#xff0c;会存在options预检请求鉴权失败的问题。 问题分析 http-options请求 HTTP OPTIONS 方法请求给定的 URL 或服务器的允许通信选项。客户端可以用这个方法指定一个 URL&#xff0c;或者…

MFC界面库ToolkitPro v15.3.1的编译和使用教程(支持VS2015和VS2017)

一、ToolkitPro v15.3.1库的下载 界面库全称为Codejock Xtreme Toolkit Pro&#xff0c;目前可以免费使用的版本为v15.3.1&#xff0c;可以在CSDN上搜索下载&#xff0c;有很多&#xff0c;比如 https://download.csdn.net/download/nizheng96/11151867 二、ToolkitPro v15.3…

IDEA的Java注释在Toggle Rendered View下的字号调整方式

记录IntelliJ IDEA的Java注释在Toggle Rendered View下的字号调整方式 如图&#xff0c;在Toggle Rendered View模式下的注释字号很大&#xff0c;与代码不协调&#xff0c;在此区域点击鼠标右键&#xff0c;选中 Adjust 出现一个滑动条&#xff0c;通过拖动游标调整字号大小…

单片机(MCU)-简单认识

简介&#xff1a; 内部集成了CPU&#xff0c;RAM&#xff0c;ROM&#xff0c;定时器&#xff0c;中断系统&#xff0c;通讯接口等一系列电脑的常用硬件功能。 单片机的任务是信息采集&#xff08;依靠传感器&#xff09;&#xff0c;处理&#xff08;依靠CPU&#xff09;&…