ARTICLE DETAIL

资讯详情

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

本地 RAG 一站式方案:MTPLX 同一服务器部署 Embedding 与 Rerank 模型的完整教程

本地 RAG 一站式方案:MTPLX 同一服务器部署 Embedding 与 Rerank 模型的完整教程 本地 RAG 一站式方案:MTPLX 同一服务器部署 Embedding 与 Rerank 模型的完整教程【免费下载链接】MTPLXThe fastest way to run Qwen 3.8 Flash Next, Qwen 3.8 27B and Ternary Bonsai 2 27B on a Mac: 125 tok/s in OpenCode on an M5 Max, and a 27B model on 16 GB Macs. Native MTP speculative decoding on Apple Silicon, exact at any temperature. OpenAI and Anthropic compatible local server.项目地址: https://gitcode.com/gh_mirrors/mt/MTPLXMTPLX是跑在 MacApple Silicon上的本地大模型加速引擎它不只是聊天模型服务器从 2.6.0 版本起MTPLX 的同一个守护进程就能同时托管Embedding向量化模型和Rerank重排模型与聊天模型共享一个 OpenAI 兼容服务。也就是说本地 RAG 检索增强生成所需的向量检索与重排不需要再为它们单独起一个推理服务器——一台 Mac、一个进程全部搞定。为什么本地 RAG 需要 Embedding 和 Rerank本地 RAG 的典型链路是切分把文档切成片段Embedding用向量化模型把每个片段和查询词都转成向量先做一轮粗召回Rerank用重排模型对「查询 候选片段」逐对打分把真正相关的片段排到最前生成把 Top-K 片段塞进提示词交给聊天模型作答。传统做法里第 2、3 步往往要再部署一个推理服务Ollama、TEI 或别的多占内存、多管端口。MTPLX 的检索模块mtplx/retrieval.py把这两个角色做进了聊天服务器的同一进程里Embedding取最后一个真实 token 的隐藏状态并 L2 归一化精确复现 Qwen3-Embedding 系列poolinglast的行为并支持 OpenAI 风格的dimensionsMatryoshka 截断Rerank按 Qwen3-Reranker 家族的 yes/no 判断提示词构造输入对最后一位的 yes/no logits 做 softmax兼容 Cohere/Jina 风格的请求格式。一键启动安装 MTPLX 并挂载检索模型1. 安装macOS 14、M1 或更新芯片即可。三选一# 方式一Homebrew brew install youssofal/mtplx/mtplx # 方式二pip python3 -m pip install mtplx # 方式三把源码放到本地后安装 git clone https://gitcode.com/gh_mirrors/mt/MTPLX cd MTPLX python3 -m pip install .2. 启动带 Embedding Rerank 的服务关键就是两个参数--embedding-model和--reranker-model都支持REF[SERVED_ID]形式、可重复传多个mtplx serve \ --model Youssofal/Qwen3.8-27B-MTPLX-Optimized-Speed \ --embedding-model Qwen/Qwen3-Embedding-8B \ --reranker-model Qwen/Qwen3-Reranker-8B要点说明参数定义见 mtplx/cli.py 中serve子命令部分参数默认值作用--embedding-model无挂到/v1/embeddings首次请求才加载--reranker-model无挂到/v1/rerank同一 REF 同时当 embedder 和 reranker 时只加载一次--retrieval-max-resident2常驻内存的检索模型数上限超了按 LRU 卸载--retrieval-idle-timeout0不超时空闲 N 秒后自动卸载把内存还给聊天模型--retrieval-max-tokens0模型默认截断检索输入长度--retrieval-trust-remote-code关jina 风格自带 Python 的 checkpoint 需显式授权才运行两个贴心的安全设计启动即校验配置的检索模型不在磁盘上时服务直接拒绝启动并提示mtplx pull repo而不是等到第一个请求才回 500见 docs/releases/v2.11.3.md模型隔离/v1/models默认只列聊天模型纯检索 ID 拿来当聊天目标会收到明确的 400客户端的选择器永远不会把 embedder 当成聊天模型。两个新端点Embedding 与 Rerank 怎么调/v1/embeddings—— 与 OpenAI 完全同形curl http://127.0.0.1:8000/v1/embeddings \ -H Content-Type: application/json \ -d { model: Qwen/Qwen3-Embedding-8B, input: [本地 RAG 教程, MTPLX 如何在 Mac 上跑 27B 模型], dimensions: 1024 }批量输入一次搞定dimensions还能做 Matryoshka 截断——维度调小向量库更省空间。/v1/rerank—— Cohere/Jina 风格curl http://127.0.0.1:8000/v1/rerank \ -H Content-Type: application/json \ -d { model: Qwen/Qwen3-Reranker-8B, query: MTPLX 如何在一台 16GB Mac 上跑 27B 模型, documents: [ Ternary Bonsai 2 27B 是 16GB Mac 的首推模型峰值仅 11.8 GiB, 今天天气不错适合出门散步 ], top_n: 1 }返回带分数的排序结果取 Top-K 拼进提示词即可。内存管理小 Mac 上聊天与检索如何共存这是「同一服务器」方案最实际的问题模型太多会不会把统一内存吃光MTPLX 的检索子系统为此内置了四层机制实现见 mtplx/retrieval.py设计文档见 docs/superpowers/specs/2026-07-29-retrieval-idle-standby-design.md懒加载检索模型在第一次请求时才加载配置了但没用过的模型不占一行内存LRU 常驻上限--retrieval-max-resident控制同时驻留的模型数最久未用的自动卸载空闲超时--retrieval-idle-timeout 600让闲置超过 10 分钟的模型自动退场会话 KV 缓存还会归档到 SSD 冷层而不是丢弃恢复对话无需重新 prefill内存压力联动系统内存进入临界状态时优先卸载空闲的检索后端保护聊天主模型。另外批处理也很讲究短文本按 2048 token 预算密排成一个 batch提速约 3 倍长文本单独成批避免长句拖住短句。把 RAG 接进你的工作流服务起来后你的 RAG 客户端只需要改两个 base URL 指向http://127.0.0.1:8000向量库构建脚本里的 embedding 调用、以及生成环节的 OpenAI/Anthropic 兼容接口全部指向 MTPLX。聊天模型、向量模型、重排模型同机同端口数据不出本机。想深入细节推荐按顺序读这几份资料功能发布说明docs/releases/v2.6.0.mdembedding/rerank 端点首次亮相检索模块源码与设计mtplx/retrieval.py、docs/superpowers/specs/2026-07-29-retrieval-idle-standby-design.md服务端 API 参考docs/api.md、docs/server.md回归测试覆盖tests/test_retrieval.py常见问题Q我只有 16GB 内存能同时跑聊天 两个检索模型吗A能但要配合--retrieval-max-resident 1或设置--retrieval-idle-timeout让不用的模型自动让出内存。设计文档中给出的参考基线是聊天权重 18.4 GB、会话缓存 6.9 GB、两个检索模型共 6.1 GB——按需卸载是关键。QRerank 会影响聊天速度吗A不会互相干扰。检索模型走独立的 transformer 前向不进 MTP 投机解码运行时它和聊天模型共享的是 GPU 与内存靠上面的 LRU/空闲卸载机制让出资源。Qjina 风格、自带 Python 的 checkpoint 能直接挂吗A默认拒绝——下载模型不应顺带获得代码执行权。确认信任后加--retrieval-trust-remote-code显式开启。QEmbedding 和 Rerank 能用同一个模型吗A可以。同一个 REF 同时注册两个角色时按文件路径去重权重只加载一份。小结MTPLX 把「本地 RAG 需要三个服务」简化成了「一个端口」mtplx serve加上--embedding-model和--reranker-model你的 Mac 就同时拥有高速聊天MTP 投机解码、OpenAI 同形的/v1/embeddings和兼容 Cohere/Jina 的/v1/rerank再配上 LRU 卸载与空闲超时16GB 的小机器也从容不迫。这正是「本地 RAG 一站式方案」该有的样子——少装一个服务少管一个端口快一步用上检索增强。【免费下载链接】MTPLXThe fastest way to run Qwen 3.8 Flash Next, Qwen 3.8 27B and Ternary Bonsai 2 27B on a Mac: 125 tok/s in OpenCode on an M5 Max, and a 27B model on 16 GB Macs. Native MTP speculative decoding on Apple Silicon, exact at any temperature. OpenAI and Anthropic compatible local server.项目地址: https://gitcode.com/gh_mirrors/mt/MTPLX创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表