CreateIndex - 建立知識庫

更新時間:
Copy as MD

使用此API可建立兩類知識庫:基於文檔或音視頻的非結構化知識庫,以及用於資料查詢或圖片問答的結構化知識庫。

介面說明

  • 許可權要求
    • RAM 使用者(子帳號):需先擷取阿里雲百鍊的 API 許可權(可使用AliyunBailianDataFullAccess策略,該策略已包含本介面所需的 sfm:CreateIndex 許可權點),並加入一個業務空間後,才能調用本介面。

    • 阿里雲帳號(主帳號):預設擁有許可權,可直接調用。

  • 調用方式:推薦使用最新版阿里雲百鍊 SDK調用,SDK 已封裝複雜的簽名計算邏輯,可簡化您的調用過程。

  • 後續操作:本介面僅初始化知識庫建立作業。完成調用後,必須調用 SubmitIndexJob 介面以完成建立(否則,您將得到一個空的知識庫)。相應程式碼範例請參見知識庫 API 指南

  • 等冪性:本介面不具有等冪性,重複調用可能會建立多個同名知識庫。建議通過“先查詢、後建立”的邏輯實現等冪調用。

限流說明: 本介面頻繁調用會被限流,頻率請勿超過 10 次/秒。如遇限流,請稍後重試。

調試

您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。

調試

授權資訊

下表是API對應的授權資訊,可以在RAM權限原則語句的Action元素中使用,用來給RAM使用者或RAM角色授予調用此API的許可權。具體說明如下:

  • 操作:是指具體的許可權點。

  • 存取層級:是指每個操作的存取層級,取值為寫入(Write)、讀取(Read)或列出(List)。

  • 資源類型:是指操作中支援授權的資源類型。具體說明如下:

    • 對於必選的資源類型,用前面加 * 表示。

    • 對於不支援資源級授權的操作,用全部資源表示。

  • 條件關鍵字:是指雲產品自身定義的條件關鍵字。

  • 關聯操作:是指成功執行操作所需要的其他許可權。操作者必須同時具備關聯操作的許可權,操作才能成功。

操作

存取層級

資源類型

條件關鍵字

關聯操作

sfm:CreateIndex

create

*全部資源

*

請求文法

POST /{WorkspaceId}/index/create HTTP/1.1

路徑參數

名稱

類型

必填

描述

樣本值

WorkspaceId

string

業務空間 ID,即在該業務空間中建立知識庫。擷取方式請參見如何使用業務空間

llm-3z7uw7fwz0vexxxx

請求參數

名稱

類型

必填

描述

樣本值

Name

string

知識庫名稱。長度為 1~20 個字元,支援中文、英文、數字、底線(_)、短劃線(-)、半形句號(.)和半形冒號(:)。

企業協助文件庫

StructureType

string

知識庫類型。

取值範圍

  • unstructured:文檔搜尋或音視頻類知識庫。文檔搜尋類型的使用情境預設為基礎文檔問答。

說明

請注意,知識庫建立後將無法更改其類型。

枚舉值:

  • unstructured :

    unstructured

unstructured

EmbeddingModelName

string

  • 庫使用的向量模型。向量模型用於將原始輸入 prompt 和知識文本轉換為數值化向量,以便對二者進行相似性比較。預設的 text-embedding-v2 模型(暫不支援更改)除了支援中英文雙語外,還支援多種語言,並對向量結果進行歸一化處理。更多資訊,請參見向量化。取值範圍:

  • text-embedding-v2

預設值為空白,此時使用 text-embedding-v2 模型。

RerankModelName

string

知識庫使用的排序模型。排序模型是位於知識庫外部的評分系統,它會計算使用者問題與知識庫中每個文本切片的相似性分數並按此降序排列,並返回分數最高的前 K 個文本切片。取值範圍:

  • gte-rerank-hybrid:官方排序。

  • gte-rerank:gte-rerank 排序。

預設值為空白,此時使用 gte-rerank-hybrid。

說明

如僅需語義排序,可使用gte-rerank;若同時需要語義排序和文本匹配特徵以確保相關性,建議使用gte-rerank-hybrid

枚舉值:

  • gte-rerank-hybrid :

    官方排序

  • gte-rerank :

    gte-rerank 排序

gte-rerank-hybrid

RerankMinScore

number

相似性閾值,僅相似性分數超過此數值的文本切片才會被召回,用於篩選排序模型返回的文本切片。取值範圍[0.01-1.00]。

若未指定,預設採用 0.01。

0.20

ChunkSize

integer

分段長度,即每個文本切片的字元數上限。超過該長度時,文本很可能會被截斷。

取值範圍[1-6000]。若未指定,預設採用 500。

說明

若設定了ChunkSize且小於 100,則必須同時設定OverlapSize。您也可以不指定這 2 個參數,系統將使用預設值。

