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

LLM大语言模型(八):ChatGLM3-6B使用的tokenizer模型BAAI/bge-large-zh-v1.5

背景

BGE embedding系列模型是由智源研究院研发的中文版文本表示模型。

可将任意文本映射为低维稠密向量,以用于检索、分类、聚类或语义匹配等任务,并可支持为大模型调用外部知识。

BAAI/BGE embedding系列模型

模型列表

ModelLanguageDescriptionquery instruction for retrieval [1]
BAAI/bge-m3Multilingual推理 微调多功能(向量检索,稀疏检索,多表征检索)、多语言、多粒度(最大长度8192)
LM-CocktailEnglish微调的Llama和BGE模型,可以用来复现LM-Cocktail论文的结果
BAAI/llm-embedderEnglish推理 微调专为大语言模型各种检索增强任务设计的向量模型详见 README
BAAI/bge-reranker-largeChinese and English推理 微调交叉编码器模型,精度比向量模型更高但推理效率较低 [2]
BAAI/bge-reranker-baseChinese and English推理 微调交叉编码器模型,精度比向量模型更高但推理效率较低 [2]
BAAI/bge-large-en-v1.5English推理 微调1.5版本,相似度分布更加合理Represent this sentence for searching relevant passages:
BAAI/bge-base-en-v1.5English推理 微调1.5版本,相似度分布更加合理Represent this sentence for searching relevant passages:
BAAI/bge-small-en-v1.5English推理 微调1.5版本,相似度分布更加合理Represent this sentence for searching relevant passages:
BAAI/bge-large-zh-v1.5Chinese推理 微调1.5版本,相似度分布更加合理为这个句子生成表示以用于检索相关文章:
BAAI/bge-base-zh-v1.5Chinese推理 微调1.5版本,相似度分布更加合理为这个句子生成表示以用于检索相关文章:
BAAI/bge-small-zh-v1.5Chinese推理 微调1.5版本,相似度分布更加合理为这个句子生成表示以用于检索相关文章:
BAAI/bge-large-enEnglish推理 微调向量模型,将文本转换为向量Represent this sentence for searching relevant passages:
BAAI/bge-base-enEnglish推理 微调base-scale 向量模型Represent this sentence for searching relevant passages:
BAAI/bge-small-enEnglish推理 微调small-scale 向量模型Represent this sentence for searching relevant passages:
BAAI/bge-large-zhChinese推理 微调向量模型,将文本转换为向量为这个句子生成表示以用于检索相关文章:
BAAI/bge-base-zhChinese推理 微调base-scale 向量模型为这个句子生成表示以用于检索相关文章:
BAAI/bge-small-zhChinese推理 微调small-scale 向量模型为这个句子生成表示以用于检索相关文章:

C_MTEB榜单:Embedding

目前看榜单的话BAAI/bge-large-zh-v1.5是居于榜首的。(这里仅就刷榜而言)

ModelEmbedding dimensionAvgRetrievalSTSPairClassificationClassificationRerankingClustering
BAAI/bge-large-zh-v1.5102464.5370.4656.2581.669.1365.8448.99
BAAI/bge-base-zh-v1.576863.1369.4953.7279.7568.0765.3947.53
BAAI/bge-small-zh-v1.551257.8261.7749.1170.4163.9660.9244.18
BAAI/bge-large-zh102464.2071.5354.9878.9468.3265.1148.39
BAAI/bge-large-zh-noinstruct102463.5370.555376.7768.5864.9150.01
BAAI/bge-base-zh76862.9669.5354.1277.567.0764.9147.63
multilingual-e5-large102458.7963.6648.4469.8967.3456.0048.23
BAAI/bge-small-zh51258.2763.0749.4570.3563.6461.4845.09
m3e-base76857.1056.9150.4763.9967.5259.3447.68
m3e-large102457.0554.7550.4264.368.259.6648.88
multilingual-e5-base76855.4861.6346.4967.0765.3554.3540.68
multilingual-e5-small38455.3859.9545.2766.4565.8553.8645.26
text-embedding-ada-002(OpenAI)153653.0252.043.3569.5664.3154.2845.68
luotuo102449.3744.442.7866.626149.2544.39
text2vec-base76847.6338.7943.4167.4162.1949.4537.66
text2vec-large102447.3641.9444.9770.8660.6649.1630.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]

 参考

  1. LLM大语言模型(七):部署ChatGLM3-6B并提供HTTP server能力
  2. LLM大语言模型(四):在ChatGLM3-6B中使用langchain_chatglm3-6b langchain-CSDN博客
  3. 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个端口&#xff0c;可以在server.xml中进行修改。 8066 数据访问端口&#xff0c;即进行…...

