快速部署私有化大模型 毕昇(使用docker-compose方式)
docker安装
1.
# Linux系统安装docker,以CentOS/RHEL为例,其他操作系统请参考docker官方安装方法
# 如果已经安装过docker 期望重装,先卸载
sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine
2.
# 添加docker的yum安装源
yum install -y yum-utils3.
检查是否安装成功
rpm -qa | grep yum-utils如果安装了 yum-utils,你将会看到类似 yum-utils-1.1.31-54.el7_8.noarch 这样的输出,其中包含了软件包的名称、版本和架构。
加镜像源
4.sudo yum-config-manager --add-repo \https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo或者yum-config-manager \--add-repo \http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
成功响应
# 安装docker-ce组件
5.
sudo yum makecache fast6.
sudo yum install docker-ce docker-ce-cli containerd.io
等待安装完成
docker-compose 安装
# 安装docker-compose
7.
wget https://github.com/docker/compose/releases/download/v2.26.0/docker-compose-`uname -s`-`uname -m` -O /usr/local/bin/docker-compose8.
chmod +x /usr/local/bin/docker-compose9.
# 验证docker-compose工作正常
docker-compose -v
其中 `uname -s`-`uname -m` 替换为自己的
如安装失败
#编辑docker.service
vim /lib/systemd/system/docker.service文件中注释
# ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
文件中新增
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock#更新配置
systemctl daemon-reload#重新启动
systemctl restart docker#添加开放2375端口
firewall-cmd --add-port=2375/tcp --permanent#重载入添加的端口
firewall-cmd --reload#查询2375端口是否开启成功
firewall-cmd --query-port=2375/tcp// Linux-x86_64 替换为自己的
sudo curl -L https://github.com/docker/compose/releases/download/v2.26.0/docker-compose-Linux-x86_64 -o /usr/local/bin/docker-composesudo chmod +x /usr/local/bin/docker-compose# 验证docker-compose工作正常
docker-compose --version
成功如下
NVIDIA Container Toolkit安装
10.
# 添加yum安装源
curl -s -L https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo | sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo11.
# yum方式安装NVIDIA Container Toolkit
sudo yum install -y nvidia-container-toolkit12.
# 为docker添加nvidia runtime的配置
sudo nvidia-ctk runtime configure --runtime=docker13.
# 重启docker服务
sudo systemctl restart docker14.
# 验证nvidia runtime正常工作,在Runtimes中有显示有nvidia
docker info | grep Runtimes
快速部署毕昇核心服务
下载毕昇代码
15.
# 如果系统中有git命令,可以直接下载毕昇代码
git clone https://github.com/dataelement/bisheng.git16.
# 进入安装目录
cd bisheng/docker# 如果系统没有没有git命令,可以下载毕昇代码zip包
wget https://github.com/dataelement/bisheng/archive/refs/heads/main.zip
# 解压并进入安装目录
unzip main.zip && cd bisheng-main/docker
部署毕昇核心服务
毕昇核心服务包括:mysql、redis、elastichsearch、onlyoffice、milvus(包括milvus依赖的minio、etcd)、bisheng-backend、bisheng-frontend
# 进入bisheng/docker或bisheng-main/docker目录,执行
docker-compose up -d
等待成功即可
如安装超时 配置镜像加速器(推荐腾讯云加速器,嘎嘎快)
阿里云加速器
阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://wr9o82tx.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
腾讯云加速器
轻量应用服务器 安装 Docker 并配置镜像加速源-实践教程-文档中心-腾讯云
如果
则单独下载某一个
默认会从docker hub上下载所需的镜像,如果网络访问docker hub存在困难,可以从毕昇提供的镜像仓库下载镜像:
# 登陆到毕昇提供的私有镜像仓库
docker login cr.dataelem.com -u docker -p dataelem
# 从毕昇私有镜像仓库下载所需的镜像,例如:
docker pull cr.dataelem.com/dataelement/bisheng-backend:latest
docker pull cr.dataelem.com/dataelement/bisheng-frontend:latest
docker pull cr.dataelem.com/mysql:8.0
docker pull cr.dataelem.com/redis:7.0.4
docker pull cr.dataelem.com/onlyoffice/documentserver:7.2.1
docker pull cr.dataelem.com/bitnami/elasticsearch:8.12.0
docker pull cr.dataelem.com/quay.io/coreos/etcd:v3.5.5
docker pull cr.dataelem.com/minio/minio:RELEASE.2023-03-20T20-16-18Z
docker pull cr.dataelem.com/milvusdb/milvus:v2.3.3从私有仓库下载镜像后,由于镜像名称中带有cr.dataelem.com字段,因此需要将镜像重新命名以匹配docker-compose.yml中使用的镜像名称,或者修改docker-compose.yml中使用的镜像名字匹配下载的镜像名字
执行docker-compose ps查看服务是否为healthy状态,如果有服务处于unhealthy状态,先尝试重启容器,如果容器依然无法变为healthy状态,则需要查看容器的日志。
访问毕昇页面验证是否部署成功。访问地址 ip:3001 出现登录页,进行注册,默认第一个注册的用户会成为系统admin。
相关文章:

