百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

手把手教本地部署Xinference + deepseek-R1、reranker-v2、bge-m3

wptr33 2025-03-30 21:46 15 浏览

Xinference 作为本地 AI 推理框架,相较于 Ollama 和其他推理方案,有以下几个核心优势:

1. 多模型支持。

Xinference 兼容 大量 LLM(大语言模型),不仅支持 LLaMA 和 Mistral,还包括:

国产模型:ChatGLM、Qwen(通义千问)、Baichuan(百川)等

开源模型:Mistral、LLaMA、Gemma、Phi 等多模态支持:

部分版本支持 语音、图像、文本 处理。

2. 分布式 & 多 GPU 支持。

兼容 OpenAI API,可以无缝替换 OpenAI 的 API,方便集成现有应用。

3. API 兼容性 & 扩展性。

兼容 OpenAI API,可以无缝替换 OpenAI 的 API,方便集成现有应用。支持 Web UI:提供管理界面,可以直接在浏览器里管理模型,而 Ollama 主要是命令行操作。

4. 高效的推理优化。

比 Ollama 更适合 AI 研究人员、企业级应用,而 Ollama 更适合个人用户。

5. 适用于科研 & 生产环境。

比 Ollama 更适合 AI 研究人员、企业级应用,而 Ollama 更适合个人用户。

但是Xinference安装很复杂,需要 PyTorch, transformers, llama-cpp-python 等库,对环境要求较高。

一、本地手动安装Xinference。

1、 需要提前安装好的组件

安装python,直接到如下网站下载安装即可。我用的python 3.10.11是可以的。

https://www.python.org/downloads/release/python-31011/

PyTorch

For most users (CPU & CUDA 11+): pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

For CPU-only (no GPU support needed): pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu

检测是否安装好:python -c "import torch; print(torch.__version__)",输入如下图即安装好了

python -c "import torch; print(torch.__version__)"

安装CUDA

可以去官网下载,安装,然后重启电脑

Win11 : https://developer.nvidia.com/cuda-downloads?target_os=Windows&target_arch=x86_64&target_version=11&target_type=exe_network

Win 10: https://developer.nvidia.com/cuda-downloads?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exe_network

检测是否安装好:在PowerShell中输入nvcc –version,显示如图即安装好了。同时可以输入python -c "import torch; print(torch.cuda.is_available())",显示为true,表明PyTorch 检测到了 CUDA。

python -c "import torch; print(torch.cuda.is_available())"

安装Visual Studio 2022,需要安装的组件如图所示:

此部分安装好后,可以在PowerShell中输入cmake –version,回车,如图显示则表明cmake安装成功。如果显示命令无法识别,可以自行去”系统>“系统信息”>”高级系统设置”>“环境变量”>“系统变量”>中找到PATH变量,鼠标左键双击,兴建以下PATH,C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin。

cmake –version
C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin

此部分安装好后,可以在PowerShell中输入cl,回车,如图显示则表明C++编译器安装成功。如果显示命令无法识别,可以自行去”系统>“系统信息”>”高级系统设置”>“环境变量”>“系统变量”>中找到PATH变量,鼠标左键双击,兴建以下PATH,一个是C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.43.34808\bin\Host”。

C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.43.34808\bin\Host”

2、 本地编译Xinference

建立文件夹命名为“Xinference”,选中地址栏,输入CMD,回车即进入到命令行输入界面,然后输入命令 pip install xinference[all] 命令,回车,等待编译完成。成功编译完成如下图

pip install xinference[all]

此步骤容易出错,以下为纠错步骤,如没有遇到错误直接下一步。

错误1、安装过程中如果出现如图提示错误,说明缺少PyTorch,可以输入命令安装,如果有独立显卡的输入pip install torch torchvision torchaudio --index-url
https://download.pytorch.org/whl/cu118,如果没有独立显卡的输入 pip install torch torchvision torchaudio --index-url
https://download.pytorch.org/whl/cpu

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu

