文本向量場(chǎng)景快速入門
購(gòu)買實(shí)例
購(gòu)買實(shí)例可參考購(gòu)買OpenSearch向量檢索版實(shí)例。
配置集群
新購(gòu)買的實(shí)例,在其詳情頁中,實(shí)例狀態(tài)為“待配置”,并且會(huì)自動(dòng)部署一個(gè)與購(gòu)買的查詢節(jié)點(diǎn)和數(shù)據(jù)節(jié)點(diǎn)的個(gè)數(shù)及規(guī)格一致的空實(shí)例,之后需要為該實(shí)例配置表信息>數(shù)據(jù)同步>字段配置>索引結(jié)構(gòu),之后等待索引重建完成即可正常搜索。
1. 表基礎(chǔ)信息
表管理點(diǎn)擊“表添加",輸入表名稱,設(shè)置數(shù)據(jù)分片數(shù)和數(shù)據(jù)更新資源數(shù),場(chǎng)景模板選擇:向量(文本語義搜索),數(shù)據(jù)處理選擇:需將原始數(shù)據(jù)轉(zhuǎn)為向量數(shù)據(jù),點(diǎn)擊下一步:
配置說明:
表名稱:可自定義
數(shù)據(jù)分片數(shù):分片數(shù)設(shè)置時(shí),請(qǐng)?zhí)顚懖怀^256的正整數(shù), 用于提升全量構(gòu)建速度、單次查詢性能。(部分存量實(shí)例,仍需各索引表分片數(shù)保持一致;或至少一個(gè)索引表分片數(shù)為1,其余索引表分片數(shù)一致)
數(shù)據(jù)更新資源數(shù):數(shù)據(jù)更新所用資源數(shù),每個(gè)索引默認(rèn)免費(fèi)提供2個(gè)4核8G的更新資源,超出免費(fèi)額度的資源將產(chǎn)生費(fèi)用,詳情可參考向量檢索版計(jì)費(fèi)概述
場(chǎng)景模板:向量檢索版內(nèi)置了3種模板可供用戶選擇:通用、向量-圖片搜索、向量-文本語義模板
2. 數(shù)據(jù)同步
配置數(shù)據(jù)源(目前支持的數(shù)據(jù)源有MaxCompute數(shù)據(jù)源和API推送數(shù)據(jù)源),這里以MaxCompute數(shù)據(jù)源為例,數(shù)據(jù)源類型選擇MaxCompute,設(shè)置Project、AccesskeyID、AccesskeySecret、Table、分組鍵partition、時(shí)間戳,可按需選擇是否開啟“自動(dòng)索引重建”選擇完成之后可選擇校驗(yàn),通過后可點(diǎn)擊下一步:
3. 字段配置
OpenSearch會(huì)根據(jù)您選擇的場(chǎng)景模板,預(yù)置相關(guān)字段,并會(huì)將全量數(shù)據(jù)來源中的字段(如有),自動(dòng)導(dǎo)入字段列表中:
設(shè)置字段:‘向量文本搜索’模板必須至少包含4個(gè)預(yù)置字段,id(主鍵)、vector_source_text(向需要文本向量化的文本字段)、cate_id(類目字段)、vector(存儲(chǔ)文本向量的字段),平臺(tái)默認(rèn)會(huì)生成:
字段配置說明:
必選字段:主鍵字段和向量字段,主鍵字段為int或string類型并且需要勾選主鍵按鈕,向量字段為float類型并且需要勾選向量字段按鈕;
向量字段默認(rèn)為多值的float類型,多值分隔符默認(rèn)使用ha3分割符^] 進(jìn)行切分(其對(duì)應(yīng)utf編碼為\x1D),也可以輸入自定義多值分隔符
文本向量化的字段需要勾選“需embedding字段”
要求vector_source_text的數(shù)據(jù),長(zhǎng)度不得超過128字節(jié),如果超過會(huì)截取前128字節(jié)做向量預(yù)測(cè)。
使用向量檢索,在定義字段時(shí)有位置要求,需要按照主鍵字段、命名空間字段(非必要)、向量字段的順序創(chuàng)建。(如上圖所示)
當(dāng)數(shù)據(jù)中缺少字段或字段為空時(shí),系統(tǒng)將自動(dòng)補(bǔ)充默認(rèn)值,數(shù)字類型默認(rèn)補(bǔ)0,STRING類型默認(rèn)補(bǔ)空字符串,支持自定義默認(rèn)值
需embedding字段配置說明:
向量化模型:目前支持以下幾種模型:
ops-text-embedding-000,短文本轉(zhuǎn)向量模型,維度固定為768。
ops-text-embedding-en-000:英文短文本轉(zhuǎn)向量模型,維度固定768。
ops-text-embedding-1024-000-20231001:增強(qiáng)版中文轉(zhuǎn)向量 1024
ops-text-embedding-512-000-20231001:增強(qiáng)版中文轉(zhuǎn)向量 512
ops-text-embedding-128-000-20231001:增強(qiáng)版中文轉(zhuǎn)向量 128
ops-text-embedding-512-en-000-20231001:增強(qiáng)版英文轉(zhuǎn)向量 512
ops-text-embedding-128-en-000-20231001:增強(qiáng)版英文轉(zhuǎn)向量 128
數(shù)據(jù)類型:text,針對(duì)文本類型,默認(rèn)不可修改。
注:文本數(shù)據(jù)長(zhǎng)度不得超過 xxx token,如果超過長(zhǎng)度限制,將會(huì)截取前 xxx token 做向量預(yù)測(cè);一個(gè)漢字、一個(gè)英文單詞、一個(gè)標(biāo)點(diǎn)符號(hào)可被估算為 1 token。
4. 索引結(jié)構(gòu)
4.1. 向量索引
OpenSearch會(huì)對(duì)主鍵與向量字段自動(dòng)構(gòu)建索引,索引名與字段名相同,只需要在控制臺(tái)配置向量索引:
主鍵字段、向量字段必須填寫,命名空間字段非必填,可以為空。
命名空間字段:實(shí)例引擎版本為vetcor service 1.0.2及以下版本,namespace標(biāo)簽字段不支持string格式類型;實(shí)例引擎版本為vetcor service 1.0.2及以上版本,無此限制。
高級(jí)配置,系統(tǒng)會(huì)自動(dòng)填充,向量維度固定為768,其他參數(shù)不建議修改:
5. 確認(rèn)創(chuàng)建
索引配置完成后,點(diǎn)擊確認(rèn)創(chuàng)建。
6. 變更歷史
實(shí)例管理-變更歷史-數(shù)據(jù)源變更,可以看到創(chuàng)建表及新增索引及全量的所有FSM,全部完成之后引擎搭建完成,可以開始查詢測(cè)試:
7. 查詢測(cè)試
查詢示例:可參考預(yù)測(cè)查詢。
結(jié)果展示:
{
"totalCount": 5,
"result": [
{
"id": 5,
"score": 1.103209137916565
},
{
"id": 3,
"score": 1.1278988122940064
},
{
"id": 2,
"score": 1.1326735019683838
}
],
"totalTime": 242.615
}
result 中 記錄著返回的結(jié)果。
語法說明
SDK中使用向量檢索
查詢數(shù)據(jù)(通過SDK進(jìn)行向量、主鍵查詢)
更新數(shù)據(jù)(通過SDK進(jìn)行add、delete記錄)