快速部署私有化大模型 毕昇(使用docker-compose方式)
docker安装 1. # Linux系统安装docker,以CentOS/RHEL为例,其他操作系统请参考docker官方安装方法 # 如果已经安装过docker 期望重装,先卸载 sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \d…...

B端:导航条就框架提供的默认样式吗?非也,看过来。
导航条不一定必须使用框架提供的默认样式,你可以根据项目需求和设计风格进行自定义。通过使用框架提供的自定义选项、CSS样式覆盖、自行设计或者使用其他UI库或组件,你可以实现独特且符合需求的导航条样式。 下面发一些参考给友友们,可以让设…...
idea的git与SVN切换
1、选择setting->Version Control,新增或者编辑,选择目录,使用git或者svn管理 2、选择项目中的vcs.xml,打开选择要用的,注释掉不用的版本即可...

互联网家政小程序,为大众带来高效、便捷的服务
随着人口老龄化的严重和社会生活节奏的加快,大众对家政服务的需求日益增加,家政行业的市场规模逐渐扩大! 在科技的推动下,家政行业开始向数字化发展,“互联网家政”的模式推动了市场的快速发展。互联网家政小程序借助…...
【常用库】【pytorch】基本部件
基本元件 1. 卷积 2. batchnorm loss函数 torch.nn.MSELoss() >>> a torch.rand(3) >>> a tensor([0.2161, 0.2227, 0.9175]) >>> b torch.rand(3) >>> b tensor([0.6976, 0.9149, 0.4918]) >>> mse torch.nn.MSELOSS() &…...
深入Scrapy框架:掌握其工作流程
深入Scrapy框架:掌握其工作流程 引言 作为一名资深的Python程序员,我对各种数据采集工具有着深刻的理解。Scrapy,作为一个上场率极高的爬虫框架,以其高效、灵活和强大的特性,成为数据采集领域的不二选择。在本文中&a…...

从零开始学习机器学习,掌握AI未来的关键!
从零开始学习机器学习 1. 介绍1.1 人工智能(AI)概述1.2 机器学习在人工智能中的应用1.3 机器学习基础概念 2. 监督学习2.1 什么是监督学习2.2 回归分析2.3 分类问题2.4 模型评估和选择 3. 无监督学习3.1 什么是无监督学习3.2 聚类算法3.3 降维技术 4. 深…...
CI/CD(持续集成/持续部署)
CI/CD(持续集成/持续部署)是软件开发过程中的一种方法,旨在提高开发效率和软件质量。以下是对CI/CD的具体解释: 1.持续集成(Continuous Integration,CI): 概念:开发人员将代码频繁地合并到主分支中,每次提交都会触发自动化构建和测试过程。目的:及时发现和修复集成…...

实现字母的大小写转换。多组输入输出(c语言)
1.我们先输入字母(用getchar的函数),判断是不是字母,我们可以用a<tmp<z或者A<tmp<Z,注意:小写转换大写用tmp-32,大写转换小写用tmp32.. #include<stdio.h> int main() {int a 0;while …...
2024华为OD机试真题-最小矩阵宽度Python-C卷D卷-200分
2024华为OD机试题库-(C卷+D卷)-(JAVA、Python、C++) 题目描述 给定一个矩阵,包含 N * M 个整数,和一个包含 K 个整数的数组。 现在要求在这个矩阵中找一个宽度最小的子矩阵,要求子矩阵包含数组中所有的整数。 输入描述 第一行输入两个正整数 N,M,表示矩阵大小。 接下来 N …...

【Vue3】标签的 ref 属性
【Vue3】标签的 ref 属性 背景简介开发环境开发步骤及源码 背景 随着年龄的增长,很多曾经烂熟于心的技术原理已被岁月摩擦得愈发模糊起来,技术出身的人总是很难放下一些执念,遂将这些知识整理成文,以纪念曾经努力学习奋斗的日子。…...

llama-factory 系列教程 (六),linux shell 脚本自动实现批量大模型的训练、部署与评估
背景 最近在做大模型微调训练的评估,每次都要手动训练大模型,手动评估。 发现这样太浪费时间了,于是就尝试着使用linux shell 脚本,利用 for 循环自动实现大模型的训练、部署与评估。 实验:在不同的文本分类数据集尺…...
python安全脚本编写之流量泛洪
多线程与流量泛洪 并发操作 如果一个单核的cpu,是并不存在严格意义的并发,只是因为处理时间极短,所以感觉上是并发操作的。 针对多核CPU,4核CPU,严格意义上的并发处理是4个 线程和进程 每一个应用程序,至少…...

