自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

【一文讀懂】基于Havenask向量檢索+大模型,構(gòu)建可靠的智能問答服務

發(fā)布于 2024-3-26 23:24
瀏覽
0收藏

01Havenask介紹

Havenask 是阿里巴巴廣泛使用的自研大規(guī)模分布式檢索系統(tǒng),是過去十多年阿里在電商領(lǐng)域積累下來的核心競爭力產(chǎn)品,廣泛應用在搜推廣和大數(shù)據(jù)檢索等典型場景。在2022年云棲大會-云計算加速開源創(chuàng)新論壇上完成開源首發(fā),同時作為阿里云開放搜索OpenSearch底層搜索引擎,OpenSearch 自2014年商業(yè)化,目前已有千余家外部客戶。

【一文讀懂】基于Havenask向量檢索+大模型,構(gòu)建可靠的智能問答服務-AI.x社區(qū)

02向量檢索

近年來,隨著短視頻、電商等領(lǐng)域的繁榮,產(chǎn)生了越來越多的非結(jié)構(gòu)化數(shù)據(jù),如圖片、音頻、視頻、行為數(shù)據(jù)等。人們通常使用人工智能算法從中提取出特征向量,再通過對這些特征向量的計算和檢索來實現(xiàn)對非結(jié)構(gòu)化數(shù)據(jù)的分析與檢索,以實現(xiàn)搜索推薦、人臉識別等功能場景。因此,需要存儲這些特征向量,并進行高效率的檢索。

【一文讀懂】基于Havenask向量檢索+大模型,構(gòu)建可靠的智能問答服務-AI.x社區(qū)

傳統(tǒng)的基于關(guān)鍵字的信息檢索,只有命中全部或者部分關(guān)鍵字的數(shù)據(jù)才會被召回。與此不同的是,向量檢索是一種近似搜索(Approximate Nearest Neighbor),從大量數(shù)據(jù)中找出最相似的n個結(jié)果。在業(yè)界主要有兩種支持向量檢索的方式:一是針對向量構(gòu)建索引、提供召回服務的向量數(shù)據(jù)庫。另一種是將向量檢索融合進傳統(tǒng)的搜索引擎或中,作為搜索引擎的一種索引。將傳統(tǒng)倒排索引與向量檢索配合使用,二者互補,提高召回結(jié)果的相關(guān)性。

Havenask作為傳統(tǒng)的搜索引擎,深度集成阿里自研的高性能向量庫Proxima,實現(xiàn)了對向量檢索的支持。在Havenask中有多種倒排索引,如文本索引、數(shù)字索引、字符串索引等。而向量作為一種特殊的自定義索引,與其他普通的倒排索引一樣地使用,從而可以將向量檢索與文本檢索結(jié)合起來,實現(xiàn)向量與文本的混合檢索。

2.1 使用方式

與文本倒排結(jié)合

目前,向量索引是Havenask的一種自定義索引,可以與其他倒排索引一起結(jié)合使用。業(yè)務上比較常見的使用方式,如在nlp場景,將向量檢索的結(jié)果與文本檢索的結(jié)果合并起來,豐富結(jié)果內(nèi)容。文本檢索保證查詢的精確度,向量檢索擴展語義提供更廣泛的內(nèi)容。二者相互補充,能夠提升結(jié)果的準確性,降低無結(jié)果率。

vector:'0.1,0.2,0.3' OR ((title:'havenask' OR content:'havenask') AND type:'1')

解析后的查詢語法樹:

【一文讀懂】基于Havenask向量檢索+大模型,構(gòu)建可靠的智能問答服務-AI.x社區(qū)

每個葉子節(jié)點做索引的查詢,之后合并結(jié)果。

帶條件過濾檢索

在大多數(shù)業(yè)務場景中,通常會帶有特定的過濾條件,只召回滿足條件的結(jié)果。Havenask的向量檢索將條件過濾和向量相似度計算結(jié)合起來,精確判斷過濾條件,進行高效的向量檢索。從而使得結(jié)果更加準確,且不會缺少結(jié)果。

如:

Query: vector:‘0.1,0.2,0.3’
Filter: count > 10

帶標簽檢索

在一些場景下,數(shù)據(jù)是按某些特定的標簽進行分類。 如數(shù)據(jù)按用戶維度組織,一次查詢只查詢某個指定用戶下的數(shù)據(jù)。針對這種場景,Havenask提供了按標簽查詢的功能,在建索引時就將數(shù)據(jù)按標簽分類,從物理上將數(shù)據(jù)按標簽隔離,分別構(gòu)建索引。查詢時,只需要檢索相應用戶的索引數(shù)據(jù)。這樣能夠提高向量檢索的性能和準確性。

