寒武纪MLU结合Deepseek-R1-Distill实现本地知识库部署


前言

本章节将使用xinference启动 LLM+检索模型服务,然后使用Langchain-chatchat接收模型服务api,并录入知识库,实现本地知识库部署。


一、平台环境准备

镜像选择:pytorch:v24.10-torch2.4.0-torchmlu1.23.1-ubuntu22.04-py310
【请注意仔细查看自己的镜像版本,老版本改法,请查阅之前文章】

卡选择:任意一款MLU3系列及以上卡

二、模型下载

1.DeepSeek-R1-Distill-Qwen-14B模型下载

apt install git-lfs
git-lfs clone https://www.modelscope.cn/deepseek-ai/DeepSeek-R1-Distill-Qwen-14B.git

2.bge-large-zh-v1.5检索模型下载

git-lfs clone https://www.modelscope.cn/AI-ModelScope/bge-large-zh-v1.5.git

rerank模型也可自行下载方式与下面一致,这里不做展示

3.基础环境安装

pip install sentence-transformers transfromers accelerate

三、Xinference部署

git clone -b v1.2.1 https://githubfast.com/xorbitsai/inference.git #拷贝源代码
python /torch/src/torch_mlu/tools/torch_gpu2mlu/torch_gpu2mlu.py -i inference/
#webui安装
apt install npm -y
cd inference && python setup.py build_web
cd .. && pip install -e ./inference_mlu #源码编译 
##全局搜索【可以用vscode全局替换】
bfloat16 -> float16 #仅370

至此环境安装完成,简单起一个webui测试下环境

xinference-local #命令行运行

找到对应模型按照红框配置

1.LLM模型启动

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
至此大模型启动完成,

2.EMBEDDING 模型启动

在这里插入图片描述


出现IP+端口即服务部署完成,接着开始部署langchain-chatchat

四、Langchain-chatchat部署

pip install langchain-chatchat -U
#回到刚才路径在
pip install -e ./inference_mlu
export CHATCHAT_ROOT=/workspace/volume/guojunceshi2/set_langchain/ #设置该环境变量可以让我们找到自己的Yaml配置文件
cp -r bge-large-zh-v1.5/ set_langchain/data/knowledge_base/samples/vector_store/ #检索模型拷贝到这个路径下
# 解决nltk_data问题
cd set_langchain/data/ && rm -rf nltk_data && git clone https://gitee.com/maximnum/nltk_data.git
#如果你已经启动了 Xinference 服务,可以直接指定 Xinference API 地址、LLM 模型、Embedding 模型
chatchat init -x http://127.0.0.1:9997/v1 -l deepseek-r1-distill-qwen -e bge-large-zh-v1.5 -r
#如果你有自己的数据集你可以不用开源的数据集做测试,直接开始下一步

注意安装完langchain后,建议在执行一次,pip install -e ./inference_mlu ,因为两个包感觉有点冲突

五、部署结果展示 or 用自己的数据集做问答

chatchat start -a
#之后访问8501端口界面

在这里插入图片描述
LLM能力如上,接着开始演示如何用自己的数据集做问答
在这里插入图片描述
在这里插入图片描述
简单上传一个自我介绍文档,看下效果
在这里插入图片描述

可以适当调整阈值,蓝色框为思考,其他部分为最后结果。

### 寒武纪MLUDeepSeek集成指南 #### MLU简介及其特性 寒武纪MLU(Cambricon Machine Learning Unit)是一款专为人工智能应用设计的处理器,旨在加速机器学习模型推理过程中的计算任务。该硬件平台支持多种主流框架下的神经网络部署,并提供高效的性能功耗比。 #### DeepSeek概述 DeepSeek是一个强大的AI开发工具集,能够帮助企业快速构建、训练并优化深度学习模型。它不仅提供了丰富的预训练模型资源库,还具备直观易用的操作界面以及详细的文档指导[^1]。 #### 集成环境准备 为了使寒武纪MLU能顺利运行由DeepSeek创建的应用程序,在开始之前需完成如下准备工作: - **安装驱动程序**:确保目标设备已正确安装最新版本的寒武纪MLU驱动软件包。 - **配置依赖项**:依据具体应用场景选择合适的Python解释器版本,并利用pip或其他方式安装必要的第三方库文件。 ```bash sudo apt-get update && sudo apt-get install python3-pip pip3 install --upgrade pip setuptools wheel ``` #### 下载与安装DeepSeek SDK 前往官方网站获取适用于Linux系统的DeepSeek SDK压缩包链接,解压至指定目录后按照README.md内的指示逐步操作以完成本地化设置流程[^5]。 ```bash wget https://example.com/deepseek_sdk.tar.gz tar -zxvf deepseek_sdk.tar.gz cd deepseek_sdk/ chmod +x setup.sh ./setup.sh ``` #### 创建基于MLU的目标项目结构 建立一个新的工程空间用于存放即将编写的源码片段及其他关联资产;同时定义好虚拟环境来隔离不同项目的依赖关系管理问题。 ```bash mkdir my_deepseek_project virtualenv venv source ./venv/bin/activate ``` #### 编写简单的测试案例验证连通性 编写一段简短的Python脚本作为概念证明(PoC),尝试加载预先训练好的图像分类模型并通过调用`predict()`方法向量化输入样本进而得到预测结果输出。 ```python from deepseek import load_model, predict if __name__ == "__main__": model_path = "./models/resnet50.onnx" # 加载ONNX格式的ResNet-50模型实例 resnet50 = load_model(model_path) sample_image = "cat.jpg" prediction_result = predict(resnet50, sample_image) print(f"Predicted class index is {prediction_result}.") ``` #### 运行应用程序前最后检查事项 确认所有前置条件均已满足之后就可以启动刚才所搭建起来的服务端口监听进程啦! ```bash export LD_LIBRARY_PATH=/usr/local/cambricon/lib:$LD_LIBRARY_PATH python3 main.py ``` 以上就是关于如何将寒武纪MLUDeepSeek结合的一系列步骤说明,希望能够帮助到正在探索这一领域的开发者们。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值