🚀 e5-base-v2-gguf
本项目提供了e5-base-v2嵌入模型的GGUF格式文件,可用于句子相似度计算等任务,支持最大512个标记的上下文,且与llama.cpp和LM Studio兼容。
🚀 快速开始
使用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,或者直接查询端点进行测试。
示例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 文本嵌入文档。
✨ 主要特性
📦 安装指南
文档未提及具体安装步骤,可参考上述快速开始部分的使用说明。
💻 使用示例
基础用法
使用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进行文本嵌入计算:
curl http://localhost:1234/v1/embeddings \
-H "Content-Type: application/json" \
-d '{
"input": "Your text string goes here",
"model": "model-identifier-here"
}'
📚 详细文档
模型信息
模型描述
本仓库包含e5-base-v2嵌入模型的GGUF格式文件。这些文件是使用llama.cpp PR 5500,提交 34aa045de,在消费级RTX 4090上进行转换和量化的。该模型支持最大512个标记的上下文。
兼容性
这些文件与llama.cpp(截至提交4524290e8)以及LM Studio(截至版本0.2.19)兼容。
量化方法说明
点击查看详情
可用的量化方法如下:
* 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 bpw。
* GGML_TYPE_Q4_K - “type-1” 4位量化,超级块包含8个块,每个块有32个权重。缩放和最小值用6位量化。最终使用4.5 bpw。
* GGML_TYPE_Q5_K - “type-1” 5位量化。与GGML_TYPE_Q4_K具有相同的超级块结构,最终使用5.5 bpw。
* GGML_TYPE_Q6_K - “type-0” 6位量化。超级块有16个块,每个块有16个权重。缩放用8位量化。最终使用6.5625 bpw。
请参考下面的“提供的文件”表格,了解哪些文件使用了哪些方法以及如何使用。
提供的文件
🔧 技术细节
本模型基于论文Text Embeddings by Weakly-Supervised Contrastive Pre-training,由Liang Wang、Nan Yang、Xiaolong Huang、Binxing Jiao、Linjun Yang、Daxin Jiang、Rangan Majumder、Furu Wei于2022年发表在arXiv上。该模型有12层,嵌入大小为768。
📄 许可证
本项目采用MIT许可证。
🙏 致谢
感谢LM Studio团队和所有从事开源AI工作的人员。
本README受nomic-ai-embed-text-v1.5-gguf(另一个优秀的嵌入模型)和传奇人物TheBloke的README启发。