懒人脚本一键部署一个chatglm-6b模型,基于腾讯云

ChatGLM-6B是一个由清华大学开发的开源语言模型,专注于自然语言处理。提供的自动化安装脚本简化了在Ubuntu20.04系统上,特别是腾讯云海外GPU服务器的部署流程。用户需拥有管理员权限,脚本会检测Python和pip的版本,并根据需要安装或更新。安装完成后,用户可利用Python脚本或命令行开始使用ChatGLM-6B。别忘了开启腾讯云防火墙的相应端口。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

chatglm-6b介绍:

ChatGLM-6B 是清华大学开发的一个开源语言模型,它基于最先进的技术构建,提供了强大的自然语言处理能力。为了方便用户安装和使用 ChatGLM-6B,我提供了一个自动化安装脚本,它简化了安装过程,让您能够快速搭建环境并开始使用 ChatGLM-6B。

当前脚本仅在腾讯云海外的GPU服务器上进行过实践,系统为Ubuntu 20。

步骤

  1. 切换用户权限
sudo su root
  1. 执行脚本
bash <(curl -s https://raw.githubusercontent.com/Ericzhang528/installShell/main/Ubuntu-Install-chatGLM-6B.sh)
  1. 跟随提示完成安装:根据脚本的提示,选择合适的选项进行安装。脚本会自动检测您的 Python 和 pip 版本,并根据需要安装所需的版本。

  2. 安装完成:安装完成后,您可以开始使用 ChatGLM-6B 进行自然语言处理任务了。您可以通过调用相应的 Python 脚本或使用相关命令来使用 ChatGLM-6B。

注意:要记得放开腾讯防火墙的特定端口嗷。

使用自动安装脚本可以帮助您轻松安装 ChatGLM-6B,省去了手动安装和配置的繁琐步骤。

下面是bash命令的内容

#!/bin/bash

echo -e "\033[34m 当前脚本由CloudSeaSky Studio提供 \033[0m"
echo -e "\033[34m 本脚本仅适用于腾讯云的Ubuntu系统 \033[0m"
echo -e "\033[34m 其他系统暂未尝试,本脚本仅适用于海外服务器 \033[0m"
echo -e "\033[34m【0】Screen 安装,【1】默认安装\033[0m"
echo -e "\033[34m【2】启动(默认端口),【3】自定义端口启动\033[0m"
echo -e "\033[34m【4】安装Python 3.10和最新版本pip并连接到python和pip命令\033[0m"
echo -e "\033[34m 如若未安装请先安装ChatGLM \033[0m"
echo -e "\033[34m 如果是Screen安装请输入screen -r GLM 然后按Ctrl+C终止进程 \033[0m"
echo -e "\033[34m 请输入0 - 4执行脚本 \033[0m"
read -p "请输入:" num

# 检查命令是否存在
if ! command -v python &> /dev/null || ! command -v pip &> /dev/null; then
  echo "Python或pip命令未找到,请确保已安装Python并正确设置环境变量"
  exit 1
fi
# 比较版本号
function compare_versions {
    local version1=$1
    local version2=$2
    local IFS=.
    local arr1=($version1)
    local arr2=($version2)

    for ((i=0; i<${#arr1[@]}; i++)); do
        if [[ ${arr1[i]} -lt ${arr2[i]} ]]; then
            echo -1
            return
        elif [[ ${arr1[i]} -gt ${arr2[i]} ]]; then
            echo 1
            return
        fi
    done

    echo 0
}

# 获取当前Python版本
current_python_version=$(python --version 2>&1 | awk '{print $2}')

# 获取当前pip版本
current_pip_version=$(pip --version | awk '{print $2}')

# 定义所需的Python版本和pip版本
required_python_version="3.10"
required_pip_version="23.0.2"

# 检查Python版本是否大于等于所需版本
python_version_check=$(compare_versions $current_python_version $required_python_version)

# 检查pip版本是否大于等于所需版本
pip_version_check=$(compare_versions $current_pip_version $required_pip_version)



if [[ $num == 0 || $num == 1 || $num == 4 ]]; then
  echo -e "\033[34m 检测Python版本和Pip版本 \033[0m"
  if [[ $python_version_check -ge 0 && $pip_version_check -ge 0  ]]; then
    echo "Python版本和pip版本符合要求,继续执行下一步操作..."
    if [[ $num == 4 ]]; then
      echo "Python版本:"
      python --version
      echo "Pip版本:"
      pip --version
      echo "退出脚本..."
    fi
  else
    echo "Python版本或pip版本低于要求,是否执行安装脚本?(y/n)"
    read -r answer
    if [[ $answer =~ ^[Yy]$ ]]; then
      echo "执行安装脚本..."
      bash <(curl -s https://raw.githubusercontent.com/Ericzhang528/installShell/main/Ubuntu-Install-python-3.10-pip.sh)
    else
      echo "已取消安装,退出脚本"
      exit 0
    fi
  fi
fi

if [[ $num == 0 ]]; then
  echo -e "\033[34m 检测Python版本和Pip版本 \033[0m"
  if [[ $python_version_check -ge 0 && $pip_version_check -ge 0  ]]; then
    echo "Python版本和pip版本符合要求,继续执行下一步操作..."
  else
    echo "Python版本或pip版本低于要求,是否执行安装脚本?(y/n)"
    read -r answer
    if [[ $answer =~ ^[Yy]$ ]]; then
      echo "执行安装脚本..."
       bash <(curl -s https://raw.githubusercontent.com/Ericzhang528/installShell/main/Ubuntu-Install-python-3.10-pip.sh)
    else
      echo "已取消安装,退出脚本"
      exit 0
    fi
  fi
  echo "执行Screen安装操作"
  echo -e "\033[34m 检测Screen安装 \033[0m"
  # 检查 screen 是否已安装
  if command -v screen &> /dev/null; then
    echo -e "\033[34m screen 已安装,执行下一步操作... \033[0m"
    # 执行下一步的 Bash 文件或命令
    echo -e "\033[34m 创建GLM的Screen窗口 \033[0m"
    screen -dmS GLM bash -c 'echo "This is running in the GLM screen session"'
    echo -e "\033[34m GLM的Screen窗口创建完成,执行下一步操作... \033[0m"
  else
    echo -e "\033[34m screen 未安装,正在执行安装步骤... \033[0m"
    apt update
    apt install screen
    screen --version
    echo -e "\033[34m screen 安装完成,执行下一步操作... \033[0m"
    echo -e "\033[34m 创建GLM的Screen窗口 \033[0m"
    screen -dmS GLM
    echo -e "\033[34m GLM的Screen窗口创建完成,执行下一步操作... \033[0m"
  fi
elif [[ $num == 1 ]]; then
  echo "执行默认安装操作"
  # 执行默认安装脚本的命令
elif [[ $num == 2 ]]; then
  echo "执行重新启动(默认端口)操作"
  # 执行重新启动(默认端口)脚本的命令
  echo "是否运行Screen GLM?(y/n)"
  read -r answer
  if [[ $answer =~ ^[Yy]$ ]]; then

    if  'screen -ls | grep -q GLM'; then
        echo "已检测到名为 GLM 的 Screen,切换到该 Screen 的 Bash 脚本..."
        screen -r GLM
    else
        echo "未检测到名为 GLM 的 Screen,创建 GLM 并执行下一步操作..."
        screen -dmS GLM
    fi
  else
    echo "已取消运行Screen GLM"

  fi
  cd ChatGLM-6B
  while true; do
    echo -e "\033[34m 请输入端口号:\033[0m"
    read -p "请输入:" port

    if [[ $port =~ ^[0-9]+$ ]]; then
      break
    else
      echo -e "\033[31m 端口号无效,请重新输入 \033[0m"
    fi
  done

  python -m streamlit run ./web_demo2.py --server.port $port --server.address 0.0.0.0
  # 执行Python 3.10和最新版本pip安装脚本的命令
  echo "http://0.0.0.0:$port"
elif [[ $num == 3 ]]; then
  echo "执行重新启动(默认端口)操作"
  # 执行重新启动(默认端口)脚本的命令
  echo "是否运行Screen GLM?(y/n)"
  read -r answer
  if [[ $answer =~ ^[Yy]$ ]]; then
    if screen -ls | grep -q GLM; then
      echo "已检测到名为 GLM 的 Screen,切换到该 Screen 的 Bash 脚本..."
      screen -r GLM
    else
      echo "未检测到名为 GLM 的 Screen,创建 GLM 并执行下一步操作..."
      screen -dmS GLM bash -c 'echo "This is running in the GLM screen session"'
    fi
  else
    echo "已取消运行Screen GLM"
  fi
  cd ChatGLM-6B
  while true; do
    echo -e "\033[34m 请输入端口号:\033[0m"
    read -p "请输入:" port

    if [[ $port =~ ^[0-9]+$ ]]; then
      break
    else
      echo -e "\033[31m 端口号无效,请重新输入 \033[0m"
    fi
  done

  python -m streamlit run ./web_demo2.py --server.port $port --server.address 0.0.0.0
  # 执行Python 3.10和最新版本pip安装脚本的命令
  echo "http://0.0.0.0:$port"
else
  echo "输入无效,退出脚本"
  exit 0
fi

if [[ $num == 1 || $num == 0 ]]; then
  echo -e "\033[34m 开始下载GLM \033[0m"
  echo -e "git clone https://github.com/Ericzhang528/ChatGLM-6B.git"
  git clone https://github.com/Ericzhang528/ChatGLM-6B.git
  echo -e "\033[34m GLM下载完成,执行下一步操作... \033[0m"
  cd ChatGLM-6B
  if grep -q "chardet" requirements.txt && grep -q "streamlit" requirements.txt && grep -q "streamlit-chat" requirements.txt; then
    echo "requirements.txt 文件已包含 chardet、streamlit 和 streamlit-chat 依赖项,继续执行下一步操作..."
    # 执行下一步的 Bash 脚本或命令
  else
    echo "requirements.txt 文件缺少 chardet、streamlit 或 streamlit-chat 依赖项,正在添加..."
    echo "" >> requirements.txt
    echo "chardet" >> requirements.txt
    echo "streamlit" >> requirements.txt
    echo "streamlit-chat" >> requirements.txt
    echo "依赖项已添加至 requirements.txt 文件"
    # 执行下一步的 Bash 脚本或命令
  fi
  echo -e " pip install -r requirements.txt"
  pip install -r requirements.txt
  echo -e "\033[34m 开始运行ChatGLM-6B \033[0m"
  while true; do
    echo -e "\033[34m 请输入端口号:\033[0m"
    read -p "请输入:" port

    if [[ $port =~ ^[0-9]+$ ]]; then
      break
    else
      echo -e "\033[31m 端口号无效,请重新输入 \033[0m"
    fi
  done

  python -m streamlit run ./web_demo2.py --server.port $port --server.address 0.0.0.0
else
  echo -e "\033[34m 退出脚本 \033[0m"
  exit 0
fi


这里还有一些其他的一件安装脚本

python3.10和pip更新到最新版以及连接python命令和pip命令的脚本
执行命令

bash <(curl -s https://raw.githubusercontent.com/Ericzhang528/installShell/main/Ubuntu-Install-python-3.10-pip.sh)

stable diffusion 的一件安装脚本

这个脚本有个前提必须使用ubuntu系统,而且必须使用GPU Cloud。
如果服务器没有安装GPU驱动,请自行手动安装驱动。
bash <(curl -s https://raw.githubusercontent.com/Ericzhang528/installShell/main/Ubuntu-Install-stable-diffusion.sh)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZemanZhang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值