128

OverlapSize

integer

分段重疊長度,表示當前文本切片與前一個文本切片的重疊字元數。取值範圍[0-1024]。

若未指定,預設採用 100。

說明

OverlapSize必須小於ChunkSize,否則將導致切分異常。

16

Separator

string

說明

該參數暫不開放,請勿傳入。

(?<=。)

SourceType

string

重要 此參數在最新版 SDK 中已改為必傳,否則調用 SubmitIndexJob 介面將報錯:Required parameter(data_sources) missing or invalid。

匯入資料來源。取值範圍:

  • DATA_CENTER_CATEGORY:類目類型,即匯入應用資料中指定類目下的所有檔案,可同時匯入多個類目。

  • DATA_CENTER_FILE:檔案類型,即匯入應用資料下的指定檔案,可同時匯入多個檔案。

說明

如果本參數傳入 DATA_CENTER_CATEGORY,則必須指定CategoryIds參數;如果本參數傳入 DATA_CENTER_FILE,則必須指定DocumentIds參數。

說明

要建立空知識庫,可使用不含檔案的空類目:本參數傳入 DATA_CENTER_CATEGORY,CategoryIds傳入空類目 ID。

枚舉值:

  • DATA_CENTER_CATEGORY :

    類目類型

  • DATA_CENTER_FILE :

    檔案類型

DATA_CENTER_FILE

DocumentIds

array

建立知識庫時可同步匯入檔案。此處可指定需要匯入的檔案清單(傳入檔案 ID,建議匯入不超過 10000 個。如有剩餘檔案,後續可調用 SubmitIndexAddDocumentsJob 介面繼續匯入)。

string

檔案 ID,即 AddFile 介面返回的FileId,或者在應用資料-檔案頁簽,單擊檔案名稱旁的 ID 表徵圖擷取。

file_9a65732555b54d5ea10796ca5742ba22_xxxxxxxx

CategoryIds

array

建立知識庫時可同步匯入檔案。此處通過指定類目 ID,可匯入對應類目下的所有檔案(建議匯入不超過 10000 個。如有剩餘檔案,後續可調用 SubmitIndexAddDocumentsJob 介面繼續匯入)。

string

類目 ID,即 AddCategory 介面返回的CategoryId。或者在應用資料-檔案頁簽,單擊類目旁的 ID 表徵圖擷取。

ca_hiu2383nfxxxx

TableIds

array

說明

該參數暫不開放,請勿傳入。

string

SinkType

string

知識庫的向量儲存類型。更多資訊,請參見知識庫。取值範圍:

  • BUILT_IN:將向量資料託管在阿里雲百鍊平台中。

  • ADB:AnalyticDB for PostgreSQL 資料庫。如需進階功能,如管理、審計和監控資料庫,推薦選擇 ADB。

說明

若您尚未在阿里雲百鍊上使用過 ADB 儲存,可前往建立知識庫頁面選擇向量儲存類型為 ADB-PG,並按介面提示完成授權。如果您傳入了 ADB,則必須指定SinkInstanceIdSinkRegion參數。

枚舉值:

  • BUILT_IN :

    BUILT_IN

  • ADB :

    ADB

BUILT_IN

SinkInstanceId

string

AnalyticDB for PostgreSQL 執行個體 ID(僅在SinkType指定 ADB 時才需要傳入)。請前往AnalyticDB for PostgreSQL 資料執行個體列表頁面擷取此 ID。

gp-bp32109xxxx

SinkRegion

string

AnalyticDB for PostgreSQL 執行個體所在地區(僅在SinkType指定 ADB 時才需要傳入)。您可調用 DescribeRegions 擷取地區列表。

cn-hangzhou

Columns

array<object>

說明

該參數暫不開放,請勿傳入。

object

說明

該參數暫不開放,請勿傳入。

Column

string

說明

該參數暫不開放,請勿傳入。

school

IsRecall

boolean

說明

該參數暫不開放,請勿傳入。

true

IsSearch

boolean

說明

該參數暫不開放,請勿傳入。

true

Name

string

說明

該參數暫不開放,請勿傳入。

學校

Type

string

說明

該參數暫不開放,請勿傳入。

string

Description

string

知識庫描述。長度為 0~1000 個英文或中文字元。 預設值為空白。

企業協助文件庫包括了公司制度、產品清單等重要資料。

metaExtractColumns

array<object>

中繼資料提取配置。中繼資料是與非結構化資料內容相關的一系列附加屬性,這些屬性以 key-value 索引值對的形式整合到文本切片中。更多資訊,請參見知識庫

object

Key

string

中繼資料欄位,長度為 1~50 個字元,必須為英文或底線。如果指定本參數,則必須指定ValueType參數。

author

Value

string

中繼資料欄位的值。

Tim

Type

string

