LLM大语言模型(八):ChatGLM3-6B使用的tokenizer模型BAAI/bge-large-zh-v1.5
背景
BGE embedding系列模型是由智源研究院研发的中文版文本表示模型。
可将任意文本映射为低维稠密向量,以用于检索、分类、聚类或语义匹配等任务,并可支持为大模型调用外部知识。
BAAI/BGE embedding系列模型
模型列表
| Model | Language | Description | query instruction for retrieval [1] | |
|---|---|---|---|---|
| BAAI/bge-m3 | Multilingual | 推理 微调 | 多功能(向量检索,稀疏检索,多表征检索)、多语言、多粒度(最大长度8192) | |
| LM-Cocktail | English | 微调的Llama和BGE模型,可以用来复现LM-Cocktail论文的结果 | ||
| BAAI/llm-embedder | English | 推理 微调 | 专为大语言模型各种检索增强任务设计的向量模型 | 详见 README |
| BAAI/bge-reranker-large | Chinese and English | 推理 微调 | 交叉编码器模型,精度比向量模型更高但推理效率较低 [2] | |
| BAAI/bge-reranker-base | Chinese and English | 推理 微调 | 交叉编码器模型,精度比向量模型更高但推理效率较低 [2] | |
| BAAI/bge-large-en-v1.5 | English | 推理 微调 | 1.5版本,相似度分布更加合理 | Represent this sentence for searching relevant passages: |
| BAAI/bge-base-en-v1.5 | English | 推理 微调 | 1.5版本,相似度分布更加合理 | Represent this sentence for searching relevant passages: |
| BAAI/bge-small-en-v1.5 | English | 推理 微调 | 1.5版本,相似度分布更加合理 | Represent this sentence for searching relevant passages: |
| BAAI/bge-large-zh-v1.5 | Chinese | 推理 微调 | 1.5版本,相似度分布更加合理 | 为这个句子生成表示以用于检索相关文章: |
| BAAI/bge-base-zh-v1.5 | Chinese | 推理 微调 | 1.5版本,相似度分布更加合理 | 为这个句子生成表示以用于检索相关文章: |
| BAAI/bge-small-zh-v1.5 | Chinese | 推理 微调 | 1.5版本,相似度分布更加合理 | 为这个句子生成表示以用于检索相关文章: |
| BAAI/bge-large-en | English | 推理 微调 | 向量模型,将文本转换为向量 | Represent this sentence for searching relevant passages: |
| BAAI/bge-base-en | English | 推理 微调 | base-scale 向量模型 | Represent this sentence for searching relevant passages: |
| BAAI/bge-small-en | English | 推理 微调 | small-scale 向量模型 | Represent this sentence for searching relevant passages: |
| BAAI/bge-large-zh | Chinese | 推理 微调 | 向量模型,将文本转换为向量 | 为这个句子生成表示以用于检索相关文章: |
| BAAI/bge-base-zh | Chinese | 推理 微调 | base-scale 向量模型 | 为这个句子生成表示以用于检索相关文章: |
| BAAI/bge-small-zh | Chinese | 推理 微调 | small-scale 向量模型 | 为这个句子生成表示以用于检索相关文章: |
C_MTEB榜单:Embedding
目前看榜单的话BAAI/bge-large-zh-v1.5是居于榜首的。(这里仅就刷榜而言)
| Model | Embedding dimension | Avg | Retrieval | STS | PairClassification | Classification | Reranking | Clustering |
|---|---|---|---|---|---|---|---|---|
| BAAI/bge-large-zh-v1.5 | 1024 | 64.53 | 70.46 | 56.25 | 81.6 | 69.13 | 65.84 | 48.99 |
| BAAI/bge-base-zh-v1.5 | 768 | 63.13 | 69.49 | 53.72 | 79.75 | 68.07 | 65.39 | 47.53 |
| BAAI/bge-small-zh-v1.5 | 512 | 57.82 | 61.77 | 49.11 | 70.41 | 63.96 | 60.92 | 44.18 |
| BAAI/bge-large-zh | 1024 | 64.20 | 71.53 | 54.98 | 78.94 | 68.32 | 65.11 | 48.39 |
| BAAI/bge-large-zh-noinstruct | 1024 | 63.53 | 70.55 | 53 | 76.77 | 68.58 | 64.91 | 50.01 |
| BAAI/bge-base-zh | 768 | 62.96 | 69.53 | 54.12 | 77.5 | 67.07 | 64.91 | 47.63 |
| multilingual-e5-large | 1024 | 58.79 | 63.66 | 48.44 | 69.89 | 67.34 | 56.00 | 48.23 |
| BAAI/bge-small-zh | 512 | 58.27 | 63.07 | 49.45 | 70.35 | 63.64 | 61.48 | 45.09 |
| m3e-base | 768 | 57.10 | 56.91 | 50.47 | 63.99 | 67.52 | 59.34 | 47.68 |
| m3e-large | 1024 | 57.05 | 54.75 | 50.42 | 64.3 | 68.2 | 59.66 | 48.88 |
| multilingual-e5-base | 768 | 55.48 | 61.63 | 46.49 | 67.07 | 65.35 | 54.35 | 40.68 |
| multilingual-e5-small | 384 | 55.38 | 59.95 | 45.27 | 66.45 | 65.85 | 53.86 | 45.26 |
| text-embedding-ada-002(OpenAI) | 1536 | 53.02 | 52.0 | 43.35 | 69.56 | 64.31 | 54.28 | 45.68 |
| luotuo | 1024 | 49.37 | 44.4 | 42.78 | 66.62 | 61 | 49.25 | 44.39 |
| text2vec-base | 768 | 47.63 | 38.79 | 43.41 | 67.41 | 62.19 | 49.45 | 37.66 |
| text2vec-large | 1024 | 47.36 | 41.94 | 44.97 | 70.86 | 60.66 | 49.16 | 30.02 |
bge-large-zh-v1.5
发布bge-*-v1.5向量模型,缓解相似度分布问题,提升无指令情况下的检索能力(但检索任务仍建议使用指令)
使用示例:
from FlagEmbedding import FlagModel
sentences_1 = ["样例数据-1", "样例数据-2"]
sentences_2 = ["样例数据-3", "样例数据-4"]
model = FlagModel('BAAI/bge-large-zh-v1.5', query_instruction_for_retrieval="为这个句子生成表示以用于检索相关文章:",use_fp16=True) # Setting use_fp16 to True speeds up computation with a slight performance degradation
embeddings_1 = model.encode(sentences_1)
embeddings_2 = model.encode(sentences_2)
similarity = embeddings_1 @ embeddings_2.T
print(similarity)# for s2p(short query to long passage) retrieval task, suggest to use encode_queries() which will automatically add the instruction to each query
# corpus in retrieval task can still use encode() or encode_corpus(), since they don't need instruction
queries = ['query_1', 'query_2']
passages = ["样例文档-1", "样例文档-2"]
q_embeddings = model.encode_queries(queries)
p_embeddings = model.encode(passages)
scores = q_embeddings @ p_embeddings.T
使用示例2:
在上篇文章LLM大语言模型(七):部署ChatGLM3-6B并提供HTTP server能力_failed to parse tool call, maybe the response is n-CSDN博客
中部署ChatGLM3-6B并提供HTTP server能力时,也是显示的用了 bge-large-zh-v1.5 embedding,可以让用户测试输入对应的embedding。(LLM实际使用的是tokenizer,默认包含了分词和embedding等)
@app.post("/v1/embeddings", response_model=EmbeddingResponse)
async def get_embeddings(request: EmbeddingRequest):embeddings = [embedding_model.encode(text) for text in request.input]embeddings = [embedding.tolist() for embedding in embeddings]
参考
- LLM大语言模型(七):部署ChatGLM3-6B并提供HTTP server能力
- LLM大语言模型(四):在ChatGLM3-6B中使用langchain_chatglm3-6b langchain-CSDN博客
- LLM大语言模型(一):ChatGLM3-6B本地部署-CSDN博客
相关文章:
LLM大语言模型(八):ChatGLM3-6B使用的tokenizer模型BAAI/bge-large-zh-v1.5
背景 BGE embedding系列模型是由智源研究院研发的中文版文本表示模型。 可将任意文本映射为低维稠密向量,以用于检索、分类、聚类或语义匹配等任务,并可支持为大模型调用外部知识。 BAAI/BGE embedding系列模型 模型列表 ModelLanguageDescriptionq…...
MySQL中的三种日志
MySQL 包括三种类型的⽇志,分别是 binlog、 redolog 和 undolog,它们分别有不同的作⽤和特点。 binlog (存档日志) binlog(Binary log)是 MySQL 中的⼆进制⽇志⽂件,是 Server 层⽣成的的⽇志…...
Codeforces Round 932 (Div. 2)(A,B,C,D)
比赛链接 AB都是思维,更确切地说,A考了字符串字典序,很经典的贪心考点,B考了MEX运算。C出的还是比较好的,dp方法值得学习。D题是个不太好想的容斥,主要是变量有点多,容易搞混。 A. Entertainme…...
初识C++ · 入门(2)
目录 1 引用 1.1引用的概念 1.2 引用的特性 2 传值,传引用的效率 3 引用和指针的区别 4 内联函数 4.1 内联函数的定义 4. 2 内联函数的特性 5 关键字auto 5.1关于命名的思考 5.2 关于auto的发展 5.3 auto使用规则 6 范围for的使用 7 空指针 1 引用 …...
【opencv】教程代码 —ShapeDescriptors
检测和显示图像的轮廓 在图像中搜索并显示轮廓边缘多边形、轮廓矩形和包围圆 获取包含检测到的轮廓的椭圆和旋转的矩形 图像轮廓检测和轮廓凸包 计算图像中的轮廓的矩(包括面积、重心等)并进行显示 创建和绘制一个多边形图像然后计算并显示图像上每个点到…...
2024-03-28 Java8之Collectors类
Collectors类常用方法 文章目录 Collectors类常用方法1.toList、toSet、toMap2.joining、counting、summingInt、minBy3.groupingBy 1.toList、toSet、toMap Collector<T, ?, List<T>> toList(); //收集为List集合 Collector<T, ?, Set<T>> toSet()…...
第116讲:使用Mycat-eye管理Mycat数据库服务
文章目录 1.Mycat的管理工具2.Mycat-eye介绍3.部署Mycat-eye3.1.安装Zookeep3.2.安装Mycat-eye3.3.访问Mycat-eye 4.在Mycat-eye中导入Mycat服务的信息 1.Mycat的管理工具 Mycat默认开通2个端口,可以在server.xml中进行修改。 8066 数据访问端口,即进行…...
XR虚拟直播间,引领创新风潮,打破直播局限!
随着互联网技术日新月异的发展,直播行业也迎来了蓬勃发展的春天。然而,大多数直播间在吸引观众眼球和延长用户观看时长方面,仍然面临着巨大的挑战。正是在这样的背景下,XR虚拟直播系统应运而生,以其多维度的直播场景、…...
unity双层滑动实现
实现功能: 当滑动列表中内容处于顶端的时候,向上滑动优先滑动整个滑动列表,当滑动列表移动到设置位置,即设定的最高处时,继续移动列表内内容。向下移动亦然,当内容处于滑动列表顶端时,移动整个滑…...
浅谈AI技术创业有哪些机会?
一、AI技术创业概念简介 AI技术创业指的是利用人工智能(Artificial Intelligence,AI)技术进行创业活动。人工智能是指计算机系统能够模拟和展现出人类智能的一种技术。在AI技术创业中,创业者利用AI技术来解决现实生活中的问题&…...
大数据-TXT文本重复行计数工具
支持系统类型:Windows 64位系统 Linux 64位系统 苹果64位系统 硬盘要求:固态硬盘(有效剩余磁盘空间大小最低3倍于大数据文件的大小) 内存要求:最低8G(例如只有几百G数据) 如果处理TB级大数据文…...
【无标题】331
2024年3月31日19:26:09 和一个好感度为40的女生完成了一次基础的对话 2024年3月31日19:26:26 在群里完成了一个毫无所谓的对话 2024年3月31日19:40:04开始准备写论文了 2024年3月31日19:40:11好感度为40的女生回复了我本质上是回复率只有40的人回复了我那应该感到高兴才对 …...
MIT最新研究成果 机器人能够从错误中纠偏 无需编程介入和重复演示
目前科学家们正在努力让机器人变得更加智能,教会他们完成诸如擦拭桌面,端盘子等复杂技能。以往机器人要在非结构化环境执行这样的任务,需要依靠固定编程进行,缺乏场景通用性,而现在机器人的学习过程主要在于模仿&#…...
C语言—指针数组
从键盘任意输入一个整型表示的月份值,用指针数组编程输出该月份的英文表示,若输入的月份值不在1~12之间,则输出“Illegal month”。 **输入格式要求:"%d" 提示信息:"Input month number:&q…...
OpenCV图像二值化
1.二值图像 灰度图像 0 - 255二值图像 0(黑) / 255(白) 2.二值分割 五种阈值分割方法(阈值T): 大于T为255,小于T为0 大于T为0,小于T为255 小于T为原值 else T 小于…...
java中的抽象类
抽象类是指包含了抽象方法的类。在java中,抽象方法指的是用abstract关键字进行修饰的方法,抽象方法与普通的方法的最大区别就是抽象方法没有方法体,也就是说抽象方法是没有具体的实现的。这也就意味着在抽象类的子类中调用抽象方法时…...
代码随想录算法训练营第二十天| 654.最大二叉树、617.合并二叉树、700.二叉搜索树中的搜索、98.验证二叉搜索树
系列文章目录 目录 系列文章目录654.最大二叉树递归法[左闭右开)[左闭右闭] 617.合并二叉树递归法(前中后序都可,以前序为例)迭代法(类似 101. 对称二叉树 写法,可用双端队列/单端队列<栈>,以单端队列…...
2014年认证杯SPSSPRO杯数学建模A题(第二阶段)轮胎的花纹全过程文档及程序
2014年认证杯SPSSPRO杯数学建模 A题 轮胎的花纹 原题再现: 轮胎被广泛使用在多种陆地交通工具上。根据性能的需要,轮胎表面常会加工出不同形状的花纹。在设计轮胎时,往往要针对其使用环境,设计出相应的花纹形状。 第二阶段问…...
C#全新一代医院手术麻醉系统围术期全流程源码
目录 一、麻醉学科的起源 二、麻醉前访视与评估记录单 患者基本信息 临床诊断 患者重要器官功能及疾病情况 病人体格情况分级 手术麻醉风险评估 拟施麻醉方法及辅助措施 其他需要说明的情况 访视麻醉医师签名 访视时间 与麻醉相关的检查结果 三、手术麻醉信息系统…...
Python 神器:一键下载 M3U8 并转换为 MP4
在这个数字时代,我们经常在网页上遇到各种精彩的视频,但往往只能观看而无法下载。今天,我将向大家介绍如何使用 Python 自动下载网页中的 M3U8 链接,并将其转换为 MP4 格式,让你轻松保存喜欢的视频! 一、准…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...
如何理解 IP 数据报中的 TTL?
目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...
SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)
上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...
从物理机到云原生:全面解析计算虚拟化技术的演进与应用
前言:我的虚拟化技术探索之旅 我最早接触"虚拟机"的概念是从Java开始的——JVM(Java Virtual Machine)让"一次编写,到处运行"成为可能。这个软件层面的虚拟化让我着迷,但直到后来接触VMware和Doc…...
python打卡第47天
昨天代码中注意力热图的部分顺移至今天 知识点回顾: 热力图 作业:对比不同卷积层热图可视化的结果 def visualize_attention_map(model, test_loader, device, class_names, num_samples3):"""可视化模型的注意力热力图,展示模…...
结合PDE反应扩散方程与物理信息神经网络(PINN)进行稀疏数据预测的技术方案
以下是一个结合PDE反应扩散方程与物理信息神经网络(PINN)进行稀疏数据预测的技术方案,包含完整数学推导、PyTorch/TensorFlow双框架实现代码及对比实验分析。 基于PINN的反应扩散方程稀疏数据预测与大规模数据泛化能力研究 1. 问题定义与数学模型 1.1 反应扩散方程 考虑标…...
【版本控制】Git 和 GitHub 入门教程
目录 0 引言1 Git与GitHub的诞生1.1 Git:Linus的“两周奇迹”,拯救Linux内核1.2 GitHub:为Git插上协作的翅膀1.3 协同进化:从工具到生态的质变1.4 关键历程时间轴(2005–2008) 2 Git与GitHub入门指南2.1 Gi…...
Prompt工程学习之思维树(TOT)
思维树 定义:思维树(Tree of Thoughts, ToT) 是一种先进的推理框架,它通过同时探索多条推理路径对思维链(Chain of Thought)** 进行了扩展。该技术将问题解决视为一个搜索过程 —— 模型生成不同的中间步骤…...
豆瓣图书评论数据分析与可视化
【题目描述】豆瓣图书评论数据爬取。以《平凡的世界》、《都挺好》等为分析对象,编写程序爬取豆瓣读书上针对该图书的短评信息,要求: (1)对前3页短评信息进行跨页连续爬取; (2)爬取…...
