ARTICLE DETAIL

资讯详情

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

MTPLX API 参考:OpenAI、Anthropic 与 Codex Responses 全端点解析

MTPLX API 参考:OpenAI、Anthropic 与 Codex Responses 全端点解析 MTPLX API 参考:OpenAI、Anthropic 与 Codex Responses 全端点解析【免费下载链接】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 是跑在 Apple Silicon 上的本地大模型加速服务,核心卖点是用模型自带的 MTP(多 token 预测)头实现原生推测解码,最高可达 125 tok/s。它的另一大优势是内置了三套兼容 API——OpenAI Chat Completions、Anthropic Messages 和 Codex Responses——外加一套丰富的可观测性与管理端点。本文是 MTPLX 本地模型服务的完整 API 参考,带你逐一解析每个端点能做什么、怎么用。一分钟启动 MTPLX 本地服务器启动一条命令搞定,服务默认监听127.0.0.1:8000:mtplx serve --port 8000常用启动参数:参数作用--api-key开启鉴权(绑定非 localhost 时必填)--rate-limit 120每分钟请求数上限--stream-interval N每 N 个已确认 token 才发一次 SSE 事件,降低客户端事件频率--warmup-tokens 16加载模型后跑一次小规模生成预热,结果写入/health--no-mtp关闭 MTP 推测解码,退化为普通 AR 生成--reasoning-effort high设置服务器级思考深度默认值鉴权支持两种请求头:Authorization: Bearer key或X-API-Key: key。更多参数见 docs/api.md 的 Server Flags 一节。MTPLX 端点全景表以下是全部对外端点,源码集中在 mtplx/server/openai.py:端点方法用途/v1/chat/completionsPOSTOpenAI 兼容对话补全(主力接口)/v1/completionsPOST传统 Completions,支持 prompt 打分/v1/messagesPOSTAnthropic Messages 兼容/v1/messages/count_tokensPOSTAnthropic 风格 token 计数/v1/responsesPOSTCodex Responses 兼容/v1/modelsGET列出已加载/缓存的模型/v1/embeddingsPOST向量嵌入/v1/rerankPOST文档重排/healthGET模型加载状态、MTP 深度、风扇模式等/metricsGET最近 32 轮 KPI 快照/v1/mtplx/settingsGET/POST读写实时设置(如自适应解码深度)/v1/mtplx/cancel/{request_id}POST取消进行中的请求/v1/mtplx/thermal/fan_modePOST切换风扇模式/v1/mtplx/thermal/statusGET查询热/风扇状态/v1/mtplx/metrics/streamGET实时指标 SSE 流/admin/sessionsGET查看活跃会话/admin/cache/clearPOST清空 KV 缓存/GET内置浏览器聊天页/dashboardGET内置仪表盘OpenAI 兼容端点:对话与补全POST /v1/chat/completions —— 主力接口实现见 mtplx/server/openai.py#L37535。行为与 OpenAI 一致,流式走 SSE,另有几个 MTPLX 独有能力:generation_mode:请求级指定mtp或ar。ar只走目标模型逐 token 生成并上报mtp_depth: 0,但不卸载 MTP 权重,下一请求随时可切回。流式工具调用:Qwen 的 XML 工具调用会边流边翻译成 OpenAI 的delta.tool_calls;遇到畸形输出会降级为普通文本,不会挂起或返回 500。首 token logprobs:logprobs: truetop_logprobs: K返回首个生成 token 的 top-K 分布,要求max_tokens: 1且非流式。curl http://127.0.0.1:8000/v1/chat/completions \ -H Content-Type: application/json \ -d {model: qwen38-27b, messages: [{role: user, content: 你好}]}可直接参考 examples/curl-chat-completions.sh 和 examples/openai-python-client.py。POST /v1/completions —— 补全与 prompt 打分实现见 mtplx/server/openai.py#L42446。除传统补全外,它把打分做成了标准姿势:Prompt 打分:echo: truemax_tokens: 0logprobs: K,返回提示词每个位置上的 top-K 分布;下一 token 分布:max_tokens: 1logprobs: K(echo 关闭)。返回的是采样前的原始 logprob,未经 temperature、penalty 等修正;K上限由MTPLX_PROMPT_LOGPROBS_MAX(默认 128)约束。这条能力是做提示词评估、奖励建模探针时非常实用的免费接口。Anthropic Messages 端点POST /v1/messages实现见 mtplx/server/openai.py#L42376。请求会被翻译成与 Chat Completions 完全相同的内部聊天路径,再以 Anthropic 报文格式返回,因此两套客户端看到的是同一套推理结果。已支持的字段:system(纯文本或 content blocks)messages[].content(文本、工具结果块)max_tokens、temperature、top_p、top_ktools、tool_choice、stop_sequences、thinking非流式与流式(SSE 事件含message_start、content_block_delta、message_delta等完整生命周期)一个贴心细节:Qwen 的思考内容会映射成 Anthropic 的thinking块——先收到content_block_start(type 为thinking)加thinking_delta事件,答案正文再在独立的 text 块中继续,客户端渲染逻辑可以直接复用官方 SDK。示例见 examples/curl-messages.sh 与 examples/anthropic-python-client.py。POST /v1/messages/count_tokens实现见 mtplx/server/openai.py#L42408。走真实的聊天编码路径(含工具、思考标记)数出input_tokens,和 Anthropic 官方接口语义一致,方便在发请求前做上下文预算。Codex Responses 端点:无状态本地版POST /v1/responses实现见 mtplx/server/openai.py#L42313。它把 Responses 请求翻译成内部聊天请求再翻译回来,因此不是第二条推理路径——会话、缓存、取消等策略全部由 Chat 端点统一持有。关键行为:支持:结构化文本输入、instructions、流式生命周期事件、JSON schema 文本格式、客户端执行的 function/custom 工具、命名空间分组函数工具;不支持(直接返回 400):托管工具(web_search、tool_search、MCP、code interpreter 等)、previous_response_id、服务端响应存储。MTPLX 是无状态的,请把完整对话和工具调用/输出都放进input;命名空间工具:内部渲染时展平,返回的function_call条目会恢复官方原始的namenamespace;嵌套函数的tool_choice选择器存在歧义时会被拒绝,而不是静默选错工具。接入 Codex 时,在~/.codex/config.toml中把 provider 指向http://127.0.0.1:8000/v1、wire_api responses,并关掉默认的web_search与image_generation,完整配置片段在 docs/api.md 中。可观测性与管理端点GET /health(#L36110):返回模型加载状态、profile、generation_mode、depth、api_key_required、stream_interval、预热结果、风扇模式等,客户端脚本可以用它确认当前服务策略;GET /metrics(#L37282):最近一轮 最近 32 轮 KPI 快照,外加工具解析计数器;GET /v1/mtplx/metrics/stream:实时指标的 SSE 流,适合做自监控面板;GET/POST /v1/mtplx/settings(#L36434):实时切换设置,例如自适应解码深度(adaptive-policy)。注意:切换深度会改变会话缓存身份,切换后银行中的会话会 miss 一次、下一轮整段重跑 prefill,建议在会话之间切换而非长会话中途;POST /v1/mtplx/cancel/{request_id}:取消进行中的请求;/admin/sessions与/admin/cache/clear:会话审计与缓存清理,配合 docs/server.md 使用。思考深度:请求级与服务器级如何配合reasoning_effort是请求级设置,服务器有兜底默认:请求级:Chat 请求体里的reasoning_effort,或 Responses 的reasoning.effort,取值low/medium/high/xhigh。OpenAI 风格的minimal、none等会被映射为low(不会关闭思考);服务器级:mtplx serve --reasoning-effort high对所有未携带该字段的请求生效;auto(默认)用模型家族自己的默认;模型差异:Qwen 3.8 支持全部四档;Step 3.5 会把xhigh钳制为high;Qwen 3.6 没有档位,取值会被接受但忽略。要彻底关闭思考,用服务器的--reasoning off或请求级chat_template_kwargs: {enable_thinking: false}。把 MTPLX 接进现有客户端Open WebUI:把 Base URL 填为http://127.0.0.1:8000/v1,localhost 下 API key 留空即可,配置指南见 examples/openwebui.md;OpenAI Python SDK / Anthropic Python SDK:改一下base_url(和ANTHROPIC_BASE_URL)就能直接跑,示例代码在 examples/ 目录;Codex / 任意 Responses 客户端:按上文的config.toml配置接入。小结MTPLX 的 API 设计可以概括为三句话:Chat Completions 是唯一推理路径,其余兼容层都是翻译器;可观测性端点齐全,健康、指标、取消、热管理一应俱全;无状态、不装托管工具,把复杂度留给客户端。对想在 Mac 上跑 125 tok/s 级本地模型、同时无缝接入 OpenAI / Anthropic / Codex 生态的开发者,这套端点组合开箱即用。更多细节请查阅 docs/api.md 与 docs/server.md。【免费下载链接】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),仅供参考
返回列表