中繼資料欄位的取值方法。取值範圍:

  • constant:常量。

  • variable:變數。

  • custom_prompt:大模型。

  • regular:正則。

  • keywords:關鍵詞搜尋。

枚舉值:

  • constant :

    常量抽取

  • keywords :

    關鍵詞抽取

  • custom_prompt :

    大模型

  • variable :

    變數抽取

  • regular :

    正則

constant

Desc

string

中繼資料欄位的中文描述。長度為 0~1000 個字元,支援中文、英文、數字、底線(_)、短劃線(-)、半形句號(.)和半形冒號(:)。預設值為空白。

作者名

EnableLlm

boolean

開啟後表示該中繼資料欄位和值將和文本切片的內容一同參與大模型的回答產生過程。取值範圍:

  • true:開啟。

  • false:不開啟。

預設值為 false。

枚舉值:

  • true :

    開啟

  • false :

    不開啟

false

EnableSearch

boolean

開啟後表示該中繼資料欄位和值將和文本切片的內容一同參與知識庫檢索。取值範圍:

  • true:開啟。

  • false:不開啟。

預設值為 false。

枚舉值:

  • true :

    開啟

  • false :

    不開啟

false

enableHeaders

boolean

是否將所有 xlsx、xls 格式檔案的第一行資料作為表頭,並拼接到每個文本切片中,避免大模型誤將表頭當作普通資料行來處理。

說明

建議僅在匯入檔案均為 .xlsx、.xls 格式且包含表頭時啟用該功能,否則無需開啟。

取值範圍:

  • true:開啟。

  • false:不開啟。

若未指定,預設不開啟。

枚舉值:

  • true :

    開啟

  • false :

    不開啟

false

chunkMode

string

說明

該參數暫不開放,請勿傳入。

枚舉值:

  • regex :

    按照正則切分

  • length :

    按長度切分

  • h1 :

    按照一級標題切分

  • h2 :

    按照二級標題切分

  • page :

    按頁切分

regex

EnableRewrite

boolean

是否開啟多輪對話改寫。取值範圍:

  • true:開啟。

  • false:不開啟。

若未指定,預設為開啟。

枚舉值:

  • true :

    開啟

  • false :

    不開啟

true

CreateIndexType

string

說明

該參數暫不開放,請勿傳入。

standard

pipelineCommercialType

string

說明

該參數暫不開放,請勿傳入。

standard

pipelineCommercialCu

integer

說明

該參數暫不開放,請勿傳入。

1

pipelineRetrieveRateLimitStrategy

string

說明

該參數暫不開放,請勿傳入。

downgrade

datasourceCode

string

資料來源 Code。建立資料查詢類知識庫時必填,與 table、database 配合使用。

說明
  • 本介面不支援關聯自訂資料庫,請使用阿里雲百鍊控制台建立。

260xxx

table

string

資料表名稱。建立資料查詢類知識庫時必填。

該資料表必須存在於由 connectId 或 datasourceCode 指定的資料來源內。

lance

database

string

資料庫名稱。建立資料查詢知識庫時必填。

該資料庫必須存在於由 datasourceCode 指定的資料來源內。

database_a6eacabe6

knowledgeType

string

該參數暫不開放,請勿傳入。

document

knowledgeScene

string

該參數暫不開放,請勿傳入。

basic_document_qa

connectId

string

該參數暫不開放,請勿傳入。

conn_mysql_xxx_xxx

channelType

string

connector

RerankMode

string

該參數暫不開放,請勿傳入。

枚舉值:

  • similar: 相似模式。 :

    similar: 相似模式。

  • custom: 自訂模式。 :

    custom: 自訂模式。

  • qa:(預設值) 問答模式。 :

    qa:(預設值) 問答模式。

qa

RerankInstruct

string

該參數暫不開放,請勿傳入。

返回參數

名稱

類型

描述

樣本值

object

Schema of Response

Code

string

錯誤狀態代碼

Data

object

請求成功時返回的業務資料

Id

string

知識庫 ID,又稱IndexId,建立的知識庫唯一標識

說明

請妥善保管該值,它將用於後續所有與此知識庫相關的 API 操作。

jkurxhxxxx

Message

string

錯誤資訊

RequestId

string

請求 ID

17204B98-xxxx-4F9A--2446A84821CA

Status

string

介面返回的狀態代碼

"200"

Success

boolean

請求是否成功,可能值為:

  • true:成功

  • false:失敗

true

樣本

正常返回樣本

JSON格式

{
  "Code": "",
  "Data": {
    "Id": "jkurxhxxxx"
  },
  "Message": "",
  "RequestId": "17204B98-xxxx-4F9A--2446A84821CA",
  "Status": "\"200\"",
  "Success": true
}

錯誤碼

訪問錯誤中心查看更多錯誤碼。

變更歷史

更多資訊,參考變更詳情