本文介紹AnalyticDB for PostgreSQL中向量相關介面。
初始化向量資料庫
在使用AnalyticDB for PostgreSQL向量資料庫前,需要初始化向量資料庫,每個執行個體僅需執行一次,執行後將完成以下操作。
建立名為
knowledgebase的資料庫,用於儲存所有向量資料。在該資料庫中建立與全文檢索索引相關的中文分詞及檢索功能的函數。
管理命名空間
命名空間(Namespace)在資料庫中映射為Schema。建立Namespace,用於後續建立文件庫。建立Namespace時,需要指定NamespacePassword參數。AnalyticDB for PostgreSQL服務將基於該密碼自動建立一個與Namespace同名的使用者,並限制該使用者只能訪問該Namespace下的資料。
您可以利用Namespace實現資料的租戶隔離,建議使用非public的命名空間以確保更好的安全性和管理靈活性。
以下是命名空間的相關介面。
LowLevel相關介面
當您已整合自有向量模型,並可直接使用現有向量資料與API互動時,建議使用 LowLevel 介面以獲得更高的靈活性和控制能力。
管理向量集
向量集(Collection)是屬於Namespace下的對象,用於儲存向量資料。在資料庫中,向量集映射為一張表,其中用於儲存ID、向量資料和全文檢索索引資料的列名已預定義。其他表結構欄位可通過Metadata參數定義。
在建立向量集時,可以通過參數同步建立向量索引、全文索引和標量索引。也可以在向量集建立完成後,通過索引管理功能介面單獨建立這些索引。
以下是向量集的相關介面。
上傳向量資料
在建立向量集後,可以將向量資料上傳至該向量集。
如果單次上傳的資料大小在10 MB以內,可以通過以下介面上傳。
如果資料大於10 MB,但小於200 MB,可以通過以下介面上傳。
取消上傳介面。
檢索向量
在完成向量資料上傳後,即可通過以下介面實現多種檢索方式,包括向量檢索、全文檢索索引、雙路召回以及融合查詢等。
管理向量資料
當上傳向量資料後,如需對其更改,可以通過以下介面操作。
HighLevel相關介面
當您僅擁有原始文檔或文本,並需要利用AnalyticDB for PostgreSQL的文檔理解、分塊(Chunk)、嵌入(Embedding)、重排序(Rerank)等相關能力時,可以選擇使用HighLevel 介面。
管理文件庫
文件庫類似向量集(Collection),在資料庫中映射為表。建立一個文件庫(DocumentCollection)用於儲存Chunks文本和向量資料。相比於向量集,在建立時不是指定向量維度,而是指定向量模型。
以下是文件庫的相關介面。
上傳文檔
在建立了文件庫後,就可以上傳文檔或Chunk。
如果已經切分好了Chunk,只需要利用AnalyticDB for PostgreSQL的Embedding能力,可調用以下介面上傳切分後的文檔。
如果只有原始文檔(或圖片),可以調用非同步介面上傳、查詢或取消上傳文檔。
檢索文檔
完成文檔資料上傳後,可以調用以下介面檢索文檔內容。
管理文檔
對於已經完成上傳的文檔,可以通過以下介面管理。
Embedding
調用TextEmbeding模型,對請求文本進行向量化處理,並直接返回產生的向量資料,無需儲存到資料庫中。
Rerank
調用Rerank模型,對請求的多個Chunks進行語義排序打分,以解決向量或全文檢索索引的排序不夠準確問題。
索引管理
建立向量集後,可以通過以下介面建立或刪除向量索引、全文索引、標量索引。