当前位置: 首页 > news >正文

Visualized_BGE 安装—多模态嵌入技术

github链接:FlagEmbedding/research/visual_bge/README.md at master · FlagOpen/FlagEmbedding

一.安装和环境配置

Install FlagEmbedding:

你需要在你的虚拟环境下进行安装

git clone https://github.com/FlagOpen/FlagEmbedding.git
cd FlagEmbedding/research/visual_bge
pip install -e .

Another Core Packages:

pip install torchvision timm einops ftfy

不需要安装xformerapex。它们对于推理来说不是必需的,而且经常会引起问题。

测试是否安装成功:

pip show visual-bge

在这里插入图片描述

模型权重下载(需要进入Huggingface): https://huggingface.co/BAAI/bge-visualized/tree/main
BAAI/bge-base-en-v1.5BAAI/bge-m3
在这里插入图片描述
代码测试:

import torch
import sys
sys.path.append(r"C:\develop\embedding_model\FlagEmbedding\research\visual_bge")
from visual_bge.modeling import Visualized_BGEfrom PIL import Image
import numpy as np# 初始化编码器
model_name = "BAAI/bge-base-en-v1.5"
# 模型路径
model_path = "C:/develop/embedding_model/pth/Visualized_base_en_v1.5.pth"
model = Visualized_BGE(model_name_bge=model_name, model_weight=model_path)
model.eval()# 定义图片路径
image_path = r"C:\Users\Charles\Desktop\RAG\python\rag-in-action-master\90-文档-Data\多模态\query_image.jpg"# 对图片进行编码
with torch.no_grad():# 仅使用图片进行编码image_embedding = model.encode(image=image_path)# 使用图片和文本进行编码text = "这是一张悟空战斗示例图片"multimodal_embedding = model.encode(image=image_path, text=text)# 将张量转移到CPU并转换为numpy数组
image_embedding_np = image_embedding.cpu().numpy()
multimodal_embedding_np = multimodal_embedding.cpu().numpy()# 打印嵌入向量的信息
print("=== 图片嵌入向量信息 ===")
print(f"向量维度: {image_embedding_np.shape[1]}")
print(f"向量示例 (前10个元素): {image_embedding_np[0][:10]}")
print(f"向量范数: {np.linalg.norm(image_embedding_np[0])}")print("\n=== 多模态嵌入向量信息 ===")
print(f"向量维度: {multimodal_embedding_np.shape[1]}")
print(f"向量示例 (前10个元素): {multimodal_embedding_np[0][:10]}")
print(f"向量范数: {np.linalg.norm(multimodal_embedding_np[0])}") 
向量维度: 768
向量示例 (10个元素): [ 0.01775759 -0.02236995  0.00477303  0.00458729  0.0211269  -0.001380020.07065583  0.06659478 -0.01240912 -0.01269229]
向量范数: 0.9999999403953552=== 多模态嵌入向量信息 ===
向量维度: 768
向量示例 (10个元素): [ 0.02968878 -0.02825661  0.00627523  0.00380471  0.00708466 -0.003413140.05395057  0.06040848 -0.01760476 -0.03208005]
向量范数: 0.9999999403953552

二.ModuleNotFoundError: No module named 'visual_bge'

代码运行可能会出现:ModuleNotFoundError: No module named 'visual_bge'错误
原因是路径找不到了(应该是实习生写的这部分代码框架,乱的要死,害我整了一下午)

解决方案:

import sys
# 一定要注意这地方路径
sys.path.append(r"C:\develop\embedding_model\FlagEmbedding\research\visual_bge")
from visual_bge.modeling import Visualized_BGE

在这里插入图片描述

http://www.xdnf.cn/news/1041409.html

相关文章:

  • Java 复习题选择题(1)(Java概述)
  • LLMs 系列实操科普(5)
  • 【卫星通信】Skylo与ViaSat标准建议详解:基于NB-IoT NTN通过GEO卫星实现IMS语音通话的解决方案
  • springboot在线BLOG网
  • SCADA|信创KingSCADA4.0历史报警查询的差异
  • 永磁同步电机控制算法--双矢量模型预测转矩控制MPTC(占空比)
  • [直播推流] 本地创建 nginx服务器
  • DataHub 架构设计与模块规划
  • 深度解析SpringBoot自动化部署实战:从原理到最佳实践
  • Android 安卓应用分身多开 适用于没有自带分身多开的Android设备,隐藏应用、应用锁、私密相册等管理,解锁永久Vip会员功能
  • 【精华】这样设计高性能短链生成系统
  • 记利用AI模型制作DataDump Scripts生成工具
  • 理解 C++ 的 this 指针
  • Seata与消息队列(如RocketMQ)如何实现最终一致性?
  • 【构建】CMake 构建系统重点内容
  • springboot音乐网站与分享平台
  • MySQL-DML语句深度解析与实战指南
  • 60天python训练计划----day52
  • Golang 在 Linux 平台上的并发控制
  • LeetCode - LCR 173. 点名
  • 基于深度学习的人类活动识别模型研究:HAR-DeepConvLG的设计与应用
  • 【大厂机试题解法笔记】恢复数字序列
  • Python开发功能实用
  • 关于钉钉的三方登录
  • 项目管理工具在并行管理中如何充分发挥作用
  • Python 使用 DrissionPage 模块进行爬虫
  • 【Linux网络】多路转接之select
  • windows 开发
  • JavaScript性能优化实战指南:从理论到案例的全面解析
  • 【医疗电子技术-7.2】血糖监测技术