【一文讀懂】基于Havenask向量檢索+大模型,構(gòu)建可靠的智能問答服務-AI.x社區(qū)

2.2 索引構(gòu)建方式

目前Havenask支持HNSW(圖)、QC(量化距離)、Linear(暴力計算)三種索引構(gòu)建方式。

HNSW

HNSW是經(jīng)典的多層圖算法,召回率高、性能好,適用于對召回結(jié)果要求高的場景。

【一文讀懂】基于Havenask向量檢索+大模型,構(gòu)建可靠的智能問答服務-AI.x社區(qū)

QC

QC表示量化聚類,與Fassis的IVF類似,通過聚類的方式構(gòu)建向量索引。且支持int8、int16量化,量化后能夠顯著地減少索引的體積,并且保證較高的召回率。適用于超大規(guī)模的向量場景,節(jié)省資源。

【一文讀懂】基于Havenask向量檢索+大模型,構(gòu)建可靠的智能問答服務-AI.x社區(qū)

Linear

Linear為暴力計算,會遍歷所有的索引數(shù)據(jù),適用于數(shù)據(jù)規(guī)模非常小的場景。

03LLM問答

ChatGPT的出現(xiàn)帶起了大模型熱,大模型能夠幫助從大量的信息里總結(jié)出關(guān)鍵的信息。很多企業(yè)或者個人都希望構(gòu)建知識庫,通過大模型進行歸納、總結(jié)后回答問題。

下圖是典型的知識庫構(gòu)建流程:-

【一文讀懂】基于Havenask向量檢索+大模型,構(gòu)建可靠的智能問答服務-AI.x社區(qū)

整體流程可以分為兩部分:數(shù)據(jù)處理和問答流程。

  • 數(shù)據(jù)處理

這部分主要功能是將已有的知識數(shù)據(jù)向量化,依賴文本向量化模型,將文本數(shù)據(jù)向量化,生成的向量數(shù)據(jù)存入Havenask中。處理步驟如下:

從原始文檔中提取出所有的文本數(shù)據(jù),按文本語義將文本切分成多個chunk

將這些chunk丟給文本模型,生成embedding數(shù)據(jù)

將embedding和chunk,以及chunk所屬的原始文檔的一些屬性信息(如文件名、文章地址等)一起存入Havenask中

  • 問答流程

這部分主要處理與LLM的交互,依賴和數(shù)據(jù)處理一樣的文本模型以及一個大模型??梢苑譃槿齻€步驟:

將輸入的問題丟給文本模型,生成embedding數(shù)據(jù)

將embedding數(shù)據(jù)以及一些其他的查詢條件(如:查詢的用戶ID等)給到Havenask,查詢獲取最相關(guān)或相似的內(nèi)容。這里的查詢條件可以將向量與文本以及其他一些屬性信息相結(jié)合,以便查詢出更加精確的知識,降低無結(jié)果率。

讓LLM根據(jù)獲得的最相關(guān)的內(nèi)容,以及問題推理出答案。查詢LLM的prompt可能如下:

請根據(jù)以下已知信息,簡潔和專業(yè)的來回答用戶的問題。如果無法從中得到答案,請說不知道,不允許在答案中添加編造成分,答案請使用中文。
已知信息:
   內(nèi)容1
   內(nèi)容2
   ...
問題:
   問題內(nèi)容

最后將結(jié)果展示給用戶:

【一文讀懂】基于Havenask向量檢索+大模型,構(gòu)建可靠的智能問答服務-AI.x社區(qū)

04性能

下面是Havenask向量檢索的測試數(shù)據(jù):

【一文讀懂】基于Havenask向量檢索+大模型,構(gòu)建可靠的智能問答服務-AI.x社區(qū)

05總結(jié)

Havenask通過深度集成proxima向量庫,以Havenask中的一種索引類型的方式支持向量檢索。支持向量與文本的混合查詢、帶標簽的向量查詢、以及支持按過濾條件的向量查詢。支持HNSW、QC、Linear等3種向量索引構(gòu)建方式。支持超大規(guī)模的向量數(shù)據(jù),支持水平擴展,具有低延遲、高吞吐的特點。

相關(guān)資料

[01]Havenask 開源官網(wǎng)
https://havenask.net/
[02] Havenask-Github 開源項目地址

https://github.com/alibaba/havenask

[03] 阿里云 OpenSearch 官網(wǎng)

https://www.aliyun.com/product/opensearch
本文轉(zhuǎn)載自阿里技術(shù),作者: 本巖
原文鏈接:https://mp.weixin.qq.com/s/9sut-vW2tKpswTcdaax7Ww

收藏
回復
舉報
回復
相關(guān)推薦