Jina Embeddings V4
Jina Embeddings v4 是一款专为多模态和多语言检索设计的通用嵌入模型,特别适用于复杂文档的检索,包括包含图表、表格和插图的视觉丰富文档。
下载量 669
发布时间 : 5/7/2025
模型简介
基于 Qwen/Qwen2.5-VL-3B-Instruct 构建,支持文本、图像和视觉文档的统一嵌入,同时支持密集和后期交互检索。
模型特点
统一嵌入
支持文本、图像和视觉文档的统一嵌入,同时支持密集(单向量)和后期交互(多向量)检索。
多语言支持
支持 30 多种语言,并与广泛的领域兼容,包括技术和视觉复杂的文档。
特定任务适配器
提供用于检索、文本匹配和代码相关任务的特定任务适配器,可在推理时选择。
灵活的嵌入大小
默认情况下,密集嵌入为 2048 维,但可以截断至低至 128 维,性能损失极小。
模型能力
多模态检索
多语言文本嵌入
图像嵌入
视觉文档检索
代码理解
使用案例
信息检索
跨语言文档检索
支持多种语言的文档检索,包括视觉丰富的文档。
高效检索多语言文档
视觉文档检索
检索包含图表、表格和插图的复杂文档。
精准匹配视觉内容
文本匹配
多语言文本相似度计算
计算不同语言文本之间的相似度。
高准确度的跨语言匹配
代码理解
代码检索
根据自然语言描述检索相关代码片段。
高效代码搜索
🚀 Jina Embeddings v4:用于多模态多语言检索的通用嵌入模型
jina-embeddings-v4
是一款专为多模态和多语言检索设计的通用嵌入模型。它特别适用于复杂文档的检索,包括包含图表、表格和插图的视觉丰富文档。
🚀 快速开始
✨ 主要特性
jina-embeddings-v4
基于 Qwen/Qwen2.5-VL-3B-Instruct 构建,具有以下特点:
- 统一嵌入:支持文本、图像和视觉文档的统一嵌入,同时支持密集(单向量)和后期交互(多向量)检索。
- 多语言支持:支持 30 多种语言,并与广泛的领域兼容,包括技术和视觉复杂的文档。
- 特定任务适配器:提供用于检索、文本匹配和代码相关任务的特定任务适配器,可在推理时选择。
- 灵活的嵌入大小:默认情况下,密集嵌入为 2048 维,但可以截断至低至 128 维,性能损失极小。
特性总结
属性 | 详情 |
---|---|
基础模型 | Qwen2.5-VL-3B-Instruct |
支持的任务 | retrieval 、text-matching 、code |
模型数据类型 | BFloat 16 |
最大序列长度 | 32768 |
单向量维度 | 2048 |
多向量维度 | 128 |
嵌套维度 | 128、256、512、1024、2048 |
池化策略 | 均值池化 |
注意力机制 | FlashAttention2 |
📚 详细文档
训练与评估
有关训练细节和基准测试,请参考我们的 jina-embeddings-v4 技术报告。
使用方法
要求
以下是所需的 Python 包:
transformers>=4.52.0
torch>=2.6.0
peft>=0.15.2
torchvision
pillow
可选/推荐
- flash-attention:建议安装 flash-attention 以提高推理速度和效率,但不是必需的。
- sentence-transformers:如果想通过
sentence-transformers
接口使用模型,也需要安装此包。
通过 Jina AI Embeddings API 使用
curl https://api.jina.ai/v1/embeddings \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $JINA_AI_API_TOKEN" \
-d @- <<EOFEOF
{
"model": "jina-embeddings-v4",
"task": "text-matching",
"input": [
{
"text": "غروب جميل على الشاطئ"
},
{
"text": "海滩上美丽的日落"
},
{
"text": "A beautiful sunset over the beach"
},
{
"text": "Un beau coucher de soleil sur la plage"
},
{
"text": "Ein wunderschöner Sonnenuntergang am Strand"
},
{
"text": "Ένα όμορφο ηλιοβασίλεμα πάνω από την παραλία"
},
{
"text": "समुद्र तट पर एक खूबसूरत सूर्यास्त"
},
{
"text": "Un bellissimo tramonto sulla spiaggia"
},
{
"text": "浜辺に沈む美しい夕日"
},
{
"text": "해변 위로 아름다운 일몰"
},
{
"image": "https://i.ibb.co/nQNGqL0/beach1.jpg"
},
{
"image": "https://i.ibb.co/r5w8hG8/beach2.jpg"
}
]
}
EOFEOF
通过 transformers 使用
# !pip install transformers>=4.52.0 torch>=2.6.0 peft>=0.15.2 torchvision pillow
# !pip install
from transformers import AutoModel
import torch
# Initialize the model
model = AutoModel.from_pretrained("jinaai/jina-embeddings-v4", trust_remote_code=True)
model.to("cuda")
# ========================
# 1. Retrieval Task
# ========================
# Configure truncate_dim, max_length (for texts), max_pixels (for images), vector_type, batch_size in the encode function if needed
# Encode query
query_embeddings = model.encode_text(
texts=["Overview of climate change impacts on coastal cities"],
task="retrieval",
prompt_name="query",
)
# Encode passage (text)
passage_embeddings = model.encode_text(
texts=[
"Climate change has led to rising sea levels, increased frequency of extreme weather events..."
],
task="retrieval",
prompt_name="passage",
)
# Encode image/document
image_embeddings = model.encode_image(
images=["https://i.ibb.co/nQNGqL0/beach1.jpg"],
task="retrieval",
)
# ========================
# 2. Text Matching Task
# ========================
texts = [
"غروب جميل على الشاطئ", # Arabic
"海滩上美丽的日落", # Chinese
"Un beau coucher de soleil sur la plage", # French
"Ein wunderschöner Sonnenuntergang am Strand", # German
"Ένα όμορφο ηλιοβασίλεμα πάνω από την παραλία", # Greek
"समुद्र तट पर एक खूबसूरत सूर्यास्त", # Hindi
"Un bellissimo tramonto sulla spiaggia", # Italian
"浜辺に沈む美しい夕日", # Japanese
"해변 위로 아름다운 일몰", # Korean
]
text_embeddings = model.encode_text(texts=texts, task="text-matching")
# ========================
# 3. Code Understanding Task
# ========================
# Encode query
query_embedding = model.encode_text(
texts=["Find a function that prints a greeting message to the console"],
task="code",
prompt_name="query",
)
# Encode code
code_embeddings = model.encode_text(
texts=["def hello_world():\n print('Hello, World!')"],
task="code",
prompt_name="passage",
)
# ========================
# 4. Use multivectors
# ========================
multivector_embeddings = model.encode_text(
texts=texts,
task="retrieval",
prompt_name="query",
return_multivector=True,
)
images = ["https://i.ibb.co/nQNGqL0/beach1.jpg", "https://i.ibb.co/r5w8hG8/beach2.jpg"]
multivector_image_embeddings = model.encode_image(
images=images,
task="retrieval",
return_multivector=True,
)
通过 sentence-transformers 使用
from sentence_transformers import SentenceTransformer
# Initialize the model
model = SentenceTransformer("jinaai/jina-embeddings-v4", trust_remote_code=True)
# ========================
# 1. Retrieval Task
# ========================
# Encode query
query_embeddings = model.encode(
sentences=["Overview of climate change impacts on coastal cities"],
task="retrieval",
prompt_name="query",
)
print(f"query_embeddings.shape = {query_embeddings.shape}")
# Encode passage (text)
passage_embeddings = model.encode(
sentences=[
"Climate change has led to rising sea levels, increased frequency of extreme weather events..."
],
task="retrieval",
prompt_name="passage",
)
print(f"passage_embeddings.shape = {passage_embeddings.shape}")
# Encode image/document
image_embeddings = model.encode(
sentences=["https://i.ibb.co/nQNGqL0/beach1.jpg"],
task="retrieval",
)
print(f"image_embeddings.shape = {image_embeddings.shape}")
# ========================
# 2. Text Matching Task
# ========================
texts = [
"غروب جميل على الشاطئ", # Arabic
"海滩上美丽的日落", # Chinese
"Un beau coucher de soleil sur la plage", # French
"Ein wunderschöner Sonnenuntergang am Strand", # German
"Ένα όμορφο ηλιοβασίλεμα πάνω από την παραλία", # Greek
"समुद्र तट पर एक खूबसूरत सूर्यास्त", # Hindi
"Un bellissimo tramonto sulla spiaggia", # Italian
"浜辺に沈む美しい夕日", # Japanese
"해변 위로 아름다운 일몰", # Korean
]
text_embeddings = model.encode(sentences=texts, task="text-matching")
# ========================
# 3. Code Understanding Task
# ========================
# Encode query
query_embeddings = model.encode(
sentences=["Find a function that prints a greeting message to the console"],
task="code",
prompt_name="query",
)
# Encode code
code_embeddings = model.encode(
sentences=["def hello_world():\n print('Hello, World!')"],
task="code",
prompt_name="passage",
)
# ========================
# 4. Use multivectors
# ========================
# If you want to use multi-vector embeddings, please use the Hugging Face model directly.
Jina-VDR
除了 jina-embeddings-v4
,我们还发布了 Jina VDR,这是一个用于视觉文档检索的多语言、多领域基准测试。任务集合可以在 这里 查看,评估说明可以在 这里 找到。
📄 许可证
该模型根据 CC BY-NC 4.0 许可进行下载和运行。可以通过 Jina Embeddings API、AWS、Azure 和 GCP 进行商业使用。如需商业使用下载,请 联系我们。
📞 联系我们
加入我们的 Discord 社区,与其他社区成员交流想法。
📚 引用
如果您在研究中发现 jina-embeddings-v4
很有用,请引用以下论文:
@misc{günther2025jinaembeddingsv4universalembeddingsmultimodal,
title={jina-embeddings-v4: Universal Embeddings for Multimodal Multilingual Retrieval},
author={Michael Günther and Saba Sturua and Mohammad Kalim Akram and Isabelle Mohr and Andrei Ungureanu and Sedigheh Eslami and Scott Martens and Bo Wang and Nan Wang and Han Xiao},
year={2025},
eprint={2506.18902},
archivePrefix={arXiv},
primaryClass={cs.AI},
url={https://arxiv.org/abs/2506.18902},
}
Codebert Base
CodeBERT是一个面向编程语言与自然语言的预训练模型,基于RoBERTa架构,支持代码搜索和代码生成文档等功能。
多模态融合
C
microsoft
1.6M
248
Llama 4 Scout 17B 16E Instruct
其他
Llama 4 Scout是Meta开发的多模态AI模型,采用混合专家架构,支持12种语言的文本和图像交互,具有17B激活参数和109B总参数。
多模态融合
Transformers 支持多种语言

L
meta-llama
817.62k
844
Unixcoder Base
Apache-2.0
UniXcoder是一个统一的多模态预训练模型,利用代码注释和抽象语法树等多模态数据预训练代码表示。
多模态融合
Transformers 英语

U
microsoft
347.45k
51
TITAN
TITAN是一个多模态全切片基础模型,通过视觉自监督学习和视觉-语言对齐进行预训练,用于病理学图像分析。
多模态融合
Safetensors 英语
T
MahmoodLab
213.39k
37
Qwen2.5 Omni 7B
其他
Qwen2.5-Omni 是一个端到端的多模态模型,能够感知文本、图像、音频和视频等多种模态,并以流式方式生成文本和自然语音响应。
多模态融合
Transformers 英语

Q
Qwen
206.20k
1,522
Minicpm O 2 6
MiniCPM-o 2.6是一款手机端运行的GPT-4o级多模态大模型,支持视觉、语音与直播流处理
多模态融合
Transformers 其他

M
openbmb
178.38k
1,117
Llama 4 Scout 17B 16E Instruct
其他
Llama 4 Scout是Meta推出的17B参数/16专家混合的多模态AI模型,支持12种语言和图像理解,具有行业领先性能。
多模态融合
Transformers 支持多种语言

L
chutesai
173.52k
2
Qwen2.5 Omni 3B
其他
Qwen2.5-Omni是一款端到端多模态模型,能够感知文本、图像、音频和视频等多种模态信息,并以流式方式同步生成文本和自然语音响应。
多模态融合
Transformers 英语

Q
Qwen
48.07k
219
One Align
MIT
Q-Align是一个多任务视觉评估模型,专注于图像质量评估(IQA)、美学评估(IAA)和视频质量评估(VQA),在ICML2024上发表。
多模态融合
Transformers

O
q-future
39.48k
25
Biomedvlp BioViL T
MIT
BioViL-T是一个专注于分析胸部X光片和放射学报告的视觉语言模型,通过时序多模态预训练提升性能。
多模态融合
Transformers 英语

B
microsoft
26.39k
35
精选推荐AI模型
Llama 3 Typhoon V1.5x 8b Instruct
专为泰语设计的80亿参数指令模型,性能媲美GPT-3.5-turbo,优化了应用场景、检索增强生成、受限生成和推理任务
大型语言模型
Transformers 支持多种语言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一个基于SODA数据集训练的超小型对话模型,专为边缘设备推理设计,体积仅为Cosmo-3B模型的2%左右。
对话系统
Transformers 英语

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基于RoBERTa架构的中文抽取式问答模型,适用于从给定文本中提取答案的任务。
问答系统 中文
R
uer
2,694
98