微信扫码
添加专属顾问
我要投稿
ColPali 是一种多模态检索器,直接对图像进行处理,无需OCR。
对数据建立索引后,使用 Qwen2-VL-7B 完成 RAG 的生成部分。
from pdf2image import convert_from_path
images = convert_from_path("/content/climate_youth_magazine.pdf")
images[5]
byaldi 是 answer.ai 开源的工具包,可轻松使用 ColPali
from byaldi import RAGMultiModalModel
RAG = RAGMultiModalModel.from_pretrained("vidore/colpali")
建立索引
RAG.index(
input_path="/content/climate_youth_magazine.pdf",
index_name="image_index", # index will be saved at index_root/index_name/
store_collection_with_index=False,
overwrite=True
)
然后就可以搜索了
text_query = "How much did the world temperature change so far?"
results = RAG.search(text_query, k=1)
results
[{'doc_id': 0, 'page_num': 6, 'score': 17.25, 'metadata': {}, 'base64': None}]
答案确实是在第6页,就是上面展示的那页pdf。现在我们可以构建一个 RAG 管道了。使用 Qwen2-VL-7B 模型。
from transformers import Qwen2VLForConditionalGeneration, AutoTokenizer, AutoProcessor
from qwen_vl_utils import process_vision_info
import torch
model = Qwen2VLForConditionalGeneration.from_pretrained("Qwen/Qwen2-VL-2B-Instruct",
trust_remote_code=True, torch_dtype=torch.bfloat16).cuda().eval()
processor = AutoProcessor.from_pretrained("Qwen/Qwen2-VL-2B-Instruct", trust_remote_code=True)
image_index = results[0]["page_num"] - 1
messages = [
{
"role": "user",
"content": [
{
"type": "image",
"image": images[image_index],
},
{"type": "text", "text": text_query},
],
}
]
text = processor.apply_chat_template(
messages, tokenize=False, add_generation_prompt=True
)
image_inputs, video_inputs = process_vision_info(messages)
inputs = processor(
text=[text],
images=image_inputs,
videos=video_inputs,
padding=True,
return_tensors="pt",
)
inputs = inputs.to("cuda")
generated_ids = model.generate(**inputs, max_new_tokens=50)
generated_ids_trimmed = [
out_ids[len(in_ids) :] for in_ids, out_ids in zip(inputs.input_ids, generated_ids)
]
output_text = processor.batch_decode(
generated_ids_trimmed, skip_special_tokens=True, clean_up_tokenization_spaces=False
)
print(output_text)
["The Earth's average global temperature has increased by around 1.1°C since the late 19th century, according to the information provided in the image."] 答案正确!
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2026-02-09
Virustotal对OpenClaw恶意技能(Skills)的跟踪分析
2026-02-09
ollama v0.15.6发布:上下文限制修复、自动模型下载、Claude环境变量优化、Droid与Qwen全面更新详解
2026-02-09
【开源】港大开源“纳米级OpenClaw”:超轻量AI助手,仅4000行代码复刻OpenClaw核心战力!
2026-02-06
Qwen3-Coder-Next 上线模力方舟:仅 3B 激活参数,媲美主流大模型的 Agent 编码能力
2026-02-06
给自己搭一个 AI 搭档:OpenClaw 安装使用全记录
2026-02-06
Qwen3-TTS:2026年最强开源文本转语音模型完全指南
2026-02-06
OpenClaw 爆火之后,我们看到了这些创业信号
2026-02-05
从Clawdbot到OpenClaw:爆款本地AI Agent的产品逻辑与争议
2025-11-19
2026-01-27
2025-12-22
2026-01-12
2026-01-29
2025-11-17
2025-12-10
2026-01-28
2025-12-23
2026-01-06
2026-02-05
2026-01-28
2026-01-26
2026-01-21
2026-01-21
2026-01-20
2026-01-16
2026-01-02