全部產品
Search
文件中心

OpenSearch:文本向量情境快速入門

更新時間:Jul 24, 2024

購買執行個體

購買執行個體可參考購買OpenSearch向量檢索版執行個體

配置叢集

新購買的執行個體,在其詳情頁中,執行個體狀態為“待配置”,並且會自動部署一個與購買的查詢節點和資料節點的個數及規格一致的空執行個體,之後需要為該執行個體配置表資訊>資料同步>欄位配置>索引結構,之後等待索引重建完成即可正常搜尋。

1. 表基礎資訊

表管理點擊“表添加",輸入表名稱,設定資料分區數資料更新資源數,情境模板選擇:向量(文本語義搜尋),資料處理選擇:需將未經處理資料轉為向量資料,點擊下一步:

image

配置說明

  • 表名稱:可自訂

  • 資料分區數:分區數設定時,請填寫不超過256的正整數, 用於提升全量構建速度、單次查詢效能。(部分存量執行個體,仍需各索引表分區數保持一致;或至少一個索引表分區數為1,其餘索引表分區數一致)

  • 資料更新資源數:資料更新所用資源數,每個索引預設免費提供2個4核8G的更新資源,超出免費額度的資源將產生費用,詳情可參考向量檢索版國際站計費文檔

  • 情境模板:向量檢索版內建了3種模板可供使用者選擇:通用、向量-圖片搜尋、向量-文本語義模板

2. 資料同步

配置資料來源(目前支援的資料來源有MaxCompute資料來源和API推送資料來源),這裡以MaxCompute資料來源為例,資料來源類型選擇MaxCompute,設定Project、AccesskeyID、AccesskeySecret、Table、分組鍵partition、時間戳記,可按需選擇是否開啟“自動索引重建”選擇完成之後可選擇校正,通過後可點擊下一步:

3. 欄位配置

OpenSearch會根據您選擇的情境模板,預置相關欄位,並會將全量資料來源中的欄位(如有),自動匯入欄位列表中:

image

設定欄位:‘向量文本搜尋’模板必須至少包含4個預置欄位,id(主鍵)、vector_source_text(向需要文本向量化的文字欄位)、cate_id(類目欄位)、vector(儲存文本向量的欄位),平台預設會產生:

image

欄位配置說明:

  • 必選欄位:主鍵欄位和向量欄位,主鍵欄位為int或string類型並且需要勾選主鍵按鈕,向量欄位為float類型並且需要勾選向量欄位按鈕;

  • 向量欄位預設為多值的float類型,多值分隔字元預設使用ha3分割符^] 進行切分(其對應utf編碼為\x1D),也可以輸入自訂多值分隔字元

  • 文本向量化的欄位需要勾選“需embedding欄位”

  • 要求vector_source_text的資料,長度不得超過128位元組,如果超過會截取前128位元組做向量預測。

  • 使用向量檢索,在定義欄位時有位置要求,需要按照主鍵欄位、命名空間欄位(非必要)、向量欄位的順序建立。(如上圖所示)

  • 當資料中缺少欄位或欄位為空白時,系統將自動補充預設值,數字類型預設補0,STRING類型預設補Null 字元串,支援自訂預設值

需embedding欄位配置說明

image.png

  • 向量化模型:目前支援以下幾種模型:

    • ops-text-embedding-000,短文本轉向量模型,維度固定為768。

    • ops-text-embedding-en-000:英文短文本轉向量模型,維度固定768。

    • ops-text-embedding-1024-000-20231001:增強版中文轉向量 1024

    • ops-text-embedding-512-000-20231001:增強版中文轉向量 512

    • ops-text-embedding-128-000-20231001:增強版中文轉向量 128

    • ops-text-embedding-512-en-000-20231001:增強版英文轉向量 512

    • ops-text-embedding-128-en-000-20231001:增強版英文轉向量 128

  • 資料類型:text,針對文本類型,預設不可修改。

註:文本資料長度不得超過 xxx token,如果超過長度限制,將會截取前 xxx token 做向量預測;一個漢字、一個英文單詞、一個標點符號可被估算為 1 token。

4. 索引結構

4.1. 向量索引

OpenSearch會對主鍵與向量欄位自動構建索引,索引名與欄位名相同,只需要在控制台配置向量索引:

image.png

說明
  • 主鍵欄位、向量欄位必須填寫,命名空間欄位非必填,可以為空白。

  • 命名空間欄位:執行個體引擎版本為vetcor service 1.0.2及以下版本,namespace標籤欄位不支援string格式類型;執行個體引擎版本為vetcor service 1.0.2及以上版本,無此限制。

進階配置,系統會自動填滿,向量維度固定為768,其他參數不建議修改:

image.png

5. 確認建立

索引配置完成後,點擊確認建立。

image.png

6. 變更歷史

執行個體管理-變更歷史-資料來源變更,可以看到建立表及新增索引及全量的所有FSM,全部完成之後引擎搭建完成,可以開始查詢測試:

7. 查詢測試

查詢樣本:可參考預測查詢

結果展示

{
    "totalCount": 5,
    "result": [
        {
            "id": 5,
            "score": 1.103209137916565
        },
        {
            "id": 3,
            "score": 1.1278988122940064
        },
        {
            "id": 2,
            "score": 1.1326735019683838
        }
    ],
    "totalTime": 242.615
}

result 中 記錄著返回的結果。

文法說明

SDK中使用向量檢索