XR虚拟直播间,引领创新风潮,打破直播局限!

随着互联网技术日新月异的发展&#xff0c;直播行业也迎来了蓬勃发展的春天。然而&#xff0c;大多数直播间在吸引观众眼球和延长用户观看时长方面&#xff0c;仍然面临着巨大的挑战。正是在这样的背景下&#xff0c;XR虚拟直播系统应运而生&#xff0c;以其多维度的直播场景、…...

unity双层滑动实现

实现功能&#xff1a; 当滑动列表中内容处于顶端的时候&#xff0c;向上滑动优先滑动整个滑动列表&#xff0c;当滑动列表移动到设置位置&#xff0c;即设定的最高处时&#xff0c;继续移动列表内内容。向下移动亦然&#xff0c;当内容处于滑动列表顶端时&#xff0c;移动整个滑…...

浅谈AI技术创业有哪些机会?

一、AI技术创业概念简介 AI技术创业指的是利用人工智能&#xff08;Artificial Intelligence&#xff0c;AI&#xff09;技术进行创业活动。人工智能是指计算机系统能够模拟和展现出人类智能的一种技术。在AI技术创业中&#xff0c;创业者利用AI技术来解决现实生活中的问题&…...

大数据-TXT文本重复行计数工具

支持系统类型&#xff1a;Windows 64位系统 Linux 64位系统 苹果64位系统 硬盘要求&#xff1a;固态硬盘&#xff08;有效剩余磁盘空间大小最低3倍于大数据文件的大小&#xff09; 内存要求&#xff1a;最低8G&#xff08;例如只有几百G数据&#xff09; 如果处理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最新研究成果 机器人能够从错误中纠偏 无需编程介入和重复演示

目前科学家们正在努力让机器人变得更加智能&#xff0c;教会他们完成诸如擦拭桌面&#xff0c;端盘子等复杂技能。以往机器人要在非结构化环境执行这样的任务&#xff0c;需要依靠固定编程进行&#xff0c;缺乏场景通用性&#xff0c;而现在机器人的学习过程主要在于模仿&#…...

C语言—指针数组

从键盘任意输入一个整型表示的月份值&#xff0c;用指针数组编程输出该月份的英文表示&#xff0c;若输入的月份值不在1&#xff5e;12之间&#xff0c;则输出“Illegal month”。 **输入格式要求&#xff1a;"%d" 提示信息&#xff1a;"Input month number:&q…...

OpenCV图像二值化

1.二值图像 灰度图像 0 - 255二值图像 0&#xff08;黑&#xff09; / 255&#xff08;白&#xff09; 2.二值分割 五种阈值分割方法&#xff08;阈值T&#xff09;&#xff1a; 大于T为255&#xff0c;小于T为0 大于T为0&#xff0c;小于T为255 小于T为原值 else T 小于…...

java中的抽象类

抽象类是指包含了抽象方法的类。在java中&#xff0c;抽象方法指的是用abstract关键字进行修饰的方法&#xff0c;抽象方法与普通的方法的最大区别就是抽象方法没有方法体&#xff0c;也就是说抽象方法是没有具体的实现的。这也就意味着在抽象类的子类中调用抽象方法时&#xf…...

代码随想录算法训练营第二十天| 654.最大二叉树、617.合并二叉树、700.二叉搜索树中的搜索、98.验证二叉搜索树

系列文章目录 目录 系列文章目录654.最大二叉树递归法[左闭右开)[左闭右闭] 617.合并二叉树递归法&#xff08;前中后序都可&#xff0c;以前序为例&#xff09;迭代法&#xff08;类似 101. 对称二叉树 写法&#xff0c;可用双端队列/单端队列<栈>&#xff0c;以单端队列…...

