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