零基础部署Xinference:5个步骤在Ubuntu上搭建AI模型推理服务

零基础部署Xinference:5个步骤在Ubuntu上搭建AI模型推理服务 零基础部署Xinference5个步骤在Ubuntu上搭建AI模型推理服务1. 引言为什么你需要Xinference如果你对AI模型感兴趣想自己搭建一个类似ChatGPT的服务但又觉得技术门槛太高、步骤太复杂那么这篇文章就是为你准备的。想象一下你有一台Ubuntu服务器甚至是一台性能不错的个人电脑你想在上面运行各种开源的AI大模型比如能写文章的、能画图的、能聊天的。传统做法是每个模型都有自己的一套安装和运行方法光是环境配置就能让人头疼好几天。Xinference就是为了解决这个问题而生的。它就像一个“万能插座”让你能用同一种方式轻松启动和管理各种不同的AI模型。无论是Meta的Llama、阿里的Qwen还是清华的ChatGLM你都可以通过Xinference的统一接口来调用。今天我就带你从零开始只用5个核心步骤在Ubuntu系统上把Xinference-v1.17.1跑起来。整个过程不需要你懂复杂的Docker或Kubernetes我们会用最直接、最易懂的方式完成部署。准备好了吗我们开始吧。2. 准备工作确保你的Ubuntu系统就绪在动手安装之前我们需要确保你的Ubuntu系统满足基本要求并安装好必要的工具。别担心这一步很简单跟着做就行。2.1 检查系统与硬件首先确认你的系统版本。打开终端输入lsb_release -a你会看到类似这样的信息Distributor ID: Ubuntu Description: Ubuntu 22.04.3 LTS Release: 22.04 Codename: jammy推荐使用Ubuntu 20.04 LTS或22.04 LTS版本它们长期稳定社区支持好。其他版本也可能行但可能会遇到一些依赖包的小问题。对于硬件建议满足以下最低配置CPU: 4核以上现代x86_64架构内存: 至少8GB运行小模型推荐16GB或以上存储: 至少50GB可用空间模型文件很大网络: 稳定的互联网连接需要下载安装包和模型如果你想运行需要GPU加速的模型比如一些大型语言模型或图像生成模型那么还需要一张NVIDIA显卡并确保已经安装了正确的NVIDIA驱动。2.2 安装必备的系统工具我们需要更新系统软件源并安装几个基础工具比如Python和pipPython的包管理器。在终端中依次执行以下命令# 1. 更新软件包列表 sudo apt update # 2. 升级所有已安装的软件包可选但推荐 sudo apt upgrade -y # 3. 安装Python3、pip3和一些必要的开发库 sudo apt install -y python3 python3-pip python3-venv git curl # 4. 验证安装 python3 --version pip3 --version如果看到Python和pip的版本号比如Python 3.10.x说明安装成功。小提示为了避免不同项目的Python包互相冲突强烈建议使用虚拟环境。但为了本教程的简洁性我们暂时在系统全局环境下安装。如果你熟悉虚拟环境venv或conda可以自行创建并激活。3. 核心步骤一安装Xinference万事俱备现在开始安装主角——Xinference。官方推荐使用pip进行安装这是最快捷的方式。在终端中输入以下命令pip3 install xinference[all]这个命令中的[all]表示安装Xinference的所有功能组件包括Web用户界面、各种模型的后端支持等。安装过程可能会持续几分钟因为它需要下载和编译一些依赖项。安装时可能遇到的问题及解决方法速度慢由于网络原因从PyPI下载可能会很慢。你可以尝试更换pip源到国内镜像例如清华源pip3 install xinference[all] -i https://pypi.tuna.tsinghua.edu.cn/simple权限错误如果提示权限不足可以在命令前加上sudo或者使用--user参数安装到用户目录pip3 install --user xinference[all]使用--user方式安装后可能需要将用户bin目录添加到PATH环境变量中。安装完成后我们来验证一下是否成功。在终端输入xinference --version如果安装成功你会看到输出版本信息例如Xinference, version 1.17.1。看到这个恭喜你Xinference已经成功安装到你的系统上了4. 核心步骤二启动Xinference服务安装好之后下一步就是把它运行起来。Xinference启动后会提供一个本地服务我们可以通过网页或者命令行来管理它。4.1 一键启动服务启动服务非常简单只需要一个命令。在终端中执行xinference-local --host 0.0.0.0 --port 9997我们来解释一下这个命令xinference-local: 这是启动本地Xinference服务的命令。--host 0.0.0.0: 这表示服务监听所有网络接口。这样你不仅能在本机访问也能通过服务器的IP地址从同一网络下的其他电脑访问。--port 9997: 指定服务运行的端口号是9997。你可以改成其他未被占用的端口。执行命令后终端会开始输出日志。当你看到类似Uvicorn running on http://0.0.0.0:9997这样的信息时就说明服务已经成功启动了。4.2 访问Web管理界面服务启动后最直观的管理方式就是通过它的Web界面。打开你电脑上的浏览器比如Chrome、Firefox。在地址栏输入http://你的服务器IP地址:9997如果你就在运行Xinference的这台电脑上操作可以直接输入http://localhost:9997或http://127.0.0.1:9997。按下回车。如果一切正常你将看到Xinference的Web管理界面。这个界面非常清晰左侧是功能菜单中间主区域用于模型管理和交互。第一次打开时模型列表可能是空的因为我们还没有下载和启动任何模型。注意如果你无法从其他电脑访问Web界面可能是服务器的防火墙阻止了9997端口。在Ubuntu上你可以用以下命令临时开放端口sudo ufw allow 99975. 核心步骤三下载并启动你的第一个AI模型空有服务平台不行我们得让它“有脑子”——也就是加载AI模型。Xinference支持从多个源下载模型我们以常用的modelscope魔搭社区为例。5.1 通过Web界面下载模型这是对新手最友好的方式。在刚才打开的Web界面http://localhost:9997中点击左侧的“Models”选项卡。你会看到一个模型列表里面有很多开源模型比如qwen2.5-instruct,llama-3.2,gemma-2等。每个模型后面都有“Download”按钮。找一个你感兴趣的、参数规模适中的模型点击下载。对于初次尝试建议选择Qwen2.5-7B-Instruct或Llama-3.2-3B-Instruct这类模型它们对硬件要求相对友好。点击“Download”后界面会显示下载进度。模型文件通常有几个GB下载时间取决于你的网速请耐心等待。5.2 通过命令行启动模型如果你更喜欢命令行或者想在无图形界面的服务器上操作也可以通过终端来启动模型。首先保持Xinference服务在运行即上一个终端窗口不要关闭。然后打开一个新的终端窗口执行以下命令# 启动一个 Qwen2.5 的 7B 指令微调模型 xinference launch --model-name qwen2.5-instruct --size-in-billions 7 --model-format gguf命令参数说明--model-name: 指定模型名称这里是qwen2.5-instruct。--size-in-billions: 指定模型的参数量7代表70亿参数。--model-format gguf: 指定模型格式为GGUF。这是一种高效、跨平台的模型格式对CPU和GPU都友好。执行后命令行会开始下载模型如果之前没下载过然后加载模型到内存。加载成功后会显示模型对应的唯一标识符model_uid例如qwen2.5-instruct-7b-sft和它监听的端口号。回到Web界面刷新“Models”页面你应该能看到刚刚启动的模型状态显示为“Ready”就绪。这说明模型已经加载成功可以接受推理请求了6. 核心步骤四与AI模型对话两种方式模型跑起来了怎么用呢Xinference提供了多种交互方式这里介绍最常用的两种Web聊天界面和兼容OpenAI的API。6.1 方式一使用内置WebUI聊天这是最简单直接的方式就像使用一个简版的ChatGPT网页。在Xinference的Web界面点击左侧的“Chat”选项卡。在页面中间的下拉菜单中选择你刚刚启动的模型例如qwen2.5-instruct-7b-sft。页面下方会出现一个聊天输入框。直接在输入框里打字比如问它“用Python写一个快速排序的代码”然后按回车或点击发送。稍等片刻模型就会生成回答并显示在对话框中。你可以进行多轮对话体验与开源大模型聊天的乐趣。6.2 方式二通过API接口调用编程方式对于开发者来说通过API调用集成到自己的程序中更为实用。Xinference提供了与OpenAI API兼容的接口这意味着你几乎可以无缝切换。首先你需要知道模型的model_uid。可以在Web界面的模型列表里找到或者通过命令行启动时的输出获得。然后你可以用任何支持HTTP请求的工具或编程语言来调用。这里以最常用的curl命令和Python为例。使用curl命令测试curl http://localhost:9997/v1/chat/completions \ -H Content-Type: application/json \ -d { model: qwen2.5-instruct-7b-sft, messages: [ {role: user, content: 你好请介绍一下你自己。} ], max_tokens: 100 }使用Python代码调用你需要先安装OpenAI的Python包它只是一个客户端我们可以用它来连接Xinference。pip3 install openai然后创建一个Python脚本比如test_xinference.pyfrom openai import OpenAI # 注意base_url 指向你本地运行的Xinference服务 client OpenAI( base_urlhttp://localhost:9997/v1, api_keynot-needed # Xinference默认无需API密钥但需要传一个占位符 ) # 指定你要使用的模型UID model_uid qwen2.5-instruct-7b-sft completion client.chat.completions.create( modelmodel_uid, messages[ {role: user, content: 用简单的语言解释一下什么是机器学习。} ], max_tokens150 ) print(completion.choices[0].message.content)运行这个脚本你就能看到模型返回的回答了。这种方式让你可以轻松地将Xinference提供的模型能力集成到你自己的应用、脚本或服务中。7. 核心步骤五基础维护与下一步探索服务部署好并能正常使用了最后我们来看看日常维护和如何探索更多功能。7.1 服务的启动、停止与查看日志启动服务如前所述在终端运行xinference-local --host 0.0.0.0 --port 9997。如果你想让服务在后台长期运行可以在命令前加上nohup并使用放到后台nohup xinference-local --host 0.0.0.0 --port 9997 xinference.log 21 这样日志会输出到xinference.log文件。停止服务在运行服务的终端窗口中按Ctrl C即可停止。如果是后台运行需要先找到进程IDPID然后终止ps aux | grep xinference-local # 找到PID kill -9 PID # 替换PID为实际的进程号查看日志日志是排查问题的关键。如果服务在前台运行日志直接输出在终端。如果在后台运行可以用tail命令查看tail -f xinference.log7.2 模型文件在哪里默认情况下Xinference下载的模型会存放在你的用户目录下的.xinference文件夹中例如/home/你的用户名/.xinference。你可以通过环境变量XINFERENCE_HOME来修改这个路径。如果你需要释放磁盘空间可以安全地删除这个目录下不再需要的模型文件。7.3 接下来可以玩什么至此你已经成功搭建了一个属于自己的AI模型推理服务。但这只是开始Xinference还有更多强大的功能等待你探索尝试更多模型在Web界面的“Models”里除了聊天模型还有文本嵌入模型、图像生成模型如Stable Diffusion、语音识别模型等。尝试启动一个图像生成模型让它帮你画张画。使用命令行客户端除了Web和APIXinference也提供了功能完整的命令行客户端输入xinference --help查看所有命令。探索高级配置比如如何配置GPU加速、如何设置多个模型同时服务、如何启用API认证等这些可以在官方文档中找到详细说明。集成到其他工具Xinference与LangChain、LlamaIndex等流行的AI应用开发框架有很好的集成你可以用它作为后端构建更复杂的AI应用。8. 总结回顾一下我们从零开始完成了在Ubuntu上部署Xinference的五个核心步骤系统准备确保Ubuntu环境就绪安装好Python和pip。安装Xinference一条pip命令搞定核心平台的安装。启动服务一个命令让Xinference在本地跑起来并通过浏览器访问管理界面。加载模型从丰富的模型库中选择一个下载并启动赋予平台“智能”。开始使用通过直观的Web界面聊天或者用兼容OpenAI的API将其集成到你的代码中。整个过程没有涉及复杂的容器编排和集群配置聚焦于让单个用户或小团队快速拥有一套可用的AI模型服务。Xinference的强大之处在于它的“统一”和“简化”它把各种开源模型繁杂的部署细节封装起来给你一个干净、一致的接口。现在你的服务器上已经运行着一个功能完整的AI推理引擎了。无论是用于学习、实验还是作为某些轻量级应用的后端它都能提供强大的支持。动手试试让你的第一个AI模型回答你的问题吧获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。