2014年认证杯SPSSPRO杯数学建模A题(第二阶段)轮胎的花纹全过程文档及程序

2014年认证杯SPSSPRO杯数学建模 A题 轮胎的花纹 原题再现&#xff1a; 轮胎被广泛使用在多种陆地交通工具上。根据性能的需要&#xff0c;轮胎表面常会加工出不同形状的花纹。在设计轮胎时&#xff0c;往往要针对其使用环境&#xff0c;设计出相应的花纹形状。   第二阶段问…...

C#全新一代医院手术麻醉系统围术期全流程源码

目录 一、麻醉学科的起源 二、麻醉前访视与评估记录单 患者基本信息 临床诊断 患者重要器官功能及疾病情况 病人体格情况分级 手术麻醉风险评估 拟施麻醉方法及辅助措施 其他需要说明的情况 访视麻醉医师签名 访视时间 与麻醉相关的检查结果 三、手术麻醉信息系统…...

Python 神器:一键下载 M3U8 并转换为 MP4

在这个数字时代&#xff0c;我们经常在网页上遇到各种精彩的视频&#xff0c;但往往只能观看而无法下载。今天&#xff0c;我将向大家介绍如何使用 Python 自动下载网页中的 M3U8 链接&#xff0c;并将其转换为 MP4 格式&#xff0c;让你轻松保存喜欢的视频&#xff01; 一、准…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…...

Linux 文件类型,目录与路径,文件与目录管理

文件类型 后面的字符表示文件类型标志 普通文件&#xff1a;-&#xff08;纯文本文件&#xff0c;二进制文件&#xff0c;数据格式文件&#xff09; 如文本文件、图片、程序文件等。 目录文件&#xff1a;d&#xff08;directory&#xff09; 用来存放其他文件或子目录。 设备…...

浅谈不同二分算法的查找情况

二分算法原理比较简单&#xff0c;但是实际的算法模板却有很多&#xff0c;这一切都源于二分查找问题中的复杂情况和二分算法的边界处理&#xff0c;以下是博主对一些二分算法查找的情况分析。 需要说明的是&#xff0c;以下二分算法都是基于有序序列为升序有序的情况&#xf…...

return this;返回的是谁

一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请&#xff0c;不同级别的经理有不同的审批权限&#xff1a; // 抽象处理者&#xff1a;审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...

【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制

使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下&#xff0c;限制某个 IP 的访问频率是非常重要的&#xff0c;可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案&#xff0c;使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能

1. 开发环境准备 ​​安装DevEco Studio 3.1​​&#xff1a; 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK ​​项目配置​​&#xff1a; // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...

针对药品仓库的效期管理问题,如何利用WMS系统“破局”

案例&#xff1a; 某医药分销企业&#xff0c;主要经营各类药品的批发与零售。由于药品的特殊性&#xff0c;效期管理至关重要&#xff0c;但该企业一直面临效期问题的困扰。在未使用WMS系统之前&#xff0c;其药品入库、存储、出库等环节的效期管理主要依赖人工记录与检查。库…...

Python常用模块:time、os、shutil与flask初探

一、Flask初探 & PyCharm终端配置 目的: 快速搭建小型Web服务器以提供数据。 工具: 第三方Web框架 Flask (需 pip install flask 安装)。 安装 Flask: 建议: 使用 PyCharm 内置的 Terminal (模拟命令行) 进行安装,避免频繁切换。 PyCharm Terminal 配置建议: 打开 Py…...

Mac flutter环境搭建

一、下载flutter sdk 制作 Android 应用 | Flutter 中文文档 - Flutter 中文开发者网站 - Flutter 1、查看mac电脑处理器选择sdk 2、解压 unzip ~/Downloads/flutter_macos_arm64_3.32.2-stable.zip \ -d ~/development/ 3、添加环境变量 命令行打开配置环境变量文件 ope…...

网页端 js 读取发票里的二维码信息(图片和PDF格式)

起因 为了实现在报销流程中&#xff0c;发票不能重用的限制&#xff0c;发票上传后&#xff0c;希望能读出发票号&#xff0c;并记录发票号已用&#xff0c;下次不再可用于报销。 基于上面的需求&#xff0c;研究了OCR 的方式和读PDF的方式&#xff0c;实际是可行的&#xff…...