嵌入模型与Chroma向量数据库 - Qwen3嵌入模型使用 - AI大模型应用开发必备知识
大家好我是小锋老师最近更新《2027版 1天学会 嵌入模型与Chroma向量数据库 AI大模型应用开发必备知识 视频教程》专辑感谢大家支持。本课程主要介绍和讲解嵌入模型与向量数据库简介Qwen3嵌入模型使用Chroma向量数据库使用Chroma安装Client-Server模式集合添加修改删除查询操作以及自定义Embedding Functions。视频教程课件源码打包下载链接https://pan.baidu.com/s/1Oo7dtFf_Zt7hJyl6aYX6TA?pwd1234提取码1234嵌入模型与Chroma向量数据库 - Qwen3嵌入模型使用 - AI大模型应用开发必备知识嵌入模型有很多我们这里选用国内用得比较多的通义千问qwen嵌入模型。我们选一个参数小一点的方便跑。Qwen3-VL-Embedding-2B。https://huggingface.co/Qwen/Qwen3-VL-Embedding-2B/tree/mainQwen3-VL-Embedding-2B简介Qwen3-VL-Embedding-2B 是阿里Qwen团队推出的一款多模态向量表示模型旨在将文本、图像、视频等多种模态的数据映射到统一的语义空间为高精度多模态检索提供第一阶段的召回能力。 核心规格项目说明模型类型多模态向量Embedding模型参数量20亿 (2B)最大上下文32K tokens适合长文档或多图/视频输入嵌入维度最高2048维支持通过MRL技术自定义裁剪如128维、512维支持模态文本、图像、视频、截图及混合模态多语言能力支持30 种语言开源协议Apache 2.0可免费商用✨ 主要技术特点统一多模态表示将文本、图像、视频等不同模态的数据映射到同一个向量空间支持“以文搜图”、“图文搜视频”等跨模态检索。支持长上下文凭借32K的上下文长度能够处理长篇文档、多张图片组合或较长的视频片段。灵活的嵌入维度 (MRL)引入“俄罗斯套娃”表示学习技术无需重新编码即可直接截取向量前缀如只取前128维用于平衡存储成本、检索速度和效果。指令感知 (Instruction Aware)允许在输入时添加自定义指令明确检索任务意图使生成的向量更贴合业务场景定义的“相关性”。️ 架构与训练模型架构基于Qwen3-VL视觉语言模型构建采用双编码器 (Bi-encoder)架构通过取输入末尾特殊token\|endoftext\|的隐藏状态作为输出向量训练方法采用多阶段训练对比预训练→多任务微调→重排器蒸馏并融合了大规模合成数据与高质量数据以保证模型性能。 性能表现在权威的多模态检索基准MMEB-V2上2B模型取得了73.2的优异成绩在同量级模型中表现突出。在包含图像分类、视频问答、文档检索等78个数据集的综合评测中总分为75.0。 典型应用场景该模型非常适合作为多模态RAG检索增强生成系统的第一阶段的向量召回模型。具体应用包括多模态搜索引擎图文、视频的相似度计算与聚类基于自然语言的零样本视频/图像分类企业级多模态知识库的构建Qwen3-VL-Embedding-2B使用首先把这个模型下载到本地然后我们用qwen嵌入模型来实现文本转成嵌入向量然后进行余弦和欧式距离计算。余弦计算结果越小越相似欧式距离也是越小越相似。我们新建项目ChromaPro然后安装下torchtransformers以及数据计算scipy库pip install torch torchvision --index-url https://download.pytorch.org/whl/cu126 ​ pip install transformers -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com ​ pip install scipy -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn下面是示例代码import torch from transformers import AutoTokenizer, AutoModel from scipy.spatial.distance import cosine, euclidean ​ # 加载模型和tokenizer model_name Qwen3-VL-Embedding-2B # 替换为模型的本地路径 tokenizer AutoTokenizer.from_pretrained(model_name) model AutoModel.from_pretrained(model_name) ​ # 设置模型到评估模式 model.eval() ​ def get_embedding(text): 将文本转换为嵌入向量 inputs tokenizer(text, return_tensorspt, paddingTrue, truncationTrue) with torch.no_grad(): outputs model(**inputs) # 通常我们使用[CLS] token的输出或平均pooling 对模型输出的隐藏状态进行全局平均池化将序列维度压缩为单个向量表示。 具体解释 outputs.last_hidden_state获取Transformer模型最后一层的所有token隐藏状态 .mean(dim1)在序列维度dim1上计算平均值将形状从(batch_size, sequence_length, hidden_size)变为(batch_size, hidden_size) embeddings outputs.last_hidden_state.mean(dim1) # 平均所有token的embedding return embeddings ​ def calculate_distances(text1, text2): 计算两个文本之间的余弦和欧式距离 embedding1 get_embedding(text1).squeeze() embedding2 get_embedding(text2).squeeze() print(embedding1:, embedding1,len(embedding1)) print(embedding2:, embedding2,len(embedding2)) # 转换为numpy数组以进行距离计算 embedding1 embedding1.float().numpy() embedding2 embedding2.float().numpy() ​ cos_distance cosine(embedding1, embedding2) euc_distance euclidean(embedding1, embedding2) ​ return cos_distance, euc_distance ​ ​ # 计算距离 cosine_distance, euclidean_distance calculate_distances(我喜欢小狗, 我喜欢小猫) ​ print(f余弦距离: {cosine_distance}) print(f欧式距离: {euclidean_distance}) ​ # 计算距离 cosine_distance, euclidean_distance calculate_distances(我喜欢小狗, python是个好技术) print(f余弦距离: {cosine_distance}) print(f欧式距离: {euclidean_distance})运行结果embedding1: tensor([ 1.4688, 0.5000, -1.1484, ..., -0.1543, 2.0000, -2.2188], dtypetorch.bfloat16) 2048 embedding2: tensor([ 1.2891, 0.6953, 0.3984, ..., 1.7266, -0.0188, -1.0469], dtypetorch.bfloat16) 2048 余弦距离: 0.396905779838562 欧式距离: 53.95702362060547 embedding1: tensor([ 1.4688, 0.5000, -1.1484, ..., -0.1543, 2.0000, -2.2188], dtypetorch.bfloat16) 2048 embedding2: tensor([-0.1270, -0.2930, -1.0781, ..., -0.0542, 0.1348, -0.4844], dtypetorch.bfloat16) 2048 余弦距离: 0.6521354913711548 欧式距离: 71.54246520996094我们会看到余弦计算结果越小越相似欧式距离也是越小越相似。

