裸服务器上语音AI部署指南

1. 概述

本指南详细介绍了如何在裸服务器上部署语音AI系统,包括环境配置、依赖安装、模型加载与API配置等关键步骤。使用的主要框架包括Langchain-Chatchat模型框架、ChatGLM3-6B模型、M3E-Base Embeddings模型,以及百度飞桨PaddleSpeech用于语音处理。

2. 环境准备

2.1 操作系统及基础环境

  1. 确保服务器运行CentOS 7或以上版本。
  2. 更新YUM源,并安装必要的开发工具和依赖。
  3. 需要安装gpu环境

2.2 安装必要的工具和依赖

  1. 安装wget

    sudo yum install wget -y
    wget --version
  2. 安装常用开发工具

    sudo yum groupinstall "Development Tools"
    sudo yum install \
        openssl-devel \
        bzip2-devel \
        libffi-devel \
        zlib-devel \
        xz-devel \
        readline-devel \
        sqlite-devel \
        tk-devel \
        gdbm-devel \
        ncurses-devel \
        libuuid-devel \
        libtirpc-devel

    把基础包都装上,防止在后续安装的时候,缺各种依赖包。

  3. 手动安装OpenSSL 1.1.1
    由于yum源中没有更新OpenSSL版本,处于较旧版本状态,需要手动安装openssl
    openssl下载地址

    • 下载、编译和安装OpenSSL 1.1.1。
    • 配置软连接及环境变量。
       
      tar -zxvf openssl-1.1.1w.tar.gz
      cd openssl-1.1.1w
      ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared zlib
      make
      make install
      
      # 切换目录/usr/bin,备份原始的openssl
      mv openssl openssl.bak
      pwd
      ll | grep openssl
      
      # 创建软连接,使执行openssl时使用新版本的openssl
      ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
      ll | grep openssl
      
      # 将安装路径添加到环境变量
      cd /root
      vi .bashrc
      # 将"export LD_LIBRARY_PATH=/usr/local/openssl/lib:$LD_LIBRARY_PATH"添加到最末行

      # 运行 source .bashrc 的目的是重新加载当前用户的 .bashrc 文件,以便应用其中所做的更改,而无需注销并重新登录
      source .bashrc
      
      # 更新共享库的链接器缓存
      ldconfig
      
      # 检查是否安装成功
      openssl version

  4. 安装Python 3.10.14及Pip
     

    # 删除旧版本
    yum remove Python-3.10.14.tgz
    
    # 安装
    wget https://www.python.org/ftp/python/3.10.14/Python-3.10.14.tgz
    tar -xzf Python-3.10.14.tgz
    cd Python-3.10.14
    ./configure --prefix=/usr/local/python3.10 --with-openssl=/usr/local/openssl
    make
    make install
    
    #软链
    ln -s /usr/local/python3.10/bin/python3.10 /usr/bin/python3
    python3 --version
    python3 -m pip install --upgrade pip
    # pip版本需要24.2
    python3 -m pip --version

3. 框架及模型安装

3.1 安装PaddleSpeech

截至目前,PaddleSpeech仅支持最高版本为2.5.1的PaddlePaddle。许多人认为需要先手动安装PaddlePaddle,但实际上,在安装PaddleSpeech时,会自动下载安装与之兼容的PaddlePaddle版本。如果系统中已经存在更新的PaddlePaddle版本(如2.6.x),安装PaddleSpeech后将会被自动降级至2.5.1版本的PaddlePaddle-GPU。需要注意的是,PaddleSpeech默认安装的是GPU版本的PaddlePaddle-2.5.1。如果CUDA设备配置不正确,PaddlePaddle将默认使用CPU进行推理。因此,确保CUDA设备正确配置对于性能优化至关重要。

  1. 使用Pip安装PaddleSpeech:
    pip install pytest-runner
    pip install paddlespeech
    注意:Scipy版本不得高于1.10.1。

        验证:参考官方文档

 

3.2 安装Anaconda

为了避免安装 langchain-chatchatpaddlespeech 时产生依赖冲突,建议使用 Anaconda 创建独立的 Python 虚拟环境。通过这种方式,可以确保两者的依赖项相互隔离,不会相互干扰。

  1. 下载并安装Anaconda。
  2. 创建Python虚拟环境并安装Pytorch。
wget -c 'https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-x86_64.sh' -P /opt/ --no-check-certificate
bash Anaconda3-2023.09-0-Linux-x86_64.sh

# 后续按照提示安装即可
#创建conda环境
conda create -n chatchat python=3.10.14

#检查环境是否创建完成
conda info --envs

 

# 进入已经创建好的虚拟环境
conda activate chatchat

# 安装pytorch
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 -i https://pypi.tuna.tsinghua.edu.cn/simple

3.3 安装Langchain-Chatchat框架

  1. 克隆Langchain-Chatchat项目。
  2. 安装依赖包。
# 获取最新版本
git clone https://github.com/chatchat-space/Langchain-Chatchat.git

# 获取指定版本
git clone -b v0.2.9 https://github.com/chatchat-space/Langchain-Chatchat.git


cd Langchain-Chatchat

# 安装项目所需依赖包
pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/

3.4 下载及配置模型

  1. 安装Git LFS并下载M3E-BaseChatGLM3-6B模型。
  2. 修改配置文件以正确加载模型。
# 安装git lfs 管理大文件
yum install epel-release -y
yum install git-lfs -y
git lfs install

git clone https://gitee.com/hf-models/m3e-base.git
git clone https://gitee.com/hf-models/chatglm3-6b.git

# 批量复制configs目录下所有的配置文件,去掉example后缀
python copy_config_example.py

修改model_config.py文件

修改m3e-base的模型本地路径:

 修改server_config.py

4. 项目启动与API配置

4.1 初始化数据库

python init_database.py

4.2 启动服务

python startup.py -a

如果启动出现异常:
如:

异常1:ModuleNotFoundError: No module named 'llama_index.bridge'
解决:更换版本:“pydantic” 包的版本为 1.10.13,“llama-index” 包的版本为 0.9.35
异常2:AttributeError:“GenerationConfig”对象没有属性“_eos_token_tensor”
解决:Transformers 版本太新了,使用chatglm3的话可以把transformers版本降到4.40
pip uninstall transformers
pip install transformers==4.40.0

注意:应用端口是8501,API接口调用端口是7861 
出现以下则为启动成功:


4.3 配置跨域访问

server_config.py文件中启用跨域支持。

5. API 使用

5.1 API文档访问

  模型API文档地址:http://ip:7861/docs
http://ip:7861/docs

6. 知识库管理

6.1 创建知识库

 新建知识库,填写知识库名称,选择安装的m3e-base模型。

导入训练文件: 

 选择知识库问答模式,即可开始对话,在API中也可直接调用知识库进行问答:

  • 23
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值