一文看懂Java反射、注解、UML图和Lambda表达式
反射 定义: 反射是 java 开发语言的特征之一,它允许 java 程序对自身进行检查(自审),并能直接操作程序内部属性,即就是将类中的各种成分映射成一个 java 对象,利用反射技术可以对一个类进行解剖,将各个组成部分映射成…...

【漏洞复现】搜狗输入法简单绕过Windows锁屏机制
免责申明 本公众号的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息…...

JAVA Spring学习Day1
Maven Maven配置: Maven是Java项目的构建工具,使用pom.xml配置文件管理项目依赖、插件和构建目标。Spring Boot项目搭建: Spring Boot是基于Spring框架的快速开发框架,通过约定大于配置的理念简化了Spring应用的搭建和开发。 …...
linux常见面试题(三)
18 什么事SQL注入 由于程序员的水平及经验参差不齐,大部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断。 应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据…...
【JS】ES6新类型Map与Set
一、Map Map 对象保存键值对,并且能够记住键的原始插入顺序。任何值(对象或者原始值)都可以作为键或值。 描述 Map 对象是键值对的集合。Map 中的一个键只能出现一次;它在 Map 的集合中是独一无二的。 Map 对象按键值对迭代——…...
FETCH FIRST ROW ONLY和 DISTINCT ON和 LIMIT 1的用法
以下是 PostgreSQL 中函数 FETCH FIRST ROW ONLY、DISTINCT ON 和 LIMIT 1 的用法、含义、例子以及适用版本的信息总结: FETCH FIRST ROW ONLY 用法和含义 FETCH FIRST ROW ONLY 用于限制查询结果集,只返回第一行。它可以和 ORDER BY 子句一起使用&am…...
前端小白安装node、vue、Express、Electron及(Electron桌面端exe应用开发)
一、node.js (一)、下载 下载地址 Node.js — 在任何地方运行 JavaScript (nodejs.org) 参考文章:Node.js安装及环境配置超详细教程【Windows系统】_windows 安装nodejs-CSDN博客 (二)、安装 安装路径可以更换&a…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止
<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet: https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...
PostgreSQL——环境搭建
一、Linux # 安装 PostgreSQL 15 仓库 sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %{rhel})-x86_64/pgdg-redhat-repo-latest.noarch.rpm# 安装之前先确认是否已经存在PostgreSQL rpm -qa | grep postgres# 如果存在࿰…...

MySQL:分区的基本使用
目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区(Partitioning)是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分(分区)可以独立存储、管理和优化,…...
提升移动端网页调试效率:WebDebugX 与常见工具组合实践
在日常移动端开发中,网页调试始终是一个高频但又极具挑战的环节。尤其在面对 iOS 与 Android 的混合技术栈、各种设备差异化行为时,开发者迫切需要一套高效、可靠且跨平台的调试方案。过去,我们或多或少使用过 Chrome DevTools、Remote Debug…...

Neko虚拟浏览器远程协作方案:Docker+内网穿透技术部署实践
前言:本文将向开发者介绍一款创新性协作工具——Neko虚拟浏览器。在数字化协作场景中,跨地域的团队常需面对实时共享屏幕、协同编辑文档等需求。通过本指南,你将掌握在Ubuntu系统中使用容器化技术部署该工具的具体方案,并结合内网…...
嵌入式面试常问问题
以下内容面向嵌入式/系统方向的初学者与面试备考者,全面梳理了以下几大板块,并在每个板块末尾列出常见的面试问答思路,帮助你既能夯实基础,又能应对面试挑战。 一、TCP/IP 协议 1.1 TCP/IP 五层模型概述 链路层(Link Layer) 包括网卡驱动、以太网、Wi‑Fi、PPP 等。负责…...
C#最佳实践:为何优先使用as或is而非强制转换
C#最佳实践:为何优先使用as或is而非强制转换 在 C# 的编程世界里,类型转换是我们经常会遇到的操作。就像在现实生活中,我们可能需要把不同形状的物品重新整理归类一样,在代码里,我们也常常需要将一个数据类型转换为另…...
使用 uv 工具快速部署并管理 vLLM 推理环境
uv:现代 Python 项目管理的高效助手 uv:Rust 驱动的 Python 包管理新时代 在部署大语言模型(LLM)推理服务时,vLLM 是一个备受关注的方案,具备高吞吐、低延迟和对 OpenAI API 的良好兼容性。为了提高部署效…...