相关新闻

ChatTTS 注册全流程指南:从零开始到 API 调用实战

ChatTTS 注册全流程指南:从零开始到 API 调用实战

作为一名刚接触语音合成服务的开发者,我最初面对 ChatTTS 时,感觉有点无从下手。官方文档虽然全面,但信息比较分散,特别是注册和首次调用的流程,对于新手来说不够直观。认证步骤、API Key 的获取位置、以及如何安全地集…

2026/7/4 5:11:34 阅读更多 →
智能客服产品设计:从架构到实现的技术避坑指南

智能客服产品设计:从架构到实现的技术避坑指南

最近在做一个智能客服项目,从零到一踩了不少坑。今天就来聊聊智能客服产品设计背后的技术实现,特别是那些容易掉进去的“坑”,以及我们是怎么爬出来的。希望能给正在或即将开发类似系统的朋友一些参考。 智能客服听起来高大上,但落…

2026/7/5 12:13:48 阅读更多 →
基于Python的旅游景点推荐系统毕设:AI辅助开发实战与架构避坑指南

基于Python的旅游景点推荐系统毕设:AI辅助开发实战与架构避坑指南

最近在帮学弟学妹们看旅游推荐系统的毕业设计,发现大家普遍卡在几个地方:要么数据太少模型跑不起来,要么代码写得乱自己都看不懂,要么就是功能做出来了但不知道怎么包装成能演示的样子。正好结合我自己的经验和现在流行的AI编程助…

2026/7/5 16:01:27 阅读更多 →

最新新闻

开源火箭仿真平台OpenRocket:从设计到飞行的全链路解决方案