安装完后,输入命令python -c "import torch; print(torch.cuda.is_available())",如果输出为true,即安装正确了。

python -c "import torch; print(torch.cuda.is_available())"

错误2,如图。如果电脑没有安装CUDA,可以去
https://developer.nvidia.com/cuda-downloads安装合适版本。

错误3、如果出现“llama-cpp-python”模块报错,可以用命令git clone
https://github.com/abetlen/llama-cpp-python.git进行安装。

如果安装无法拉取文件,可以下载zip文件本地安装。但是注意下载的zip解压后llama-cpp-python-main\vendor\llama.cpp文件夹中文件缺失,可以自行拉取,方法如下:PowerShell进入到解压文件C:\Users\你的用户名\llama-cpp-python-main\vendor\llama.cpp之下,输入git clone
https://github.com/ggml-org/llama.cpp.git拉取文件。文件拉取完成后,依次输入命令“git submodule update --init –recursive”、“cd ../..”、“pip install .”即可安装安装完成。

git clone https://github.com/ggml-org/llama.cpp.git
git submodule update --init –recursive
cd ../..
pip install

检测是否安装成功,打开PowerShell输入python>import llama_cpp>print(llama_cpp.__version__),没有报错即成功,如图

python
import llama_cpp
print(llama_cpp.__version__)

错误4、某些小伙伴安装后可能会缺少socksio-1.0.0库,PowerShell中输入pip install socksio安装即可。

pip install socksio

3、 PowerShell输入命令xinference-local运行程序

打开浏览器输入http://127.0.0.1:9997访问Xinference,如图。下次再运行的时候PowerShell中输入xinference-loca即可。

xinference-local

二、在Xinference中部署本地大模型

1、 部署语言模型(LANGUAGE MODELS):蒸馏版deepseek R1模型。

在PowerShell中通过命令xinference-local,启动Xinference,然后在浏览器中访问http://127.0.0.1:9997/,进入图形化界面。点击左上“Launch Model”>“LANGUAGE MODELS”>” deepseek-r1-distill-qwen”,按照下图进行设置。

点击火箭图标后,就开始本地部署。可以参看PowerShell中正在运行的内容,如下图

安装好后,回到http://127.0.0.1:9997/,点击“Running Models”就可以看到正在运行的语言模型了,如图所示

2、 部署嵌入模型(EMBEDDING MODELS):bge-m3。

在PowerShell中通过命令xinference-local,启动Xinference,然后在浏览器中访问http://127.0.0.1:9997/,进入图形化界面。点击左上“Launch Model”>“EMBEDDING MODELS”>” bge-m3”,使用默认参数即可。

安装好后,回到http://127.0.0.1:9997/,点击“Running Models”就可以看到正在运行的模型了,如图所示


3、 部署重排序模型(RERANK MODELS):bge-reranker-v2-m3

在PowerShell中通过命令xinference-local,启动Xinference,然后在浏览器中访问http://127.0.0.1:9997/,进入图形化界面。点击左上“Launch Model”>“RERANK MODELS”>” bge-reranker-v2-m3”, 使用默认参数即可。

三、如果你装有Docker,也可以在本地用Docker部署Xinference。

1、个人部署

docker run -it --name xinference -d -p 9997:9997 -e XINFERENCE_MODEL_SRC=modelscope -e XINFERENCE_HOME=/workspace -v /yourworkspace/Xinference:/workspace --gpus all xprobe/xinference:latest xinference-local -H 0.0.0.0

2、也可以分布式部署

docker run -it --name xinference-master -d -p 9997:9997 -e XINFERENCE_MODEL_SRC=modelscope -e XINFERENCE_HOME=/workspace -v /yourworkspace/Xinference:/workspace --gpus all xprobe/xinference:latest xinference-supervisor -H "${master_host}"
docker run -it --name xinference-worker -d -p 16500:16500 -e XINFERENCE_MODEL_SRC=modelscope -e XINFERENCE_HOME=/workspace -v /yourworkspace/Xinference:/workspace -e "http://${supervisor_host}:9997" -H "${worker_host}"

