模型概述
模型特點
模型能力
使用案例
🚀 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啟發。







