一键部署本地AI大模型,全脚本实现

一、快捷部署

#!/bin/bash
#################################################################################
# 作者:cxy@toctalk@hwy 2024-04-09                                                 
# 功能:自动部署Ollama(Docker方式) 
# 说明:如果已安装了Docker,请注释掉 install_docker,避免重复安装                                                                 
#################################################################################

info(){
  echo -e "\033[34m 【`date '+%Y-%m-%d %H:%M:%S'`】\033[0m" "\033[35m$1\033[0m "
}
install_docker(){
#!/bin/bash
info "安装依赖..."
yum -y install gcc
yum -y install gcc-c++

##验证gcc版本
gcc -v
info "安装Docker(指定版本:23.0.6)"
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O/etc/yum.repos.d/docker-ce.repo
##更新yum软件包索引
yum makecache fast

## 安装docker ce cli
# 查看可安装版本:yum list docker-ce --showduplicates | sort -r
yum -y install docker-ce-23.0.6-1.el7 docker-ce-cli-23.0.6-1.el7

info "启动Docker并验证"
systemctl enable docker && systemctl start docker
docker version
## 创建加速器
#cd /etc/docker
#if [ ! -f "$daemon.json" ]; then
#  touch "$daemon.json"
#else
#  rm -rf daemon.json
#  touch "$daemon.json"
#fi
#tee /etc/docker/daemon.json <<-'EOF'
#{
#	"registry-mirrors": ["https://自己的镜像加速器地址"]
#}
#EOF
#systemctl daemon-reload
#systemctl restart docker
info "Docker(23.0.6)安装完毕!"
}
# 安装 Ollama
install_Ollama(){
 info "参考IP地址:"$(hostname -I)

 read -p "请问,您当前服务器的内网IP地址是?:" inner_ip

 inner_ip="${inner_ip:-127.0.0.1}"

 docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama --restart always ollama/ollama
 info "ollama部署完毕,开始下载gemma大模型..."

 docker exec -it ollama ollama run gemma “你好”
 info "gemma大模型加载完成,开始部署webui界面..."

 docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=http://${inner_ip}:11434 -v open-webui:/app/backend/data --name open-webui --restart always ghcr.nju.edu.cn/open-webui/open-webui:main

 eip=$(curl ifconfig.me/ip)

 info "部署完毕,正在启动WEBUI界面,大约5分钟后,请访问:http://${eip}:3000"
}

install_docker
install_Ollama

使用方法:

$ vim install-ollama-centos7.sh
$ chmod +x install-ollama-centos7.sh
$ ./install-ollama-centos7.sh
# 感谢淘客科技提供的实验资源环境

验证:

1、docker ps (能看到2个容器实例正在运行)
2、浏览器访问:http://eip:3000 (需要等待WEBUI启动,并且放通了3000端口的访问规则)

# open-webui启动有些慢,通过日志查看进度
$ docker logs -f open-webui

ollama-控制台.png

注意事项:
1、目前镜像及大模型下载速度尚可,但由于容量较大,所以建议使用100Mbit/s以上的带宽。
2、2个容器镜像大小约为4G左右,大模型采用Gemma:9B,大约4.7G。
3、Ollama启动方式采用CPU only,由于没有GPU,所以运行速度较慢,建议采用16核以上的服务器。
4、为了降低入门体验门槛,所以规避掉了对于硬件GPU的要求,如想“顺滑”体验,还请使用带GPU的基础设施。
5、脚本部署过程,控制台会提示,输入内网IP地址,输入后才会继续执行,切勿一直等待。
6、本文脚本不适用于带GPU的设备,如有需要,请参见官网或关注后续博文。

二、入门体验

chat界面.png

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

机器学习波士顿房价

流程 数据获取导入需要的包引入文件,查看内容划分训练集和测试集调用模型查看准确率 数据获取 链接&#xff1a;https://pan.baidu.com/s/1deECYRPQFx8h28BvoZcbWw?pwdft5a 提取码&#xff1a;ft5a --来自百度网盘超级会员V1的分享导入需要的包 import pandas as pd imp…

