资讯动态

Xinference 内置 jina-reranker-m0 重排模型:多模态 Rerank 的启动、调用与实现解析

发布时间:2026/9/17 19:19:07 来源:尧图企业网站定制
Xinference 内置 jina-reranker-m0 重排模型多模态 Rerank 的启动、调用与实现解析【免费下载链接】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本文以 Xinference 内置重排Rerank模型jina-reranker-m0为线索完整讲解如何在 Xinference 中通过一行命令启动该模型、使用 Rerank API 对文本与图像文档进行相关性排序并结合仓库源码剖析其模型规格定义、加载路径与运行前提。读完本文你将掌握jina-reranker-m0的端到端使用方式并理解其在 Rerank 能力文档 与内置模型体系中的定位。一、模型概览与核心规格jina-reranker-m0是 Xinference 内置模型清单中登记的多模态重排模型其模型卡位于 doc/source/models/builtin/rerank/jina-reranker-m0.rst关键信息如下Model Name模型名jina-reranker-m0Languages语言en、zh、multilingual即支持英文、中文与多语言场景Abilities能力rerank重排Model ID模型标识jinaai/jina-reranker-m0在仓库内置模型规格文件 xinference/model/rerank/model_spec.json 中可以找到该模型的完整结构化定义字段值说明version2模型规格版本model_namejina-reranker-m0与启动命令使用的名称一致typenormal常规重排模型类型model_ability[vision]具备视觉图像理解能力这是其多模态重排的基础language[en, zh, multilingual]支持语言max_tokens10240最大上下文长度token 数model_formatpytorch仅支持 PyTorch 格式不支持 GGUF 等量化格式model_src.huggingfacejinaai/jina-reranker-m0revisionmainHugging Face 模型源model_src.modelscopejinaai/jina-reranker-m0revisionmasterModelScope 模型源quantizations[none]不提供量化版本与同样内置的jina-reranker-v2、jina-reranker-v3等文本重排模型不同jina-reranker-m0的独特之处在于其vision能力它不仅能对文本段落打分还能直接对图像文档进行相关性排序这是本文后续要重点展开的部分。二、一行命令启动模型按照模型卡文档启动jina-reranker-m0只需执行xinference launch --model-name jina-reranker-m0 --model-type rerank命令中各参数的语义为--model-name指定要启动的内置模型名称这里为jina-reranker-m0--model-type指定模型类型重排模型统一使用rerank。实际使用中还可以叠加以下常用参数与 xinference/deploy/cmdline.py 中launch子命令的参数体系一致--model-uid自定义模型 UID若不指定Xinference 会自动生成。后续通过 API 调用时请求体中的model字段需要填写该 UID--model-engine重排模型默认引擎为sentence_transformers详见下文实现解析除非是 GGUF 格式才回退到llama.cpp当前模型仅支持pytorch格式因此直接使用默认引擎即可--download-hub指定模型下载源可选huggingface、modelscope、openmind_hub、csghub仓库默认按可用性选择--quantization该模型规格仅声明none无需也无法指定量化位。启动成功后jina-reranker-m0便作为一个标准的 Rerank 服务注册到 Xinference可经由/v1/rerank端点被调用。三、Rerank API 调用方式Rerank 模型在 Xinference 中通过 Rerank 端点对文档列表按与查询query的语义相关度从高到低排序。官方能力文档 doc/source/models/model_abilities/rerank.rst 提供了三种调用方式cURL、Xinference Python Client 与 JSON 输出示例。3.1 通过 cURL 调用curl -X POST \ http://XINFERENCE_HOST:XINFERENCE_PORT/v1/rerank \ -H accept: application/json \ -H Content-Type: application/json \ -d { model: MODEL_UID, query: A man is eating pasta., documents: [ A man is eating food., A man is eating a piece of bread., The girl is carrying a baby., A man is riding a horse., A woman is playing violin. ] }请求体中model为启动时生成或指定的模型 UIDquery为查询文本documents为待排序的候选文档列表。3.2 通过 Xinference Python Client 调用from xinference.client import Client client Client(http://XINFERENCE_HOST:XINFERENCE_PORT) model client.get_model(MODEL_UID) query A man is eating pasta. corpus [ A man is eating food., A man is eating a piece of bread., The girl is carrying a baby., A man is riding a horse., A woman is playing violin. ] print(model.rerank(corpus, query))3.3 响应结构返回结果为按相关度降序排列的文档索引列表示例{ id: 480dca92-8910-11ee-b76a-c2c8e4cad3f5, results: [{ index: 0, relevance_score: 0.9999247789382935, document: A man is eating food. }, { index: 1, relevance_score: 0.2564932405948639, document: A man is eating a piece of bread. }, { index: 3, relevance_score: 0.00003955026841140352, document: A man is riding a horse. }, { index: 2, relevance_score: 0.00003742107219295576, document: The girl is carrying a baby. }, { index: 4, relevance_score: 0.00003739788007806055, document: A woman is playing violin. }] }其中results[].index指向原始documents列表中的位置relevance_score为语义相关度分数。从服务端实现看排序逻辑在 xinference/model/rerank/sentence_transformers/core.py 中完成模型先对每个query, document组合计算相似度分数再用np.argsort取降序排列并依据top_n截断、依据return_documents决定是否回传原文、依据return_len决定是否统计 token 消耗。四、多模态重排直接对图像打分这是jina-reranker-m0相对其他文本重排模型的核心差异点。能力文档 doc/source/models/model_abilities/rerank.rst 中专门设有 Multimodal reranking with jina-reranker-m0 一节说明如下要点jina-reranker-m0支持文本与图像的混合重排最大上下文长度为10,240 tokens与model_spec.json中的max_tokens完全一致纯文本文档使用上文的标准 Rerank API对图像文档URL 或本地路径进行重排时通过 Python Client 传入doc_typeimagemodel.rerank( [ https://example.com/document-1.png, https://example.com/document-2.png, ], Which document describes a small language model?, doc_typeimage, )若查询本身也是图像则额外传入query_typeimagemodel.rerank( [https://example.com/document-1.png], https://example.com/query-image.png, doc_typeimage, query_typeimage, )这一能力使 RAG检索增强生成流水线在召回阶段可以直接处理截图、扫描件、产品图等非文本内容而不必先做 OCR 转文本。五、源码级实现解析5.1 引擎选择默认 sentence_transformers在 xinference/model/rerank/core.py 中create_rerank_model_instance对引擎选择的逻辑是除 GGUF 规格只能运行在llama.cpp上外其余重排模型默认使用sentence_transformers引擎。jina-reranker-m0仅有pytorch格式因此始终走 sentence_transformers 引擎路径。5.2 加载路径与 trust_remote_code 要求在 xinference/model/rerank/sentence_transformers/core.py 中对jina-reranker-m0有专门的分支处理要求安装transformers4.47.3否则抛出带安装指引的ImportError由于该模型仓库携带自定义建模代码custom modeling code加载前必须先通过allow_trust_remote_code校验若不满足会抛出明确错误并提示设置环境变量XINFERENCE_TRUST_REMOTE_CODE1以放行远端代码执行使用AutoModel.from_pretrained(..., trust_remote_codeTrue)加载并置于.eval()模式加载参数包括device_map默认auto与torch_dtype启用 FP16 时使用torch.float16若开启了 Flash Attention会向模型传入attn_implementationflash_attention_2。可见jina-reranker-m0的本地化加载绕开了 sentence-transformers 的 CrossEncoder 封装直接以 Hugging Face Transformers 方式加载这与其视觉输入处理方式直接相关。5.3 打分路径在 xinference/model/rerank/sentence_transformers/core.py 中打分时对jina-reranker-m0再次走专用分支调用模型自带的compute_score方法并以model_spec.json中的max_tokens10,240作为默认max_length同时过滤掉已由预处理阶段拼接的instruction参数。打分结果会被统一规范化为序列再进入上文的排序与响应组装流程。5.4 依赖与格式约束在 xinference/model/rerank/sentence_transformers/core.py 的match_json校验中非虚拟环境模式下要求本机已安装transformers与Pillow后者是图像输入处理的依赖明确校验model_spec.model_format必须为pytorch否则返回错误信息jina-reranker-m0 supports pytorch format only。同时model_spec.json中该模型的virtualenv依赖声明为sentence_transformers 依赖、Pillow、system_torchvision与system_torch仅当启用虚拟环境隔离时按需安装这与core.py的检查逻辑互为印证。5.5 测试佐证仓库测试 xinference/model/rerank/sentence_transformers/tests/test_sentence_transformers.py 中将jina-reranker-m0映射为[vision]能力进一步印证了其多模态视觉重排定位。六、注意事项远端代码执行加载jina-reranker-m0会执行模型仓库随附的建模代码需要显式设置XINFERENCE_TRUST_REMOTE_CODE1或在满足allow_trust_remote_code的条件下运行否则加载会失败仅支持 PyTorch 格式该模型不支持 GGUF 或量化版本指定其他--model-format或--quantization不会被接受图像输入形态doc_typeimage接受图像 URL 或本地路径两种形态均无需预先 OCR上下文长度单次打分的最长上下文为 10,240 tokens超长文档在预处理阶段会被截断实际使用中建议对长文档做切块后分别重排模型源默认从 Hugging Facerevisionmain或 ModelScoperevisionmaster拉取国内环境可通过--download-hub modelscope指定下载源以加速。综合来看jina-reranker-m0是 Xinference 内置模型中少有的开箱即用多模态重排选项通过 jina-reranker-m0 模型卡 中的一行启动命令即可拉起服务再配合 Rerank 能力文档 中的doc_typeimage参数即可直接对图像内容排序是构建多模态 RAG 检索阶段的有效组件。若需查阅其他内置重排模型如jina-reranker-v2、jina-reranker-v3、qwen3-reranker系列可浏览 内置重排模型目录 下的对应模型卡。【免费下载链接】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),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价