# Numberman **Repository Path**: HeNuoScott/numberman ## Basic Information - **Project Name**: Numberman - **Description**: AI对话机器人部署文档 这个仓库要结合关键的python项目进行部署 ,项目太大不便上传到git所以用这个文档进行记录 - **Primary Language**: Python - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-09-13 - **Last Updated**: 2024-09-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Numberman # 1.语音识别服务(语音转文本) ## 简介: 官方地址:https://github.com/FunAudioLLM/SenseVoice 体验地址:https://huggingface.co/spaces/FunAudioLLM/SenseVoice 国内体验地址:https://www.modelscope.cn/studios/iic/SenseVoice SenseVoice 是具有音频理解能力的音频基础模型,包括语音识别(ASR)、语种识别(LID)、语音情感识别(SER)和声学事件分类(AEC)或声学事件检测(AED)。本项目提供 SenseVoice 模型的介绍以及在多个任务测试集上的 benchmark,以及体验模型所需的环境安装的与推理方式。 ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/1280X1280.PNG) ## 核心功能: **SenseVoice** 专注于高精度多语言语音识别、情感辨识和音频事件检测 - **多语言识别:** 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。 - **富文本识别:** - 具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。 - 支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。 - **高效推理:** SenseVoice-Small 模型采用非自回归端到端框架,推理延迟极低,10s 音频推理仅耗时 70ms,15 倍优于 Whisper-Large。 - **微调定制:** 具备便捷的微调脚本与策略,方便用户根据业务场景修复长尾样本问题。 - **服务部署:** 具有完整的服务部署链路,支持多并发请求,支持客户端语言有,python、c++、html、java 与 c# 等。 ## 部署前的准备 PyTorch 与 CUDA 和 CUDNN [正确安装GPU显卡驱动、CUDA、cuDNN的详细教程](https://blog.csdn.net/qq_62928482/article/details/139674918) [在PyTorch中使用CUDA, pytorch与cuda不同版本对应安装指南,查看CUDA版本,安装对应版本pytorch](https://blog.csdn.net/qq_35831906/article/details/134349866) ## 部署: 将我们打包的SenseVoice整合包解压到想要存放的目录(最好是固态硬盘),双击start.bat文件启动。也可以仅启动后台服务,仅启动后台服务双击start_api.bat即可。 ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/chatts_setup.png) 步骤 详细说明 : 1.如果Cuda不可用 查看之前的CUDA和显卡驱动 是否安装正确 如果安装正确进行下一步 2.安装对应的pytroch 2.1 网络安装失败 -- 开启科学上网 2.2 本地安装 2.2.1 查看对应的pytorch版本 执行部署第三部 ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/%E6%9F%A5%E6%89%BE%E5%AF%B9%E5%BA%94%E7%89%88%E6%9C%AC%E7%9A%84pytorch.png) 如果已经安装 但是版本不对 需要先卸载 卸载命令 : .\python312\python.exe -m pip uninstall torch torchvision torchaudio 2.2.2 去官网查找对应版本 (工程内放有两个版本) 官网地址:https://download.pytorch.org/whl/cu118 (cu118 根据自己需求 可以更改) ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/download_pytroch_3.png) ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/download_pytroch_2.png) 安装本地 pytroch 的命令 如下 : .\python312\python.exe -m pip install --no-index --no-deps .\torch-2.4.1+cu121-cp312-cp312-win_amd64.whl 根据下载的版本 自行调整.\torch-2.4.1+cu121-cp312-cp312-win_amd64.whl 文件名称 以及 对应的路径 参考文章 : [pytorch下载慢,如何下载到本地再去安装,本地安装pytorch](https://blog.csdn.net/weixin_53035684/article/details/141030541) # 2.大模型对话服务 ## 2.1本地安装Ollama工具(不推荐) ### Ollama简介: Ollama 是一款快速本地部署大模型的工具,它能够快速的将Llama、Phi、Mistral、Gemma、GPT等多款大语言模型部署到本地。 Ollama 官方网站 https://ollama.com/ ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/Ollama.PNG) windows ollama 指定模型下载路径 ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/1280X12802.PNG) 选择要运行的模型 ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/eda4752d-31b9-46ee-9697-49e3c62f0ce7.png) 安装完成之后 拉取并运行 Ollama 管理运行命令行 ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/73f3f0c3-1483-4e74-bedd-ffab0c85d5e4.png) 出现以上字样 Ollama + llama3.1安装运行完成, 启动直接运行命令行 ollama run llama3.1即可。 ## 2.2Docker安装Ollama (推荐) ### 2.2.1.docker安装 Docker 官方网址 : [www.docker.com](https://www.docker.com/products/docker-desktop/) 安装完成之后设置Image位置(最好不要设置在C盘) 安装后打开如下图 ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/95ca3318-b05d-41c1-8939-d6218a7d9c12.png) ### 2.Docker安装Ollama #### -Ollama使用GPU的准备 安装Ubuntu子系统 打开 powershell,以管理员的身份启动命令窗口 更新 wsl --update 安装 wsl --install ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/d6c0ff05-13be-4245-be57-12b60c29c9e9.png) ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/57c5bdb4-a5f0-4ab1-a852-98bbbbf6d554.png) 安装成功之后 重启电脑 #### -安装英伟达容器安装包 打开安装的ubuntu系统命令行 ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/0fa44972-08d6-48ff-9bb6-80d83f5af80e.png) 配置apt源 ```JSON curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \ && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \ sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \ sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list ``` 更新源 ```JSON sudo apt-get update ``` 安装工具包 ```JSON sudo apt-get install -y nvidia-container-toolkit ``` #### -安装命令拉取并以gpu运行启动: ```JSON 仅安装(可以不开代理) docker pull ollama/ollama **********************安装并启动重点************************** docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama:latest ``` ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/f40c250e-2921-4cd7-a5b3-84b809c2bb29.png) ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/f42699fd-8ed7-4c29-8deb-f6ada4aa84bc.png) ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/b1d2cbda-a7ca-49f7-8f76-01956f443b9b.png) ### 3.Docker安装OpenWebUI 界面 Openwebui 官方网址:https://openwebui.com/ Docker 官方网址:https://www.docker.com/products/docker-desktop/ Docker安装略过,出错Virtual Machine Platform is not enabled 解决方案: https://blog.csdn.net/m0_64794999/article/details/140228639 #### **使用默认配置进行安装** - **如果您的计算机上有 Ollama**,请使用以下命令: - docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main - **如果 Ollama 位于不同的服务器上**,请使用以下命令: - 要连接到另一台服务器上的 Ollama,请更改`OLLAMA_BASE_URL`为该服务器的 URL: - docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=https://example.com -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main - **要运行支持 Nvidia** **GPU** **的 Open WebUI**,请使用以下命令: - docker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:cuda #### **仅供** **OpenAI** **API** **使用安装** - **如果您仅使用 OpenAI** **API**,请使用此命令: - docker run -d -p 3000:8080 -e OPENAI_API_KEY=your_secret_key -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main #### **安装附带 Ollama 支持的 Open WebUI(如果按照推荐安装直接运行这个)** 此安装方法使用将 Open WebUI 与 Ollama 捆绑在一起的单个容器映像,从而允许通过单个命令进行简化设置。根据您的硬件设置选择适当的命令: - **借助** **GPU** **支持**:通过运行以下命令来利用 GPU 资源: - **docker run -d -p 3000:8080 --gpus=all -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama** - **仅适用于** **CPU**:如果您不使用 GPU,请改用以下命令: - docker run -d -p 3000:8080 -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama 这两个命令都有助于 Open WebUI 和 Ollama 的内置、无忧安装,确保您可以快速启动并运行一切。 安装后,您可以通过[http://localhost:3000](http://localhost:3000/)访问 Open WebUI 。尽情享用吧!😄 通过命令行 拉取安装Docker 镜像文件 - docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main 启动 镜像 ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/a0028abf-9466-4ed1-bf18-9366899815de.png) 启动完成 打开WebUI界面 ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/8a91a2f3-9784-4f08-8838-97a3c8a9aea8.png) ### 4.拉取LLama3.1大模型 Ollama 官网: https://ollama.com/ 在右上角的 Models 中选择 llama3.1(这里也可以选择其他模型) 找到拉取命令 ollama run llama3.1:8b ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/e784d0c3-a5ec-4fd7-a82c-f32857418f2b.png) 在Docker界面的容器Container中选择Ollama 运行 Exec 命令 ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/57ec0034-3f43-4c34-9a52-fe42f84c42e1.png) ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/cd94f65c-5648-4086-8c48-67e85c23df11.png) ### 5.开启open-webui 注册账号 ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/84126805-1816-4bff-842a-1ae5643825e9.png) 第一个注册账号的用户默认为管理员 ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/da1eeef7-2141-44bd-b008-0676ac661689.png) ### 6.开启WebUI对话 webUI对话选择需要的模型(llama3.1:8.0B) ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/6c6f53dd-bed7-4605-b9dd-b7917fd76585.png) ### 7.OpenWebUI界面中 操作Ollama拉取大模型(llama3.1:8b) ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/7541c221-e0b5-470d-9887-251a57229a0b.png) ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/微信截图_20240913103752.png) ### 8.Ollama API调用 Ollama API:https://github.com/ollama/ollama/blob/main/docs/api.md 问话 Post curl http://localhost:11434/api/generate -d '{ "model": "llama3", "prompt": "Why is the sky blue?"}' 聊天 Post curl http://localhost:11434/api/chat -d '{ "model": "llama3", "messages": [ ​ { ​ "role": "user", ​ "content": "why is the sky blue?" ​ }, ​ { ​ "role": "assistant", ​ "content": "due to rayleigh scattering." ​ }, ​ { ​ "role": "user", ​ "content": "how is that different than mie scattering?" ​ } ] }' # 3.文本转语音服务 ## ChatTTS简介: 官网地址:https://github.com/2noise/ChatTTS 由本仓库衍生出的用户端产品,请参见由社区维护的索引仓库 [Awesome-ChatTTS](https://github.com/libukai/Awesome-ChatTTS)。 体验地址:https://huggingface.co/spaces/chenmgtea/chat-tts 国内体验地址:https://www.modelscope.cn/studios/henjicc/ChatTTS ChatTTS是专门为对话场景设计的文本转语音模型,例如LLM助手对话任务。它支持英文和中文两种语言。最大的模型使用了10万小时以上的中英文数据进行训练。在HuggingFace中开源的版本为4万小时训练且未SFT的版本. ## 部署: 将我们打包的ChatTTS整合包解压到想要存放的目录(最好是固态硬盘),双击start.bat文件启动。也可以仅启动后台服务,仅启动后台服务双击start_api.bat即可。 ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/bae29259-2868-4b0c-9071-1d3835e8446a.jfif) # 4.问题总结 ## 1.启动chatTTS或者SenseVoice报错如下 Microsoft Visual C++ Redistributable is not installed, this may lead to the DLL load failure. ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/fec56be7-0a16-4150-9d45-3506c3592ed1.png) 解决办法: 下载vc_redist.x64.exe并安装(默认位置即可) 下载地址:https://aka.ms/vs/16/release/vc_redist.x64.exe ## 2.SenseVoice需要FFMPEG支持 报错如下 Notice: ffmpeg is not installed. torchaudio is used to load audio If you want to use ffmpeg backend to load audio, please install it by: ​ sudo apt install ffmpeg # ubuntu ​ \# brew install ffmpeg # mac ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/fb2d163b-8733-4aa4-bf8c-639fc4627c4f.png) 解决办法: 下载ffmpeg并且配置环境变量 下载地址:https://ffmpeg.org/download.html ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/dfe127f3-ee5d-421f-aba6-efc2ec7e9f61.png) ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/7e00ad32-894c-4e80-b60c-c16b43710928.png) 环境变量添加 ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/4c821cc0-b8ee-42b3-b325-7072b32c6c23.png) ## 3.SenseVoice仍然启动失败 保证网络正常(关闭网络代理) SenseVoice启动会去网上拉取模型 多试几次 部署完成之后可以关闭SenseVoiceSmall模型更新功能 如下图所示 ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/fb1fadab-0df1-4b76-9119-d78596c78f58.png) ## 4.Docker Deskpot出现Docker Engine Stopped ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/docker_stopped.png) #### 一.检查服务是都开启 ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/docker_stopped_service.jpeg) 找到 【Docker Desktop Service】,然后,启动他; 你也可以直接设置为“自动” 找到服务,右键》属性》启动类型:自动》点击“确定” ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/docker_stopped_3.png) ##### 操作方式1:搜索 ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/docker_stopped_4.png) ##### 操作方式2:命令 键盘【“菜单键win”+r】,弹出运行,输入:services.msc;点击“确定” ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/docker_stopped_5.png) #### 二、检查 [Hyper-V](https://so.csdn.net/so/search?q=Hyper-V&spm=1001.2101.3001.7020)是否安装 ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/docker_stopped_6.png) ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/docker_stopped_7.png) ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/docker_stopped_8.png) #### 三、检查 bcdedit的hypervisorlaunchtype是否为Auto 【win菜单】右键》选择 Windows PowerShell(管理员) 输入: bcdedit 查看hypervisorlaunchtype的状态 ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/docker_stopped_9.png) 如果不是Auto 则需要输入下面命令,重启电脑即可。 命令 : bcdedit /set hypervisorlaunchtype auto ##### 四、重启电脑即可!!! 参考链接 : https://blog.csdn.net/aloha1459/article/details/139349687 参考链接 : https://blog.csdn.net/cplvfx/article/details/138033592 ## 5.docker安装或者docker容器拉取失败 ### 5.1更换docker国内的镜像源 https://zhuanlan.zhihu.com/p/702129315 ### 5.2 需开启<科学上网>工具 重试 ### 5.3 仍还下载 可以尝试加载本地镜像文件 #### 5.3.1导入镜像ollama.tar ###### docker load -i D:\Numberman_package\问题解决方案\docker\images\ollama.tar ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%AF%BC%E5%85%A5Ollama.png) ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/Ollama%E5%AF%BC%E5%85%A5%E7%BB%93%E6%9E%9C.png) ##### 为导入的Ollama镜像创建名称 ###### docker tag 6e25f8e9f7329b6438b9deaab529472eb7008ff09649b12283378b1bc0dca6ec ollama ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/Ollama%E5%AF%BC%E5%85%A5%E7%9A%84%E9%95%9C%E5%83%8F%E9%87%8D%E5%91%BD%E5%90%8D.png) ##### 创建并运行ollama容器的命令: ###### docker run --name ollama -p 11434:11434 -d ollama ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/Ollama%E9%95%9C%E5%83%8F%E8%BF%90%E8%A1%8C%E6%88%90%E5%8A%9F.png) ​ 命令解读: ​ docker run :创建并运行一个容器 ​ --name : 给容器起一个名字,比如叫做mn ​ -p :将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口 ​ -d:后台运行容器 ​ ollama :镜像名称,例如ollama ​ 这里的-p参数,是将容器端口映射到宿主机端口。 #### 5.3.1导入镜像open_webui.tar ###### docker load -i D:\Numberman_package\问题解决方案\docker\images\open_webui.tar ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/%E5%AF%BC%E5%85%A5Open_webui.png) ##### 为导入的open_webui镜像创建名称 ###### docker tag 7d2c4a94a90fa77d3e7179ef24ca174d962ed9c5d70c8493dfc8d999fb129910 open_webui ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/Open_webui%E9%87%8D%E5%91%BD%E5%90%8D.png) ##### 创建并运行open-webui容器的命令: ###### docker run --name open-webui -p 3000:8080 -d open_webui ![](https://gitee.com/HeNuoScott/numberman/raw/master/images/openwebUI%E5%88%9B%E5%BB%BA%E5%AE%B9%E5%99%A8%E5%B9%B6%E8%BF%90%E8%A1%8C.png) ​ 命令解读: ​ docker run :创建并运行一个容器 ​ --name : 给容器起一个名字,比如叫做mn ​ -p :将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口 ​ -d:后台运行容器 ​ ollama :镜像名称,例如ollama ​ 这里的-p参数,是将容器端口映射到宿主机端口。 #### 参考文章: ​ [win10 docker镜像导入导出](https://blog.csdn.net/sunmingyang1987/article/details/104721683) ​ [一文教你在windows上实现ollama+open webui、外网访问本地模型、ollama使用GPU加速](https://blog.csdn.net/qq_28413709/article/details/138210544)