私有化部署网易云-qanything教程

本文详细描述了如何在Windows和Linux环境下部署QAnything项目,涉及NVIDIA显卡的确认、WindowsWSL的配置、DockerDesktop的安装,以及使用OpenAI大模型时遇到的问题与解决方案。
摘要由CSDN通过智能技术生成

1. 准备工作

首先把准备工作做做好, 这里也是最容易走弯路的地方, 官方的教程虽然没有错误, 但是有点混乱, 而且一些细节隐藏在了更深的文档中, 导致部署过程中遇到不少问题.

1.1 硬性条件

这里说的很明白了, 注意的是linux部署下也需要nvidia, 我一开始就是在云服务器linux下部署, 最终发现没有nvidia显卡, 所以又转到了window下部署.

所以尽量选择一台带有nvidia的机器, 查看显卡的命令为: nvidia-smi, 如果执行完没有结果, 那就不是nvidia



dibole@DIBOLE-AI:~/QAnything$ nvidia-smi
Fri Apr 12 17:14:42 2024
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.98.01              Driver Version: 536.99       CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce RTX 4060 Ti     On  | 00000000:01:00.0 Off |                  N/A |
|  0%   39C    P8               7W / 165W |   7781MiB / 16380MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A        26      G   /Xwayland                                 N/A      |
|    0   N/A  N/A        32      G   /Xwayland                                 N/A      |
|    0   N/A  N/A        35      G   /Xwayland                                 N/A      |
|    0   N/A  N/A        45      C   /deviceQueryDrv                           N/A      |
+---------------------------------------------------------------------------------------+

1.2 准备好windows11的wsl功能

打开了wsl功能以后, 接下来安装wsl2下的ubuntu系统

这里可以直接通过wsl的命令行直接安装, 或者选择下载appx文件以后离线安装, 由于文件很大, 所以命令行的进度会卡住, 我之前一直以为是报错了, 最终选择了下载文件后安装

方式一: 通过wsl命令行安装

进入powershell 

 输入 wsl -l -o 可以看到所有的支持的有效分发的列表

接用命令  wsl --install  -d  ubuntu-22.04 

方式二: 下载后安装

下载地址: https://learn.microsoft.com/zh-cn/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package
这里下载的ubuntu-22.04下载完以后解压, 根据你的系统双击安装, 我的是64位

安装完成以后, 设置一个用户和密码, 就成功安装好wsl了

进入wsl的方式跟使用其他软件一样, 在windows的开始程序中找到

1.3 安装docker-desktop

Docker Desktop release notes | Docker Docs

这里记得千万不要下载最新版本, 推荐使用2.24版本

下载完以后安装, 再加上如下配置就可以了

1.4 安装git 和 git-lfs

这个比较简单就不说了

到底基本上准备工作就完成了,接下来进入安装

2. 部署过程

  • step1 进入wsl的ubuntu系统
  • step2 下载项目

git clone https://github.com/netease-youdao/QAnything.git

  • step3 进入项目根目录
cd QAnything
bash run.sh  # 默认在0号GPU上启动

接下来就是漫长的等待, 会自动拉取一堆镜像, 并自启动. 如果一切顺利你会看到

这时候已经可以在前端页面上体验了, 打开页面, 录入一些文件

3. 做一些延展

通过简单的bash run.sh已经运行成功的基础下, 接下来尝试增加一些命令, 通过微调启动命令使用自定义的大模型

Usage: bash run.sh [-c <llm_api>] [-i <device_id>] [-b <runtime_backend>] [-m <model_name>] [-t <conv_template>] [-p <tensor_parallel>] [-r <gpu_memory_utilization>]

-c <llm_api>: "Options {local, cloud} to specify the llm API mode, default is 'local'. If set to '-c cloud', please mannually set the environments {OPENAI_API_KEY, OPENAI_API_BASE, OPENAI_API_MODEL_NAME, OPENAI_API_CONTEXT_LENGTH} into .env fisrt."
-i <device_id>: "Specify argument GPU device_id."
-b <runtime_backend>: "Specify argument LLM inference runtime backend, options={default, hf, vllm}"
-m <model_name>: "Specify argument the model name to load public LLM model using FastChat serve API, options={Qwen-7B-Chat, deepseek-llm-7b-chat, ...}"
-t <conv_template>: "Specify argument the conversation template according to the public LLM model when using FastChat serve API, options={qwen-7b-chat, deepseek-chat, ...}"
-p <tensor_parallel>: "Use options {1, 2} to set tensor parallel parameters for vllm backend when using FastChat serve API, default tensor_parallel=1"
-r <gpu_memory_utilization>: "Specify argument gpu_memory_utilization (0,1] for vllm backend when using FastChat serve API, default gpu_memory_utilization=0.81"
-h: "Display help usage message"

这是一段run.sh的参数解释, 建议逐行观看, 可以看到支持了很多大模型, 这里我想将qanything和openai打通, 结合参数列表, 最终的命令是

 bash ./run.sh -c cloud -i 0 -b default

使用了云端大模型openai的时候, 需要增加以下变量到.env文件中

OPENAI_API_KEY=      #你的密钥
OPENAI_API_BASE=      #你的中转网站, 众所周知不能直接访问
OPENAI_API_MODEL_NAME=    #你的通道名称
OPENAI_API_CONTEXT_LENGTH=   #你的token令牌长度限制

修改完这些参数以后, 重启容器

不出意外的话就要出意外了, 目前在使用云大模型的时候源码会查找

/model_repos/QAEnsemble_embed_rerank/scripts/get_cuda_capability.py

而这个文件确实不存在, 这里的问题截至2024.4.12号还没有解决.

如果你也不幸遇到了你可以...

直接修改源码绕开这个错误!!

记得修改完以后重启容器, 就可以成功的使用openai的大模型运行qanything, 接下来愉快的玩耍吧

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值