关于Wordpress的操作问题1:如何点击菜单跳转新窗口

1.如果打开&#xff0c;外观-菜单-菜单结构内&#xff0c;没有打开新窗口属性&#xff0c;如图&#xff1a; 2.在页面的最上部&#xff0c;点开【显示选项】&#xff0c;没有这一步&#xff0c;不会出现新跳转窗口属性 3.回到菜单结构部分&#xff0c;就出现了

【嵌入式开发】SecureCRTPortable工具进行串口信息监听打印

SecureCRTPortable工具进行串口信息监听打印 一、什么是SecureCRT二、如何使用SecureCRT进行串口监听1、硬件连接2、驱动安装3、软件连接4、串口连接5、日志设置 近期发现许多小伙伴欠缺SSH工具使用基础&#xff0c;工欲善其事&#xff0c;必先利其器&#xff0c;这里奉上使用教…

虚拟机中的打印机,无法打印内容,打印的是白纸或英文和数字,打印不了中文

原因&#xff1a;打印机驱动设置不正确 解决方案&#xff1a; 打开打印机属性 -> 高级 -> 新驱动程序 下一页 -> Windows 更新 耐心等待&#xff0c;时间较长。 选择和打印机型号匹配的驱动&#xff0c;我选择的是&#xff1a; 虽然虚拟机和主机使用的驱动不…

Linux 进程间通信 管道系列: 匿名和命名管道,自定义shell当中命令行管道的模拟实现

Linux 进程间通信1: 匿名和命名管道以及进程池的实现 一.进程间通信的介绍1.为什么要进程进程间通信?2.什么是进程间通信3.进程间通信的具体做法 二.管道1.从文件的角度理解什么是管道? 三.匿名管道1.验证代码2.四种情况1.写端不写,且不退2.读端不读,且不退3.写端不写,退了4.…

xhs图片获取并且转换成PDF,实现了我考研期间一直想实现的想法

对于一些xhs图文&#xff0c;很多人其实想把它的图片保存到本地&#xff0c;尤其是下图所示的考研英语从文章中背单词&#xff0c;不说别人&#xff0c;我就是这样的。 我在考研期间就想实现把图片批量爬取下来&#xff0c;转成PDF&#xff0c;方便一篇一片阅读进行观看&#…

mysql报错-mysql服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止和数据恢复

启动mysql服务时出现该错误: 本地计算机上的mysql服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止。 我的mysql版本是8.0.18 系统&#xff1a;win10 如何安装mysql&#xff0c;可以看我这一篇文章&#xff1a;mysql的安装 ---必会 - bigbigbrid - 博客园 (cn…

腾讯面试准备-2024.3.25

腾讯面试准备-2024.3.25 腾讯面试准备-2024.3.25自我介绍C11/14/17新特性C11新特性C14新特性C17新特性 struct和class的区别进程状态现代的流媒体通信协议栈流媒体协议详解extern "C"程序从编译到执行的过程进程、线程、协程进程线程协程 如何实现一个信号与槽系统&a…

Binary Heap 二叉堆 (二)

一、二叉堆 二叉堆本质上是一种完全二叉树。 它分为两类&#xff1a;最大堆和最小堆。最大堆的任何一个父节点的值都大于或等于它左右孩子节点的值&#xff1b;最小堆的任何一个父节点的值&#xff0c;都小于或等一它左右孩子节点的值。 二叉堆虽然是一个完全二叉树&#xff0c…

国产数据库实践:亚信安慧AntDB在DTC 2024展示创新实力

4月12至13日&#xff0c;我国数据库行业最具影响力的活动之一——第十三届『数据技术嘉年华』(DTC 2024) 在京成功举办&#xff0c;业内众多专家学者、技术领袖、各行业客户和实力厂商均到场参会。亚信安慧AntDB数据库总架构师洪建辉受邀参与“数据库一体化”专题论坛&#xff…

XDEFIANT不羁联盟怎么申请测试 不羁联盟参与测试教程

