向 AI Search 邁進,騰訊云 ES 自研 v-pack 向量增強插件揭秘

作者:來自騰訊云劉忠奇

2025 年 1 月,騰訊云 ES 團隊上線了 Elasticsearch 8.16.1 AI 搜索增強版,此發布版本重點提升了向量搜索、混合搜索的能力,為 RAG 類的 AI Search 場景保駕護航。除了緊跟 ES 官方在向量搜索上的大幅優化動作外,騰訊云 ES 還在此版本上默認內置了一個全新的插件 —— v-pack 插件。v-pack 名字里的 "v" 是 vector 的意思,旨在提供更加豐富、強大的向量、混合搜索能力。本文將對該版本 v-pack 插件所包含的功能做大體的介紹。

騰訊云 ES AI 搜索優化實踐 劉忠奇 20250605

一、存儲優化:突破向量搜索的存儲瓶頸

1.1 行存裁剪:無損瘦身節省 70% 存儲

技術原理

傳統 Elasticsearch 默認將向量數據同時存儲在行存?_source(.fdt)?和列存?doc_value(.dvd/.vec)?中,造成冗余。利用騰訊云 ES 貢獻給社區的向量列存讀取能力(PR #114484),在安裝了 v-pack 插件的集群上,默認無損排除?_source?中的向量(dense_vector)字段,實現存儲空間的高效利用。

技術亮點

  • 動態開關:通過集群級參數?vpack.auto_exclude_dense_vector?控制(默認開啟)
  • 無損兼容:通過?docvalue_fields?語法仍可獲取原始向量值(用于業務開發調試、reindex 等操作)

實測效果

場景

原始存儲

優化后存儲

節省比例

純向量場景(250w條)

4.78GB

1.09GB

77%

混合場景(200w條)

32.21GB

9.10GB

72%

使用方法

無需手動啟用,安裝了 v-pack 插件的集群即生效。v-pack 會在創建新索引時,自動在索引 settings 中擴增 index.mapping.source.auto_exclude_types 參數來裁剪向量字段。

如需關閉,可關閉集群維度的動態開關,此后新創建的索引則不會做裁剪。

PUT _cluster/settings
{"persistent": {"vpack.auto_exclude_dense_vector": false}
}

場景建議

所有生產場景

1.2 量化裁剪:極致瘦身節省 90% 存儲

技術原理

量化實際是將原始高位向量壓縮成低位向量的一種算法,如果把量化比作 “脫水”,那這類算法函數的逆運算,就可以實現反向 “復水” 得到原來的向量。當然由于低位不能完全表示高位,在精度上會有一定損失,但它帶來的是磁盤存儲的進一步下降,對于存儲有強烈需求的客戶仍然具有很高的實際意義。在上文行存裁剪的基礎上,進一步節省存儲到 90%。

技術亮點

在社區標量量化技術int8_hnsw基礎上,首創int8_only_hnsw索引類型:

  • “脫水”存儲:僅保留量化后的 int8 向量(.veq文件)
  • 動態“復水”:merge 時通過量化參數還原近似原始向量

實測效果

場景

原始存儲

優化后存儲

節省比例

純向量場景(250w條)

4.78GB

0.44GB

90%

混合場景(200w條)

32.21GB

1.09GB

91%

技術對比

使用方法

在安裝了 v-pack 插件的集群,創建索引時,將?index_options.type?設置為?int8_only_hnsw?索引類型

PUT product_vector_index
{"mappings": {"properties": {"embedding": {"type": "dense_vector","dims": 768,"index_options": {"type": "int8_only_hnsw","m": 32,"ef_construction": 100}}}}
}

場景建議

  • 搜推系統:對存儲敏感的場景
  • RAG 應用:海量的知識庫數據

1.3 小結

下圖展示了 v-pack 的兩種向量存儲裁剪的效果。詳細的技術方案解析詳見:《ES8向量功能窺探系列(二):向量數據的存儲與優化》

二、排序優化:多策略融合的靈活組合

2.1 權重可調 RRF 融合:

算法演進

在標準 RRF(Reciprocal Rank Fusion)公式中引入權重因子:

加權得分 = Σ( weight_i / (k + rank_i) )

突破傳統多路召回等權融合的限制,支持業務自定義權重策略。

混合排序示例

GET news/_search
{"retriever": {"rank_fusion": {"retrievers": [{"standard": {"query": {"match": {"title": "人工智能"}}}},{"knn": {"field": "vector","query_vector": [...],"k": 50}}],"weights": [2, 1],"rank_constant": 20}}
}

適用場景

  • 電商搜索:提升關鍵詞權重(權重比 3:1 或更大)
  • 內容推薦:增強語義相關性(權重比 1:2 或更大)
  • 知識庫檢索:平衡語義與關鍵詞(權重比 1:1 微調)

2.2 歸一化 Score 融合

算法原理

通過動態歸一化將不同評分體系統一到 0,1 區間:

  1. BM25 歸一化(score - min_score)/(max_score - min_score)
  2. 向量相似度歸一化cosine_similarity + 1 / 2

混合排序示例

{"retriever": {"score_fusion": {"retrievers": [...],"weights": [1.5, 1]}}
}

適用場景

  • 結果可解釋性強
  • 多維度加權評分的精排搜索

2.3 基于模型的 Rerank 融合

算法原理

借助騰訊云智能搜索的原子能力,騰訊云 ES 8.16.1 搜索增強版,已支持調用第三方 rerank 模型對混合搜索的結果進行重排。當前已支持內置下列重排序模型,這些模型都部署在 GPU 上,性能有極大提升。

原子服務

token限制

維度

語言

備注

bge-reranker-large

514

1024

中文、英文

bge經典模型

bge-reranker-v2-m3

8194

1024

多語言

bge經典模型

bge-reranker-v2-minicpm-layerwise

2048

2304

多語言

在英語和中文水平上均表現良好,可以自由選擇輸出層,有助于加速推理

使用示例

PUT _inference/rerank/tencentcloudapi_bge-reranker-large
{"service": "tencent_cloud_ai_search","service_settings": {"secret_id": "xxx","secret_key": "xxx","url": "https://aisearch.internal.tencentcloudapi.com","model_id": "bge-reranker-large","region":  "ap-beijing","language":  "zh-CN","version":  "2024-09-24"}
}
POST _inference/rerank/tencentcloudapi_bge-reranker-large
{"query": "中國","input": ["美國","中國","英國"]
}
{"rerank": [{"index": 1,"relevance_score": 0.99990976,"text": "中國"},{"index": 0,"relevance_score": 0.013636836,"text": "美國"},{"index": 2,"relevance_score": 0.00941259,"text": "英國"}]
}

混合排序示例

{"retriever": {"tencent_cloud_ai_reranker": {"retrievers": [...],"model_id": "tencentcloudapi_bge-reranker-large",                           "rank_field": "content","rank_text": "nice day","rank_window_size": 10,                                                             "min_score": 0.6}}
}

適用場景

  • 對語義相關性有更高需求的場景
  • 對準召率有更高需求的場景

2.4 小結

下圖展示了 v-pack 提供的多種融合排序算法,所帶來的更豐富的準召率提升手段。

v-pack 提供的融合算法,支持自定義的靈活組合,可以參考如下的做法來組合使用。

三、推理飛躍:無縫連接最強模型

3.1 對話推理:一鍵接入滿血 Deepseek 大模型

借助騰訊云智能搜索的 LLM 生成服務,騰訊云 ES 8.16.1 搜索增強版亦可以一鍵接入 DeepSeek 以及混元系列大模型進行推理。

模型類型

模型名稱(model)

Tokens

特性

deepseek-r1

最大輸入128k

最大輸出8k

擅長復雜需求拆解、技術方案直譯,提供精準結構化分析及可落地方案,實現了與GPT-4o和Claude Sonnet 3.5等頂尖模型相媲美的性能

deepseek-v3

最大輸入128k

最大輸出8k

通用型AI模型,擁有龐大參數規模及強大多任務泛化能力,擅長開放域對話、知識問答、創意生成等多樣化需求

deepseek-r1-distill-qwen-32b

最大輸入128k

最大輸出8k

r1-36b參數蒸餾版,效果沒有r1好,但響應速度更快,資源成本更低

hunyuan-turbo

最大輸入28k

最大輸出4k

騰訊新一代旗艦大模型,混元Turbo模型,在語言理解、文本創作、數學、推理和代碼等領域都有較大提升,具備強大的知識問答能力

...

使用示例

PUT _inference/completion/deepseek
{"service": "tencent_cloud_ai_search","service_settings": {"secret_id": "xxx","secret_key": "xxx","url": "https://aisearch.internal.tencentcloudapi.com","model_id": "deepseek-v3","region":  "ap-beijing","language":  "zh-CN","version":  "2024-09-24"}
}
POST _inference/completion/deepseek
{"input": "你是誰?"
}
{"completion": [{"result": "我是DeepSeek Chat,一個由深度求索公司開發的智能助手,旨在通過自然語言處理和機器學習技術來提供信息查詢、對話交流和解答問題等服務。"}]
}

我們可以借助該能力,使用 Deepseek 代替 OpenAI 實現官方最佳實踐中的相關功能:https://www.elastic.co/search-labs/blog/elasticsearch-openai-completion-support

3.2 嵌入推理:接入 GPU embedding 消除推理高延遲

借助騰訊云智能搜索的 LLM 生成服務,騰訊云 ES 8.16.1 搜索增強版支持內網無縫推理,目前支持以下主流的 embedding 模型。

原子服務

token限制

維度

語言

備注

bge-base-zh-v1.5

512

768

中文

bge經典模型

bge-m3

8194

1024

多語言

bge經典模型

conan-embedding-v1

512

1792

中文

騰訊自研,在MTEB榜單一度綜合排第一

使用示例

PUT _inference/text_embedding/tencentcloudapi_bge_base_zh-v1.5
{"service": "tencent_cloud_ai_search","service_settings": {"secret_id": "xxx","secret_key": "xxx","url": "https://aisearch.internal.tencentcloudapi.com","model_id": "bge-base-zh-v1.5","region":  "ap-beijing",   "language":  "zh-CN","version":  "2024-09-24"}
}
PUT semantic_text_index
{"mappings": {"properties": {"content": {"type": "semantic_text","inference_id": "tencentcloudapi_bge_base_zh-v1.5"}}}
}

3.3 小結

借助騰訊云智能搜索的原子服務,騰訊云 ES 允許用戶將 ES 作為 AI Search 的服務中樞,成為向量、文本、模型的統一引擎,all in one 一站式地完成整套 RAG 場景的搜索和推理需求。

四、持續進化:社區貢獻與自研特性齊頭并進

騰訊云 ES 團隊持續投入開源生態建設,覆蓋最新的向量場景:

  • 核心貢獻:累計提交 200+ 社區PR,向量相關 10+

讓技術回歸本質,用創新驅動價值

騰訊云 ES 將持續深耕 AI Search 基礎設施,致力服務好當今日益增長的 RAG 與多模態搜索需求,與開發者共同探索搜索技術的無限可能。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/86204.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/86204.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/86204.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

electron-vite串口通信

一、構建項目后,安裝“串口通信庫” npm install serialport二、設置 npm install --save-dev electron-rebuild ./node_modules/.bin/electron-rebuild 注意:如果執行報錯以下問題 1、未配置python變量 2、沒有Microsoft Visual Studio BuildTools 3…

Cisco IOS XE WLC 任意文件上傳漏洞復現(CVE-2025-20188)

免責申明: 本文所描述的漏洞及其復現步驟僅供網絡安全研究與教育目的使用。任何人不得將本文提供的信息用于非法目的或未經授權的系統測試。作者不對任何由于使用本文信息而導致的直接或間接損害承擔責任。如涉及侵權,請及時與我們聯系,我們將盡快處理并刪除相關內容。 前…

從 iPhone 備份照片: 保存iPhone圖片的5種方法

隨著智能手機越來越融入我們的生活,我們的照片已成為我們設備上最有價值的數據形式之一。然而,iPhone內部存儲空間仍然有限,因此我們需要將iPhone中的照片備份到另一個地方,以釋放空間并確保珍貴的圖像記憶的安全。閱讀本指南&…

Ubuntu崩潰修復方案

當Ubuntu系統崩潰時,可依據崩潰類型(啟動失敗、運行時崩潰、完全無響應)選擇以下修復方案。以下方法綜合了官方推薦和社區實踐,按操作風險由低到高排序: 一、恢復模式(Recovery Mode) 適用場景??:系統啟動卡頓、登錄后黑屏、軟件包損壞等。 ??操作步驟??: ?…

免費批量文件重命名工具

免費批量文件重命名工具 🌐 網站: 免費批量文件重命名工具 📌 工具簡介 一款功能強大的批量文件重命名工具,支持多種重命名方式,操作簡單,完全免費! 🚀 主要功能 功能描述自定義重命名直接輸…

VR博物館推動現代數字化科技博物館

VR博物館:推動現代數字化科博館新篇章 隨著科技的飛速發展,虛擬現實(Virtual Reality, VR)技術已經逐漸滲透到我們生活的方方面面,其中,VR博物館作為現代數字化科博館的重要形式之一,以獨特的優…

COMSOL與MATLAB聯合仿真人工智能的電學層析成像系統

關鍵詞:MATLAB,電學層析成像,人工智能,圖像重建,深度學習 一、引言 基于人工智能的電學層析成像系統是一種創新的檢測技術,結合了電學層析成像技術與人工智能算法的優勢。電學層析成像技術,簡…

【Latex】Windows/Ubuntu 繪制 eps 矢量圖通用方法(drawio),支持插入 Latex 數學公式

一直感覺 Visio 或者 PPT 中 Mathtype 對 latex 公式渲染效果不好,且在 Ubuntu 下的支持不好,最近重新調研發現一個好用的工具 drawio。 在線使用 https://app.diagrams.net/?srcabout 也有桌面版的應用,Windows 就下載 exe 安裝器&#x…

selenium自動化測試學習心得1

1. 關于測試用例的順序 首先在你測試的主類上面寫TestMethodOrder(MethodOrderer.OrderAnnotation.class) 然后在測試用例上面, 寫Order(),里面的數字越小,測試的優先級越大 2. 關于getText()和getAttribute("innerText") getText() 是 Selenium 方法,…

Spring AI 結合DeepSeek使用教程

Spring AI 結合DeepSeek使用教程 一、環境搭建與項目初始化 創建Spring Boot項目 使用IDEA或Spring Initializr創建項目,選擇JDK 17或更高版本(推薦21)。勾選依賴項:Spring Web、Lombok,Maven或Gradle作為構建工具。添…

Android 布局優化:掌握 <include> 與 <merge> 的實戰技巧

引言 在 Android 開發中&#xff0c;布局文件是 UI 設計的核心載體&#xff0c;但隨著項目復雜度增加&#xff0c;布局冗余、嵌套層級過深等問題會導致性能下降。本文將通過 代碼級實戰示例&#xff0c;詳細解析如何利用 <include> 和 <merge> 標簽優化布局&#…

【storage】

文章目錄 1、RAM and ROM2、DRAM and SRAM2、Flash Memory&#xff08;閃存&#xff09;4、DDR and SPI NOR Flash5、eMMC6、SPI NOR vs SPI NAND vs eMMC vs SD附錄——prototype and demo board附錄——U盤、SD卡、TF卡、SSD參考 1、RAM and ROM RAM&#xff08;Random Acce…

Python異步編程-協程

1、引言 在使用多個爬蟲腳本進行數據爬取和調用大語言模型返回結果的場景中&#xff0c;涉及到大量的網絡IO操作。協程能夠讓網絡IO操作并發執行&#xff0c;極大地提升程序的運行效率。在智能體相關的開源項目中&#xff0c;我們也可以經常看到協程的身影。 2、協程 協程&a…

大語言模型提示詞(LLM Prompt)工程系統性學習指南:從理論基礎到實戰應用的完整體系

文章目錄 前言&#xff1a;為什么提示詞工程成為AI時代的核心技能一、提示詞的本質探源&#xff1a;認知科學與邏輯學的理論基礎1.1 認知科學視角下的提示詞本質信息處理理論的深層機制圖式理論的實際應用認知負荷理論的優化策略 1.2 邏輯學框架下的提示詞架構形式邏輯的三段論…

Android音頻開發:Speex固定幀與變長幀編解碼深度解析

引言 在Android音頻開發領域&#xff0c;Speex作為一種開源的語音編解碼器&#xff0c;因其優秀的窄帶語音壓縮能力被廣泛應用。在實際開發中&#xff0c;幀處理策略的選擇直接影響著音頻傳輸質量、帶寬占用和系統資源消耗。本文將深入探討Speex編解碼中固定幀與變長幀的實現差…

Docke啟動Ktransformers部署Qwen3MOE模型實戰與性能測試

docker運行Ktransformers部署Qwen3MOE模型實戰及 性能測試 最開始拉取ktransformers:v0.3.1-AVX512版本&#xff0c;發現無論如何都啟動不了大模型&#xff0c;后來發現是cpu不支持avx512指令集。 由于本地cpu不支持amx指令集&#xff0c;因此下載avx2版本鏡像&#xff1a; …

算術操作符與類型轉換:從基礎到精通

目錄 前言&#xff1a;從基礎到實踐——探索運算符與類型轉換的奧秘 算術操作符超級詳解 算術操作符&#xff1a;、-、*、/、% 賦值操作符&#xff1a;和復合賦值 單?操作符&#xff1a;、--、、- 前言&#xff1a;從基礎到實踐——探索運算符與類型轉換的奧秘 在先前的文…

飛騰D2000,麒麟系統V10,docker,ubuntu1804,小白入門喂飯級教程

#下載docker Index of linux/static/stable/ 根據電腦的CPU類型選擇&#xff1a; Intel和AMD選x86_64飛騰D2000選aarch64 #選擇較新的版本 #在包含下載的docker-XX.X.X.tgz的文件夾中右鍵->打開終端 # 解壓安裝包&#xff08;根據實際下載的文件&#xff09; tar -zxvf …

啟程:為何選擇PHP?

一、寫在前面&#xff1a;小公司的生存邏輯與我的困惑 我是一名在小型軟件開發公司工作的Java全棧開發者。我們這類團隊的現實很直白&#xff1a;接不到“大單子”&#xff0c;日常圍繞各類中小項目——企業官網、內部管理系統、定制化小程序——展開。客戶預算有限、交付周期…

學習使用YOLO的predict函數使用

YOLO的 result.py #2025.1.3 """ https://docs.ultralytics.com/zh/modes/predict/#inference-arguments 對yolo 目標檢測、實例分割、關鍵點檢測結果進行說明https://docs.ultralytics.com/reference/engine/results/#ultralytics.engine.results.Masks.xy 對…