模型简介
模型特点
模型能力
使用案例
🚀 gte-large-gguf
本项目提供了gte-large
嵌入模型的GGUF格式文件,该模型基于BERT框架,在大规模相关文本对上训练得到,可用于信息检索、语义文本相似度计算、文本重排序等多种文本嵌入下游任务。
🚀 快速开始
使用llama.cpp
计算嵌入
要计算单个嵌入,需先构建llama.cpp
,然后运行以下命令:
./embedding -ngl 99 -m [filepath-to-gguf].gguf -p 'search_query: What is TSNE?'
你也可以提交一批文本进行嵌入计算,只要总词元数不超过上下文长度即可。embedding
示例仅显示前三个嵌入。
texts.txt
文件内容如下:
search_query: What is TSNE?
search_query: Who is Laurens Van der Maaten?
计算多个嵌入的命令如下:
./embedding -ngl 99 -m [filepath-to-gguf].gguf -f texts.txt
使用LM Studio计算嵌入
从以下链接下载0.2.19测试版: Windows MacOS Linux
安装完成后,打开应用程序。主界面应如下所示:
在主搜索栏中搜索“ChristianAzinn”,或者点击左侧菜单中的“搜索”标签进行搜索。
从搜索结果中选择你的模型(本示例使用bge-small-en-v1.5-gguf
),并选择要下载的量化版本。由于该模型较小,建议选择Q8_0,若内存充足也可选择f16/32。通常,列表越靠下(或数字越大),文件越大,性能越好。
模型下载成功后,你将看到一个绿色对勾和“已下载”字样,下载时间取决于你的网络速度。
模型下载完成后,点击左侧菜单中的“本地服务器”标签,打开文本嵌入模型加载器。该加载器在0.2.19版本之前不可用,请确保下载了正确的版本。
从下拉列表中选择刚下载的模型进行加载。若模型无法完全加载到显存中,可能需要在右侧菜单中调整配置,如GPU卸载。
最后,点击“启动服务器”按钮:
若控制台显示如下文本,则表示一切就绪!你可以在任何需要的应用程序中直接使用该模型替代OpenAI嵌入API,也可以直接查询端点进行测试。
以下是一个向API端点发送请求的示例curl
命令:
curl http://localhost:1234/v1/embeddings \
-H "Content-Type: application/json" \
-d '{
"input": "Your text string goes here",
"model": "model-identifier-here"
}'
更多信息请参考LM Studio 文本嵌入文档。
✨ 主要特性
- 多领域适用性:该模型在大规模相关文本对上进行训练,覆盖了广泛的领域和场景,可应用于多种文本嵌入下游任务。
- 多种量化版本:提供了多种量化方法和版本,可根据不同的需求和硬件条件选择合适的版本。
- 上下文支持:该模型支持最多512个词元的上下文。
📦 安装指南
文档未提及具体安装步骤,可参考上述快速开始部分使用已有的GGUF格式文件进行计算。
💻 使用示例
基础用法
使用llama.cpp
计算单个嵌入:
./embedding -ngl 99 -m [filepath-to-gguf].gguf -p 'search_query: What is TSNE?'
高级用法
使用llama.cpp
计算多个嵌入:
./embedding -ngl 99 -m [filepath-to-gguf].gguf -f texts.txt
使用LM Studio进行文本嵌入计算,包括下载模型、加载模型、启动服务器和发送API请求等步骤,具体可参考快速开始部分的说明。
📚 详细文档
模型信息
属性 | 详情 |
---|---|
模型类型 | BERT |
模型创建者 | thenlper |
模型名称 | gte-large |
量化者 | ChristianAzinn |
库名称 | sentence-transformers |
任务标签 | 特征提取 |
标签 | mteb、bert、gguf、sentence-similarity、sentence-transformers、Sentence Transformers |
原始模型描述
通用文本嵌入(GTE)模型。参考论文 Towards General Text Embeddings with Multi-stage Contrastive Learning。
GTE模型由阿里巴巴达摩院训练,主要基于BERT框架,目前提供三种不同大小的模型,包括 GTE-large、GTE-base 和 GTE-small。GTE模型在大规模相关文本对语料上进行训练,覆盖了广泛的领域和场景,可应用于各种文本嵌入下游任务,包括信息检索、语义文本相似度计算、文本重排序等。
本项目描述
本仓库包含gte-large
嵌入模型的GGUF格式文件。这些文件使用llama.cpp PR 5500,提交版本 34aa045de 在消费级RTX 4090上进行转换和量化。
兼容性
这些文件与截至提交版本 4524290e8 的 llama.cpp 以及版本0.2.19的 LM Studio 兼容。
量化方法说明
点击查看详情
可用的量化方法如下: * GGML_TYPE_Q2_K - “type-1” 2位量化,超级块包含16个块,每个块有16个权重。块的缩放因子和最小值使用4位量化,最终每个权重有效使用2.5625位(bpw)。 * GGML_TYPE_Q3_K - “type-0” 3位量化,超级块包含16个块,每个块有16个权重。缩放因子使用6位量化,最终每个权重使用3.4375位。 * GGML_TYPE_Q4_K - “type-1” 4位量化,超级块包含8个块,每个块有32个权重。缩放因子和最小值使用6位量化,最终每个权重使用4.5位。 * GGML_TYPE_Q5_K - “type-1” 5位量化,超级块结构与GGML_TYPE_Q4_K相同,最终每个权重使用5.5位。 * GGML_TYPE_Q6_K - “type-0” 6位量化,超级块包含16个块,每个块有16个权重。缩放因子使用8位量化,最终每个权重使用6.5625位。 请参考下面的“提供的文件”表格,了解哪些文件使用了哪些方法以及如何使用。提供的文件
名称 | 量化方法 | 位数 | 大小 | 最大所需内存 | 使用场景 |
---|---|---|---|---|---|
gte-large.Q2_K.gguf | Q2_K | 2 | 144 MB | 最小,但质量损失显著 - 不建议用于大多数场景 | |
gte-large.Q3_K_S.gguf | Q3_K_S | 3 | 160 MB | 非常小,但质量损失高 | |
gte-large.Q3_K_M.gguf | Q3_K_M | 3 | 181 MB | 非常小,但质量损失高 | |
gte-large.Q3_K_L.gguf | Q3_K_L | 3 | 198 MB | 小,但质量损失较大 | |
gte-large.Q4_0.gguf | Q4_0 | 4 | 200 MB | 旧版本;小,但质量损失非常高 - 建议使用Q3_K_M | |
gte-large.Q4_K_S.gguf | Q4_K_S | 4 | 203 MB | 小,但质量损失更大 | |
gte-large.Q4_K_M.gguf | Q4_K_M | 4 | 216 MB | 中等,质量平衡 - 推荐 | |
gte-large.Q5_0.gguf | Q5_0 | 5 | 237 MB | 旧版本;中等,质量平衡 - 建议使用Q4_K_M | |
gte-large.Q5_K_S.gguf | Q5_K_S | 5 | 237 MB | 大,质量损失低 - 推荐 | |
gte-large.Q5_K_M.gguf | Q5_K_M | 5 | 246 MB | 大,质量损失非常低 - 推荐 | |
gte-large.Q6_K.gguf | Q6_K | 6 | 278 MB | 非常大,质量损失极低 | |
gte-large.Q8_0.gguf | Q8_0 | 8 | 358 MB | 非常大,质量损失极低 - 推荐 | |
gte-large.Q8_0.gguf | FP16 | 16 | 670 MB | 极大,几乎是原始模型 - 不建议 | |
gte-large.Q8_0.gguf | FP32 | 32 | 1.34 GB | 极大,几乎是原始模型 - 不建议 |
🔧 技术细节
本项目使用llama.cpp对gte-large
模型进行转换和量化,具体使用了PR 5500和提交版本34aa045de。在量化过程中,采用了多种量化方法,如Q2_K、Q3_K、Q4_K等,以满足不同的内存和性能需求。
📄 许可证
本项目采用MIT许可证。
致谢
感谢LM Studio团队和所有从事开源AI工作的人员。
本README受 nomic-ai-embed-text-v1.5-gguf(另一个优秀的嵌入模型)和传奇人物 TheBloke 的README启发。







