jina-clip-v2 为 Elasticsearch 带来覆盖 89 种语言的文本到图像搜索,无需 GPU

0 阅读5分钟

作者:来自 Elastic Kapil JadhavRanjana Devaji 及 Brendan Jugan

使用 jina-clip-v2 在 Elasticsearch 内部运行覆盖 89 种语言的多模态搜索:文本和图像共享同一个嵌入空间,无需管理独立的模型基础设施。

通过 Elasticsearch 亲自动手实践:深入体验我们在 Elasticsearch Labs 仓库中的示例笔记本,开启免费的云试用,或者立即在你的本地计算机上试用 Elastic。


jina-clip-v2(865M 参数)现已在 Elastic Inference Service (EIS) 上提供:面向文本和图像的多语言多模态嵌入,覆盖 89 种语言,并在 Elasticsearch 内部运行,无需管理独立的模型托管或 GPU 基础设施。

文本查询可以检索图像,截图可以检索文档,而 PDF、图表和信息图都可以索引到同一个 向量 空间中。该模型支持 Matryoshka 截断,因此当存储空间重要时,你可以将维度从 1,024 降至 512 或 256,同时仅带来极小的质量损失。

jina-clip-v2 是目前在 EIS 上可用的多个 Jina 嵌入 模型之一。对于同时涵盖视频和音频的工作负载,jina-embeddings-v5 可以在单个索引中覆盖全部四种模态:支持近 100 种语言,并拥有 0.67B 参数规模的基础模型,小到足以在常规 GPU 服务器上运行。而 jina-clip-v2 仍然是文本与图像之间 跨模态检索 的专注选择。

jina-clip-v2 中的多模态搜索如何工作

jina-clip-v2 是一种双 编码器 模型,其中独立的文本编码器和图像编码器会在同一个向量空间中生成嵌入。这使文本和图像能够被相互检索。

类似 “红色跑车” 这样的 查询 可以返回匹配的图像;一张图片可以找出相关的产品描述或文档;截图则能够直接映射到工单、仪表板或日志。这并不是多个模型拼接而成的流水线,而是在不同模态之间共享的单一 嵌入空间,结合了多语言的 Jina-XLM-RoBERTa 文本编码器和 EVA02-L 视觉编码器。

从设计之初就支持多语言和文档场景

与主要专注于英文短标题的传统 CLIP 模型不同,jina-clip-v2 在覆盖 89 种语言的多语言文本-文本和文本-图像配对数据上进行了训练,同时还在逐步提升分辨率的复杂视觉数据集上进行了训练。

EIS 允许你直接在 Elasticsearch 内部运行托管模型。无需配置独立的模型托管层,无需管理 GPU 基础设施,也无需维护外部嵌入服务。

通过在 EIS 上使用 jina-clip-v2,你可以:

  • 在数据已经存储的位置生成文本和图像嵌入。

  • 将多模态向量与结构化和非结构化内容一起建立索引。

  • 向量搜索BM25 结合,使用混合 检索

  • 构建以图像和文档为依据的多模态 检索增强生成RAG)流水线。

如何在 EIS 上使用 jina-clip-v2 运行多模态搜索

jina-clip-v2 端点 已在 Elastic 推理 服务上预先配置。要生成嵌入,请从 Elasticsearch 开发控制台调用该推理端点:

`

1.  POST _inference/embedding/.jina-clip-v2
2.  {
3.   "input": [
4.       {
5.           "content": {
6.               "type": "image",
7.               "value": "data:image/jpeg;base64,..."
8.           }
9.       },
10.       {
11.           "content": {
12.               "type": "text",
13.               "value": "Some text to create an embedding"
14.           }
15.       }
16.   ]
17.  }

`AI写代码![](https://csdnimg.cn/release/blogv2/dist/pc/img/runCode/icon-arrowwhite.png)

这是响应:

`

1.  {
2.   "embeddings": [
3.     {
4.       "embedding": [
5.         -0.0189209,
6.         ...
7.         0.05419922
8.       ]
9.     },
10.     {
11.       "embedding": [
12.         -0.01379395,
13.         ...
14.         0.0246582
15.       ]
16.     }
17.   ]
18.  }

`AI写代码![](https://csdnimg.cn/release/blogv2/dist/pc/img/runCode/icon-arrowwhite.png)

在 jina-clip-v2 嵌入的搜索查询中使用:

获取端点配置

`GET /_inference/embedding/.jina-clip-v2`AI写代码

基础文本请求

`

1.  POST _inference/embedding/.jina-clip-v2
2.  {
3.    "input": [
4.      "This is a test"
5.    ]
6.  }

`AI写代码

多模态批处理(文本 + 图像作为独立向量)

下面的示例展示了如何同时发送文本和图像输入作为独立条目,每个都会生成各自的嵌入向量:

`

1.  POST _inference/embedding/.jina-clip-v2
2.  {
3.    "input": [
4.      { "content": { "type": "text",  "value": "A small blue square" } },
5.      { "content": { "type": "image", "format": "base64", "value": "<BASE64_IMAGE_DATA>" } }
6.    ]
7.  }

`AI写代码

创建自定义端点并使用最小维度

`

1.  PUT _inference/embedding/jina-clip-v2-64d
2.  {
3.    "service": "elastic",
4.    "service_settings": {
5.      "model_id": "jina-clip-v2",
6.      "dimensions": 64
7.    }
8.  }

`AI写代码

Elasticsearch 中的多模态搜索:从文本到图像再到 RAG

通过在 EIS 上提供 jina-clip-v2,多模态搜索成为 Elasticsearch 内部的一等能力。

文本和图像可以被索引到同一个向量空间中。查询可以跨模态与跨语言进行检索。混合搜索 可以将词法精确性与多模态语义结合起来。RAG 系统可以基于图表、截图以及 文档 布局进行知识支撑,而不仅仅依赖纯文本。

所有 Elastic Cloud 试用版都可以访问 Elastic 推理服务。你可以在 Elastic Cloud Serverless 或 Elastic Cloud Hosted 上立即体验,或者通过 EIS via Cloud Connect 在自建集群中使用 EIS。

原文:Multimodal search in Elasticsearch: jina-clip-v2 on EIS - Elasticsearch Labs