尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

lift-oQ5 API完全参考:mlx_vlm.generate与server的全部参数详解

lift-oQ5 API完全参考:mlx_vlm.generate与server的全部参数详解 lift-oQ5 API完全参考mlx_vlm.generate与server的全部参数详解【免费下载链接】lift-oQ5项目地址: https://ai.gitcode.com/hf_mirrors/mlx-community/lift-oQ5lift-oQ5 是 MLX 社区推出的结构化提取视觉语言模型Vision-Language Model基于 9B 参数 qwen3_5 架构专为 PDF / 图片 → 结构化 JSON 的提取任务设计采用约 5 bits/weight 的 oQ 混合精度量化权重仅约 6.7 GB。本文是一份 lift-oQ5 的 API 完全参考手册逐项详解 mlx_vlm.generate 与 mlx_vlm.server 的全部参数帮助你快速上手、精准调参在 Apple Silicon 上稳定输出结构化数据。一、先认识 lift-oQ5一条命令读懂它的定位 lift-oQ5 是数据实验室模型 datalab-to/lift 的 MLX 社区转换版本。它不是一个普通聊天模型而是专门为「结构化抽取」而生的视觉语言模型你给它一张发票、合同或报表图片它就能按你定义的 JSON Schema 输出规整的字段例如发票号、金额、明细项等。关键规格数值基础架构qwen3_59B 参数32 层量化方式oQ 数据驱动混合精度量化≈5 bits/weight模型体积约 6.7 GB峰值内存约 8.4 GB生成速度约 83 t/sM5 Max 实测仅供参考上下文长度262,144 tokens运行框架mlx-vlmApple Silicon量化细节都写在仓库的 config.json 中group_size 为 64默认 5 bit同时对线性注意力层linear_attn和部分 MLP 层做了 6/8 bit 的精度保留属于「分层混合精度」的聪明做法兼顾体积与质量。generation_config.json 则负责生成时的默认行为例如 eos_token_id 被设置为 [248044, 248046]保证对话在|im_end|处正常收尾。二、两条核心命令10 秒跑起来 ⚡2.1 单次生成mlx_vlm.generate 最小示例只需一行命令即可完成「图片 → JSON」的提取uvx --from mlx-vlm mlx_vlm.generate \ --model mlx-community/lift-oQ5 \ --image invoice.png \ --prompt Extract the invoice as JSON. \ --max-tokens 800其中--model指定模型本仓库即 mlx-community/lift-oQ5--image传入待识别图片--prompt是提取指令--max-tokens控制输出上限。2.2 服务化部署mlx_vlm.server 一行启动需要批量处理或接入业务系统时启动 OpenAI 兼容服务uvx --from mlx-vlm mlx_vlm.server --model mlx-community/lift-oQ5 --port 8080启动后服务地址为http://127.0.0.1:8080/v1任何支持 OpenAI API 的客户端都能直接调用。三、mlx_vlm.generate 全部参数详解 完整的参数说明可直接用mlx_vlm.generate --help查看下面按功能分组逐一说明。3.1 必选参数--model、--image 与 --prompt参数说明--model模型目录路径或 Hugging Face 仓库名如 mlx-community/lift-oQ5必填--image输入图片的本地路径支持 jpg / png 等常见格式--prompt提取指令文本例如 Extract the invoice as JSON. 提示图片预处理由处理器配置自动完成见 processor_config.json模型支持最大 262,144 token 的超长上下文多页 PDF 截图也可以一次性送入。3.2 输出长度控制--max-tokens参数默认值作用--max-tokens100生成的最大 token 数结构化提取建议设到 500–1500发票、合同这类结构化输出往往较长默认 100 容易截断建议显式调大。3.3 采样控制参数--temperature、--top-p、--top-k参数默认值作用--temperature0.0采样温度0 表示贪心解码确定性输出--top-p1.0核采样nucleus sampling只从累计概率 top-p 的 token 中采样--top-k-1只从概率最高的 k 个 token 中采样-1 表示关闭 提取场景的黄金建议--temperature 0.0让每次结果确定、可复现这是结构化数据场景的第一准则。3.4 重复控制参数--repetition-penalty 与 --repetition-context-size参数默认值作用--repetition-penalty1.0重复惩罚系数大于 1 可抑制 token 重复--repetition-context-size20计算惩罚时参考的最近 token 数如果发现输出出现「复读机」现象可将 repetition-penalty 调至 1.1–1.3。3.5 结构化输出参数--json 与 --json-schema核心亮点⭐这是 lift 系列模型最值得用的能力参数默认值作用--jsonFalse开启后强制模型输出合法 JSON--json-schema无指定 JSON Schema 文件路径解码时按 schema 约束生成保证字段类型正确比如先写一个 schema 文件invoice_schema.json再配合--json-schema运行输出就是完全符合字段定义的结构化 JSON字段不会缺失、类型不会出错。3.6 其他实用参数--seed、--system-prompt、--adapter-path 等参数默认值作用--seed0随机种子配合 temperature0 时复现结果--system-prompt空系统级提示词可设定输出风格与约束--adapter-path无LoRA 微调适配器路径--max-kv-size无限制 KV 缓存大小节省内存--step-size无预填充步长超长输入时可调优速度--use-default-chat-templateFalse强制使用内置默认聊天模板--verboseFalse打印详细推理过程信息--logits-processor无传入自定义 logits 处理器四、mlx_vlm.server 全部参数详解 ️服务端参数决定了模型以何种形态对外提供 API同样用mlx_vlm.server --help可查看完整列表。4.1 网络与模型参数--model、--host、--port、--adapter-path参数默认值说明--model必填模型路径或仓库名--host127.0.0.1监听地址局域网访问可设为 0.0.0.0--port8080服务端口--adapter-path无附加 LoRA 适配器4.2 内存优化参数--max-kv-size 与 --cache-limit-gb参数默认值说明--max-kv-size无KV 缓存大小上限token 数限制超长对话的内存占用--cache-limit-gb无推理缓存最大内存GB按机器内存弹性设置 8 GB 内存的 Mac 建议加--cache-limit-gb 4左右16 GB 及以上可以放心让模型自由发挥。4.3 模板与调试参数--use-default-chat-template、--chat-template、--log-level参数默认值说明--use-default-chat-templateFalse使用框架内置默认聊天模板--chat-template无指定自定义聊天模板文件--log-levelINFO日志级别DEBUG / INFO / WARNING / ERROR--trust-remote-codeFalse允许加载仓库中的自定义代码--model-config无用指定 JSON 覆盖模型配置五、请求端 API 参数OpenAI 兼容接口全解 服务启动后调用POST /v1/chat/completions即可。与普通 OpenAI 接口的差异在于消息里可以内嵌图片且支持 response_format 结构化输出。5.1 常用请求参数对照表请求参数说明model模型名填 mlx-community/lift-oQ5messages对话消息支持文本 image_url 图片max_tokens最大生成 token 数temperature采样温度提取场景建议 0.0top_p/top_k采样控制repetition_penalty重复惩罚stop自定义停止词stream是否流式返回seed随机种子response_formatjson_object 或 json_schema结构化输出开关5.2 Python 调用示例图片 Schema 一次搞定import base64, json from openai import OpenAI client OpenAI(base_urlhttp://127.0.0.1:8080/v1, api_keylocal) img base64.b64encode(open(invoice.png, rb).read()).decode() schema { type: object, properties: { invoice_number: {type: string}, total: {type: number}, line_items: {type: array, items: {type: object, properties: { description: {type: string}, amount: {type: number}}}}, }, required: [invoice_number, total], } resp client.chat.completions.create( modelmlx-community/lift-oQ5, messages[{role: user, content: [ {type: text, text: Extract this invoice.}, {type: image_url, image_url: {url: fdata:image/png;base64,{img}}}, ]}], response_format{type: json_schema, json_schema: {name: invoice, schema: schema}}, temperature0.0, max_tokens800, ) print(json.loads(resp.choices[0].message.content)) 关键点response_format传 json_schema 后服务端会在解码阶段通过 llguidance 实时约束生成保证输出一定是合法且符合 Schema 的 JSON——这是 lift-oQ5 比「先生成再解析」方案稳定得多的根本原因。六、参数调优实战把提取效果拉满 场景推荐参数组合发票/合同字段提取--temperature 0.0 --max-tokens 800--json-schema需要确定性结果--temperature 0.0 --seed 42长文档/多页截图--max-tokens 1500 调大--step-size内存紧张--max-kv-size--cache-limit-gb批量流水线mlx_vlm.server 请求端temperature0七、常见问题速查 ❓Q1输出一直不结束、疯狂刷|im_end|检查 generation_config.json 中的 eos_token_id 是否为 [248044, 248046]。本仓库已做 eos 修复若你自行从源模型重新转换务必重新应用这个配置。Q2想看清每一步推理加--verbose或在 server 启动时把--log-level设为 DEBUG。Q3普通聊天和结构化提取怎么选参数闲聊可放宽 temperature 到 0.7–1.0 增加多样性提取任务一律 0.0 json_schema简单粗暴但永远正确。Q4模型文件里都有什么核心文件一目了然config.json架构与量化配置、generation_config.json生成默认值、tokenizer_config.json 与 chat_template.jinja对话模板、processor_config.json图像预处理、model.safetensors.index.json分片权重索引全部开箱即用。八、总结 lift-oQ5 把「视觉 结构化输出」这件事做到了极简mlx_vlm.generate负责单次提取mlx_vlm.server负责服务化接入核心参数不过十几项。记住三条心法即可模型名用 mlx-community/lift-oQ5、提取场景 temperature 设为 0、结构化输出永远配 json_schema。对照本文参数表逐项调试你就能在 Apple Silicon 上搭建一条又快又稳的文档结构化提取流水线。【免费下载链接】lift-oQ5项目地址: https://ai.gitcode.com/hf_mirrors/mlx-community/lift-oQ5创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表