《不羁联盟》有五个独具特色的阵营可供选择&#xff1a;自由武装、暗影小队、梯队、净化者、DedSec&#xff0c;全部出自育碧知名的角色与世界。无论是拥有“声纳护目镜”超能的梯队探员&#xff0c;还是拥有黑入对手设备能力的 DedSec&#xff0c;每个阵营都有自己的一套独特技…

MySQL 8.0 新特性之 Clone Plugin

个人感觉&#xff0c;主要还是为 Group Replication 服务。在 Group Replication 中&#xff0c;如果要添加一个新的节点&#xff0c;这个节点差异数据的补齐是通过分布式恢复&#xff08; Distributed Recovery &#xff09;来实现的。 在 MySQL 8.0.17 之前&#xff0c;只支…

第二证券|突发!美联储释放重磅信号,中国资产大涨

美联储稀有开释“加息”信号。 北京时刻4月18日晚间&#xff0c;有“美联储三把手”之称的享有FOMC&#xff08;美国联邦公开商场委员会&#xff09;永久投票权的美国纽约联储主席威廉姆斯宣布说话。他正告称&#xff0c;假如数据显现&#xff0c;美联储需求加息&#xff0c;以…

Python Flask Web框架快速入门

Flask 入门Demo Flask 开发环境搭建&#xff0c;执行如下指令&#xff1a; pip install flask # 第一节: Flask 快速入门from flask import Flask app Flask(__name__)app.route(/flask) def hello_flask():return Hello Flaskapp.run() 核心代码剖析&#xff1a; 从 fla…

【机器学习】小波变换在特征提取中的实践与应用

小波变换在特征提取中的实践与应用 一、小波变换的基本原理与数学表达二、基于小波变换的特征提取方法与实例三、小波变换在特征提取中的优势与展望 在信号处理与数据分析领域&#xff0c;小波变换作为一种强大的数学工具&#xff0c;其多尺度分析特性使得它在特征提取中扮演着…

2024最新面试跳槽,软件测试面试题的整理与解析

今天接着来说说测试工程师面试比较高频的面试题&#xff0c;大家可以通过面试题内的一些解析再结合自己的真实工作经验来进行答题思路的提取、整理。 硬背答案虽可&#xff0c;但容易翻车哦。能够举一反三才是重点&#xff01; 1&#xff1a;请介绍一下UI自动化测试中三种时间等…

解线性方程组——上三角、下三角,回代算法 | 北太天元

解上三角(回代) a i i ≠ 0 a_{ii\neq0} aii0​ , i 1 , 2 , … , n i1,2,\ldots,n i1,2,…,n a 11 x 1 a 12 x 2 ⋯ a 1 n x n b 1 a 22 x 2 ⋯ a 2 n x n b 2 ⋯ a n n x n b n \begin{aligned} a_{11}x_1a_{12}x_2\cdotsa_{1n}x_n&b_1 \\ a_{22}x_2\cdotsa_…

从零开始搭建社交圈子系统:充实人脉的最佳路径

线上交友圈&#xff1a;拓展社交网络的新时代 线上交友圈是社交网络的新引擎&#xff0c;提供了更广泛的社交机会&#xff0c;注重共同兴趣的连接&#xff0c;强调多样性的社交形式&#xff0c;更真实地展示自己&#xff0c;让朋友更全面地了解我们的生活状态。虽然虚拟交往存在…

【智能算法】饥饿游戏搜索算法(HGS)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献 1.背景 2021年&#xff0c;Yang等人受到自然界饥饿驱动的活动和动物的行为选择启发&#xff0c;提出了饥饿游戏搜索算法&#xff08;Hunger Games Search, HGS&#xff09;。 2.算法原理 2.1算法思想 HGS…

SPN的相关利用(下)

Kerberoasting kerberos通信过程&#xff1a; 在TGS-REQ中会发出ST服务票据获取servicePrincipalName(SPN)&#xff0c;该SPN是用户或者机器用户注册的。TGS-REP中TGS会返回给user一个ST&#xff0c;而ST是由user请求的server的密码进行加密的&#xff0c;我们可以从TGS-REP中…