日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

創建文檔庫

更新時間:

創建一個文檔庫(DocumentCollection)用于存儲Chunks文本和向量數據。

代碼調用

def create_document_collection(account,
                               account_password,
                               namespace,
                               collection,
                               metadata: str = None,
                               full_text_retrieval_fields: str = None,
                               parser: str = None,
                               embedding_model: str = None,
                               metrics: str = None,
                               hnsw_m: int = None,
                               pq_enable: int = None,
                               external_storage: int = None,):
    request = gpdb_20160503_models.CreateDocumentCollectionRequest(
        region_id=ADBPG_INSTANCE_REGION,
        dbinstance_id=ADBPG_INSTANCE_ID,
        manager_account=account,
        manager_account_password=account_password,
        namespace=namespace,
        collection=collection,
        metadata=metadata,
        full_text_retrieval_fields=full_text_retrieval_fields,
        parser=parser,
        embedding_model=embedding_model,
        metrics=metrics,
        hnsw_m=hnsw_m,
        pq_enable=pq_enable,
        external_storage=external_storage
    )
    response = get_client().create_document_collection(request)
    print(f"create_document_collection response code: {response.status_code}, body:{response.body}")


if __name__ == '__main__':
    metadata = '{"title":"text", "page":"int"}'
    full_text_retrieval_fields = "title"
    embedding_model = "m3e-small"
    create_document_collection("testacc", "Test1234", "ns1", "dc1", 
                               metadata=metadata, full_text_retrieval_fields=full_text_retrieval_fields, 
                               embedding_model=embedding_model)


# output: body:
# {
#    "Message":"success",
#    "RequestId":"7BC35B66-5F49-1E79-A153-8D26576C4A3E",
#    "Status":"success"
# }

其中create_document_collection的參數說明如下:

  • account:AnalyticDB PostgreSQL版實例的數據庫初始賬號。

  • account_password:初始賬號對應的密碼。

  • namespace: 文檔庫所在的Namespace名稱。

  • collection:要創建的文檔庫名稱。

  • metadata:自定義map結構的數據元信息,key為字段名,value為字段類型。

  • full_text_retrieval_fields:自定義的逗號分隔的全文檢索字段,字段必須屬于metadata的key。

  • parser:全文檢索參數,分詞器,默認zh_cn。詳情請參見全文檢索介紹

  • embedding_model:Embedding模型。詳情請參見Embedding模型介紹

  • metrics:向量索引參數,索引算法。詳情請參見向量索引

  • hnsw_m:向量索引參數,HNSW算法中的最大鄰居數,范圍1~1000。詳情請參見向量索引

  • pq_enable:向量索引參數,索引是否開啟PQ(Product quantization)算法加速。詳情請參見向量索引

  • external_storage: 向量索引參數,是否使用mmap緩存。詳情請參見向量索引

查看數據庫的變更效果

代碼調用成功后,可登錄DMS,查看創建的表結構(表名為ns1.dc1)。

字段

類型

字段來源

說明

id

text

固定字段

主鍵,表示單條Chunk文本的UUID。

vector

real[]

固定字段

向量數據ARRAY,長度對應指定的Embedding模型的維度。

doc_name

text

固定字段

文檔名稱。

content

text

固定字段

單條Chunk文本,由文檔在Loader和Splitter后得到。

loader_metadata

json

固定字段

文檔在Loader解析時對應的元數據。

to_tsvector

TSVECTOR

固定字段

保存全文檢索字段,數據來源為full_text_retrieval_fields指定的字段數據。其中content為默認字段,本調用場景表示會從content和title兩個數據源做全文檢索。

title

text

Metadata定義

用戶自定義。

page

int

Metadata定義

用戶自定義。

全文檢索介紹

為了提高檢索的精度,除了向量相似度外,AnalyticDB PostgreSQL版還支持全文檢索,并且能和向量相似度檢索同時使用達到雙路召回效果。

定義全文檢索字段

在使用全文檢索前,首先需指定哪些字段用于全文檢索的數據源,文檔庫的接口已經默認使用content字段,您還可以指定其它的Metadata自定義字段。

分詞

創建文檔庫時可以指定Parser字段作為分詞器,一般場景下,使用默認的中文zh_ch即可,如果有特殊的分詞字符要求,請聯系阿里云技術支持。

在插入數據時,分詞器會將全文檢索指定字段的數據按照分詞符切分,保存到to_tsvector中,供后續全文檢索使用。

Embedding模型介紹

Embedding支持如下模型:

embedding_model

維度

說明

m3e-small

512

來源于moka-ai/m3e-small,僅支持中文,不支持英文。

m3e-base

768

來源于moka-ai/m3e-base,支持中英文。

text2vec

1024

來源于GanymedeNil/text2vec-large-chinese,支持中英文。

text-embedding-v1

1536

來源于百煉的通用文本向量,支持中英文。

text-embedding-v2

1536

text-embedding-v1的升級版。

clip-vit-b-32(多模)

512

開源的多模模型,支持文本、圖片。

向量索引

向量索引支持設置如下參數:

參數

說明

metrics

相似度距離度量算法,取值說明如下:

  • l2:使用歐氏距離(平方)函數構建索引,通常用于圖片相似度檢索場景。

  • ip:使用反內積距離函數構建索引,通常用于向量歸一化之后替代余弦相似度。

  • cosine:使用余弦距離函數構建索引,通常用于文本相似度檢索場景。

hnsw_m

HNSW算法中的最大鄰居數。OpenAPI會根據向量維度自動設置不同的值。

pq_enable

是否開啟PQ向量降維的功能,取值說明如下:

  • 0:關閉。

  • 1:開啟。

PQ向量降維依賴于存量的向量樣本數據進行訓練,如果數據量小于50w時,不建議設置此參數。

external_storage

是否使用mmap構建HNSW索引,取值說明如下:

  • 0:默認會采用段頁式存儲構建索引,該模式可以使用PostgreSQL中的shared_buffer做緩存,支持刪除和更新等操作。

  • 1:該索引會采用mmap構建索引,該模式不支持刪除更新等操作。