ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

3 条命令跑通 Xinference:5 分钟拿到一个本地 LLM 推理服务

3 条命令跑通 Xinference:5 分钟拿到一个本地 LLM 推理服务 3 条命令跑通 Xinference5 分钟拿到一个本地 LLM 推理服务【免费下载链接】inferenceSwap GPT for any LLM by changing a single line of code. Xinference lets you run open-source, speech, and multimodal models on cloud, on-prem, or your laptop — all through one unified, production-ready inference API.项目地址: https://gitcode.com/GitHub_Trending/in/inference做 RAG 或 Agent 应用时最卡人的往往不是算法而是模型调用这一层接 OpenAI 要 API Key 和网络出口自己用 vLLM 起服务又要改启动参数、再包一层 API换个模型再来一遍。Xinference 把开源模型服务这件事收敛成一个本地进程LLM、embedding、rerank、语音、多模态全部走同一套 OpenAI 兼容接口一条命令就能把模型拉起来对外提供推理。环境准备安装、启动到第一次调用一条命令装齐所有推理引擎依赖transformers、vLLM、xllamacpp 等pip install xinference[all]裸 CPU 机器可以只装基础包加需要的引擎完整列表见 doc/source/getting_started/installation.rst。装完直接拉服务xinference-local --host 0.0.0.0 --port 9997看到Uvicorn running on http://0.0.0.0:9997就说明服务起来了模型默认缓存在~/.xinference可用环境变量XINFERENCE_HOME改位置。浏览器打开http://127.0.0.1:9997是 Web 管理界面/docs页可以看到全部 API 文档。第一次调用不需要写任何代码用 curl 直接打 OpenAI 兼容端点验证curl http://127.0.0.1:9997/v1/models返回一个 JSON 数组列出当前环境可用的模型说明服务端点已经通了。核心工作流从启动模型到拿到 token第一步启动模型。Web 界面点选当然可以脚本里用 Python 客户端更干净它封装了全部 REST 调用from xinference.client import Client client Client(http://127.0.0.1:9997) # model_engine 指定推理后端vllm 吞吐更高 handle client.launch_model( model_nameqwen2.5-instruct, model_typeLLM, model_enginevllm, ) print(handle._model_uid) # 后续 API 调用都靠这个 uid 定位模型几秒后终端输出Model qwen2.5-instruct-... launched拿到一个 model_uidWeb 界面里也能看到模型进入 running 状态。第二步发请求。拿到 uid 后任何 OpenAI SDK 把base_url换成http://127.0.0.1:9997/v1就能直接调用不用改业务代码curl http://127.0.0.1:9997/v1/chat/completions \ -H Content-Type: application/json \ -d {model: model_uid, messages: [{role: user, content: 用一句话介绍你自己}]}流式和非流式都支持返回体结构与 OpenAI 完全一致你的代码里换一行配置就切到了本地模型。第三步下线模型。用完不关会一直占着显存按 uid 停掉即可client.terminate_model(model_uid)整个过程不需要你手写进程管理、端口转发或 API 层工作流大致如下指标自己拼 vLLM/transformersXinference换一个新模型改启动参数、重装依赖、重测接口换一个model_name重新 launch多模型共存各占一个进程和端口手动管理一个服务内启停、查状态、看日志进阶技巧显存、吞吐与模型源量化换显存。启动前先用xinference engine查一个模型支持哪些引擎 × 格式 × 量化组合避免起不来xinference engine -e http://127.0.0.1:9997 --model-name qwen2.5-instruct --model-engine vllm确认有 Q4 档位后launch 时加一个quantization参数即可7B 模型的显存占用能降到 fp16 的四分之一左右。拿不准就先用xinference cal-model-mem估算完整参数说明在 doc/source/getting_started/using_xinference.rst。并发请求自动攒批。3.0 版本默认开启 auto batch多个请求同时到达时运行时把它们攒成一个 batch 一起算你不需要写任何配置只要业务侧是并发发请求吞吐就会明显高于串行调用。模型下载慢就换源。默认从 Hugging Face 拉权重国内环境可以整体切到 ModelScopeXINFERENCE_MODEL_SRCmodelscope xinference-local权重只下一次缓存在~/.xinference重启服务不再重复下载。实战把一份离线文档变成可问答的检索服务场景你手上有一本 200 页的技术手册 PDF想在内网无外网、不能传数据出域让它支持自然语言提问。全程只靠 Xinference不依赖额外 RAG 框架。启动一个 embedding 模型和一个 LLM两个都走 vLLMemb client.launch_model(model_namebge-base-en-v1.5, model_typeembedding) llm client.launch_model(model_nameqwen2.5-instruct, model_typeLLM)手册按段落切块一次性向量化——embedding 接口支持批量输入几百个 chunk 一次调用vectors emb.create_embedding(inputchunks) # 返回与 chunks 等长的向量列表用户提问时先算问题向量取相似度最高的 2 个 chunk 作为上下文拼进 promptqvec emb.create_embedding(input[question])[0] # 纯 Python 算点积排序即可chunk 量级在千以内无需向量数据库 top top_k_by_cosine(qvec, vectors, k2) context \n\n.join(chunks[i] for i in top)把context question丢给 LLM走/v1/chat/completions拿到带出处的回答。从装包到问出第一个问题的回答顺利的话 10 分钟内能走完。如果你要做的不是通用知识库而是医疗、法律这类垂直域问答思路完全一样把model_name换成内置的领域模型比如HuatuoGPT-o1-LLaMA-3.1检索和拼接代码一行都不用动全部内置模型清单见 xinference/model/llm/llm_family.json。常见踩坑与解决现象xinference-local启动报端口被占用。原因9997 默认端口被旧进程或别的程序占了。解法xinference-local --host 0.0.0.0 --port 8000换个端口客户端 URL 同步改掉。现象大模型 launch 后卡在加载或报 OOM。原因fp16 全精度权重超出当前显存。解法xinference engine -e http://127.0.0.1:9997 --model-name name查可用量化档位加quantization参数重启纯 CPU 场景改用model_formatggufmodel_enginellama.cpp。现象首次拉模型极慢甚至超时。原因默认走 Hugging Face网络环境不友好。解法XINFERENCE_MODEL_SRCmodelscope xinference-local或者手动把权重放进~/.xinference对应目录后直接启动。资源与延伸阅读→ 安装指南各推理引擎的依赖组合 → 使用入门CLI、Python 客户端与 Web UI → 分布式推理supervisor worker 多机部署 → 内置模型清单与参数说明 → 服务端压测脚本可用来验证你自己的吞吐把第二章那两条命令跑一遍5 分钟后你手上就有一个带管理界面、OpenAI 兼容接口、能随时换模型的本地推理服务。【免费下载链接】inferenceSwap GPT for any LLM by changing a single line of code. Xinference lets you run open-source, speech, and multimodal models on cloud, on-prem, or your laptop — all through one unified, production-ready inference API.项目地址: https://gitcode.com/GitHub_Trending/in/inference创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表