3、在浏览器中访问http://127.0.0.1:9997/,进入图形化界面。在Xinference部署大模型见二中所述。

写作不易,麻烦点个红星和关注!

下篇发布Xinference+Dify部署。

相关推荐

redis的八种使用场景

前言:redis是我们工作开发中,经常要打交道的,下面对redis的使用场景做总结介绍也是对redis举报的功能做梳理。缓存Redis最常见的用途是作为缓存,用于加速应用程序的响应速度。...

基于Redis的3种分布式ID生成策略

在分布式系统设计中,全局唯一ID是一个基础而关键的组件。随着业务规模扩大和系统架构向微服务演进,传统的单机自增ID已无法满足需求。高并发、高可用的分布式ID生成方案成为构建可靠分布式系统的必要条件。R...

基于OpenWrt系统路由器的模式切换与网页设计

摘要:目前商用WiFi路由器已应用到多个领域,商家通过给用户提供一个稳定免费WiFi热点达到吸引客户、提升服务的目标。传统路由器自带的Luci界面提供了工厂模式的Web界面,用户可通过该界面配置路...

这篇文章教你看明白 nginx-ingress 控制器

主机nginx一般nginx做主机反向代理(网关)有以下配置...

如何用redis实现注册中心

一句话总结使用Redis实现注册中心:服务注册...

爱可可老师24小时热门分享(2020.5.10)

No1.看自己以前写的代码是种什么体验?No2.DooM-chip!国外网友SylvainLefebvre自制的无CPU、无操作码、无指令计数器...No3.我认为CS学位可以更好,如...

Apportable:拯救程序员,IOS一秒变安卓

摘要:还在为了跨平台使用cocos2d-x吗,拯救objc程序员的奇葩来了,ApportableSDK:FreeAndroidsupportforcocos2d-iPhone。App...

JAVA实现超买超卖方案汇总,那个最适合你,一篇文章彻底讲透

以下是几种Java实现超买超卖问题的核心解决方案及代码示例,针对高并发场景下的库存扣减问题:方案一:Redis原子操作+Lua脚本(推荐)//使用Redis+Lua保证原子性publicbo...

3月26日更新 快速施法自动施法可独立设置

2016年3月26日DOTA2有一个79.6MB的更新主要是针对自动施法和快速施法的调整本来内容不多不少朋友都有自动施法和快速施法的困扰英文更新日志一些视觉BUG修复就不翻译了主要翻译自动施...

Redis 是如何提供服务的

在刚刚接触Redis的时候,最想要知道的是一个’setnameJhon’命令到达Redis服务器的时候,它是如何返回’OK’的?里面命令处理的流程如何,具体细节怎么样?你一定有问过自己...

lua _G、_VERSION使用

到这里我们已经把lua基础库中的函数介绍完了,除了函数外基础库中还有两个常量,一个是_G,另一个是_VERSION。_G是基础库本身,指向自己,这个变量很有意思,可以无限引用自己,最后得到的还是自己,...

China's top diplomat to chair third China-Pacific Island countries foreign ministers' meeting

BEIJING,May21(Xinhua)--ChineseForeignMinisterWangYi,alsoamemberofthePoliticalBureau...

移动工作交流工具Lua推出Insights数据分析产品

Lua是一个适用于各种职业人士的移动交流平台,它在今天推出了一项叫做Insights的全新功能。Insights是一个数据平台,客户可以在上面实时看到员工之间的交流情况,并分析这些情况对公司发展的影响...

Redis 7新武器:用Redis Stack实现向量搜索的极限压测

当传统关系型数据库还在为向量相似度搜索的性能挣扎时,Redis7的RedisStack...

Nginx/OpenResty详解,Nginx Lua编程,重定向与内部子请求

重定向与内部子请求Nginx的rewrite指令不仅可以在Nginx内部的server、location之间进行跳转,还可以进行外部链接的重定向。通过ngx_lua模块的Lua函数除了能实现Nginx...