开源火箭仿真平台OpenRocket:从设计到飞行的全链路解决方案

开源火箭仿真平台OpenRocket:从设计到飞行的全链路解决方案 【免费下载链接】openrocket Model-rocketry aerodynamics and trajectory simulation software 项目地址: https://gitcode.com/GitHub_Trending/op/openrocket 在航空航天工程领域,传…

2026/7/6 23:18:20 阅读更多 →
Obi Fluid v4.0.2 实战:Unity 2022.3 实现复杂管道流体交互(附3个关键参数)

Obi Fluid v4.0.2 实战:Unity 2022.3 实现复杂管道流体交互(附3个关键参数)

Obi Fluid v4.0.2 深度实战:打造工业级管道流体交互系统在Unity中实现逼真的管道流体效果一直是技术美术和程序员的挑战。传统方法如UV动画或粒子路径移动虽然简单,但难以模拟真实流体的物理特性。本文将基于Obi Fluid 4.0.2插件,带你从零构建…

2026/7/6 23:16:17 阅读更多 →
洛雪音乐音源终极指南:如何一键解锁五大平台免费音乐资源?

洛雪音乐音源终极指南:如何一键解锁五大平台免费音乐资源?

洛雪音乐音源终极指南:如何一键解锁五大平台免费音乐资源? 【免费下载链接】lxmusic- lxmusic(洛雪音乐)全网最新最全音源 项目地址: https://gitcode.com/gh_mirrors/lx/lxmusic- 还在为音乐平台的会员费用烦恼吗?想要免费畅听QQ音乐…

2026/7/6 23:12:13 阅读更多 →
OpenOFDM 2017 版本仿真环境搭建:Ubuntu 22.04 下 3 步解决 clk_gen 模块缺失问题

OpenOFDM 2017 版本仿真环境搭建:Ubuntu 22.04 下 3 步解决 clk_gen 模块缺失问题

OpenOFDM 2017版本仿真环境搭建:Ubuntu 22.04下3步解决clk_gen模块缺失问题在数字通信和FPGA开发领域,OpenOFDM项目作为一个开源的802.11 OFDM PHY解码器实现,一直是研究者和工程师学习OFDM技术的宝贵资源。然而,随着项目的迭代更…

2026/7/6 23:12:13 阅读更多 →
KMS_VL_ALL_AIO:3分钟完成Windows系统激活的终极免费方案

KMS_VL_ALL_AIO:3分钟完成Windows系统激活的终极免费方案

KMS_VL_ALL_AIO:3分钟完成Windows系统激活的终极免费方案 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 你是否正在为Windows系统激活而烦恼?面对复杂的命令行操作和昂贵…

2026/7/6 23:10:11 阅读更多 →
Balena Etcher终极指南:三步搞定系统启动盘的免费神器

Balena Etcher终极指南:三步搞定系统启动盘的免费神器

Balena Etcher终极指南:三步搞定系统启动盘的免费神器 【免费下载链接】etcher Flash OS images to SD cards & USB drives, safely and easily. 项目地址: https://gitcode.com/GitHub_Trending/et/etcher 还在为制作系统启动盘而烦恼吗?命令…

2026/7/6 22:59:58 阅读更多 →

日新闻

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2与MySQL单元测试兼容性:5个关键SQL语句差异与规避方案1. 单元测试中的数据库兼容性挑战在Java开发领域,单元测试是保证代码质量的重要环节。当应用涉及数据库操作时,测试环境的搭建往往成为开发者的痛点。H2数据库因其轻量级、内存模式和快…

2026/7/6 0:01:17 阅读更多 →
Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘 【免费下载链接】rbtray A fork of RBTray from http://sourceforge.net/p/rbtray/code/. 项目地址: https://gitcode.com/gh_mirrors/rb/rbtray 你是否厌倦了Windows任务栏上密密麻麻的图标&…

2026/7/6 0:01:17 阅读更多 →
Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C 运行时库一键安装终极指南:告别DLL缺失烦恼 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过这样的情况:下载了…

2026/7/6 0:05:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/6 8:11:50 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/6 8:11:52 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/6 6:52:56 阅读更多 →

月新闻