使用此 API 可建立兩類知識庫:基於文件或影音的非結構化知識庫,以及用於資料查詢或圖片問答的結構化知識庫。
介面說明
- 權限要求:
- 呼叫方式:推薦使用最新版阿里雲百煉 SDK呼叫,SDK 已封裝複雜的簽章計算邏輯,可簡化您的呼叫過程。
- 後續操作:本介面僅初始化知識庫建立作業。完成呼叫後,必須呼叫 SubmitIndexJob 介面以完成建立(否則,您將得到一個空的知識庫)。相應程式碼範例請參見知識庫 API 指南。
- 冪等性:本介面不具有冪等性,重複呼叫可能會建立多個同名知識庫。建議透過「先查詢、後建立」的邏輯實現冪等呼叫。
調試
您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。
授權資訊
下表是API對應的授權資訊,可以在RAM權限原則語句的Action元素中使用,用來給RAM使用者或RAM角色授予調用此API的許可權。具體說明如下:
- 操作:是指具體的許可權點。
- 存取層級:是指每個操作的存取層級,取值為寫入(Write)、讀取(Read)或列出(List)。
-
資源類型:是指操作中支援授權的資源類型。具體說明如下:
- 對於必選的資源類型,用前面加 * 表示。
- 對於不支援資源級授權的操作,用
全部資源表示。
- 條件關鍵字:是指雲產品自身定義的條件關鍵字。
- 關聯操作:是指成功執行操作所需要的其他許可權。操作者必須同時具備關聯操作的許可權,操作才能成功。
操作 | 存取層級 | 資源類型 | 條件關鍵字 | 關聯操作 |
|---|---|---|---|---|
sfm:CreateIndex | create | *全部資源。
| 無 | 無 |
請求文法
路徑參數
名稱 | 類型 | 必填 | 描述 | 樣本值 |
|---|---|---|---|---|
| WorkspaceId | string | 是 | 業務空間 ID,即在該業務空間中建立知識庫。獲取方式請參見如何使用業務空間。 | llm-3z7uw7fwz0vexxxx |
請求參數
名稱 | 類型 | 必填 | 描述 | 樣本值 |
|---|---|---|---|---|
| Name | string | 是 | 知識庫名稱。長度為 1~20 個字元,支援中文、英文、數字、底線(_)、連字號(-)、半形句號(.)和半形冒號(:)。 | 企業幫助文件庫。 |
| StructureType | string | 是 | 知識庫類型。 取值範圍:
請注意,知識庫建立後將無法變更其類型。 枚舉值:
| unstructured |
| EmbeddingModelName | string | 否 |
預設值為空,此時使用 text-embedding-v2 模型。 枚舉值:
| text-embedding-v4 |
| RerankModelName | string | 否 | 知識庫使用的排序模型。排序模型是位於知識庫外部的評分系統,它會計算使用者問題與知識庫中每個文字切片的相似度分數並按此降序排列,並返回分數最高的前 K 個文字切片。取值範圍:
預設值為空,此時使用 gte-rerank-hybrid。 如僅需語意排序,可使用 枚舉值:
| gte-rerank-hybrid |
| RerankMinScore | number | 否 | 相似度閾值,僅相似度分數超過此數值的文字切片才會被召回,用於篩選排序模型返回的文字切片。取值範圍 [0.01-1.00]。 若未指定,預設採用 0.01。 | 0.20 |
| ChunkSize | integer | 否 | 分段長度,即每個文字切片的字元數上限。超過該長度時,文字很可能會被截斷。 取值範圍 [1-6000]。若未指定,預設採用 500。 若設定了 | 128 |
| OverlapSize | integer | 否 | 分段重疊長度,表示目前文字切片與前一個文字切片的重疊字元數。取值範圍 [0-1024]。 若未指定,預設採用 100。
| 16 |
| Separator | string | 否 | 該參數暫不開放,請勿傳入。 | (?<=。) |
| SourceType | string | 否 | 此參數在最新版 SDK 中已改為必傳,否則呼叫 SubmitIndexJob 介面將報錯:Required parameter(data_sources) missing or invalid。 匯入資料來源。取值範圍:
如果本參數傳入 DATA_CENTER_CATEGORY,則必須指定 要建立空知識庫,可使用不含檔案的空類別:本參數傳入 DATA_CENTER_CATEGORY, 枚舉值:
| DATA_CENTER_FILE |
| DocumentIds | array | 否 | 建立知識庫時可同步匯入檔案。此處可指定需要匯入的檔案清單(傳入檔案 ID,建議匯入不超過 10000 個。如有剩餘檔案,後續可呼叫 SubmitIndexAddDocumentsJob 介面繼續匯入)。 | |
string | 否 | 檔案 ID,即 AddFile 介面返回的 | file_9a65732555b54d5ea10796ca5742ba22_xxxxxxxx | |
| CategoryIds | array | 否 | 建立知識庫時可同步匯入檔案。此處透過指定類別 ID,可匯入對應類別下的所有檔案(建議匯入不超過 500 個。如有剩餘檔案,後續可呼叫 SubmitIndexAddDocumentsJob 介面繼續匯入)。 | |
string | 否 | 類別 ID,即 AddCategory 介面返回的 | ca_hiu2383nfxxxx | |
| TableIds | array | 否 | 該參數暫不開放,請勿傳入。 | |
string | 否 | |||
| SinkType | string | 是 | 知識庫的向量儲存類型。更多資訊,請參見知識庫。取值範圍:
若您尚未在阿里雲百煉上使用過 ADB 儲存,可前往建立知識庫頁面選擇向量儲存類型為 ADB-PG,並按介面提示完成授權。如果您傳入了 ADB,則必須指定 枚舉值:
| BUILT_IN |
| SinkInstanceId | string | 否 | AnalyticDB for PostgreSQL 執行個體 ID(僅在 | gp-bp32109xxxx |
| SinkRegion | string | 否 | AnalyticDB for PostgreSQL 執行個體所在地域(僅在 | 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 個字元,必須為英文或底線。如果指定本參數,則必須指定 | author |
| Value | string | 否 | 中繼資料欄位的值。 | Tim |
| Type | string | 否 | 中繼資料欄位的取值方法。取值範圍:
枚舉值:
| constant |
| Desc | string | 否 | 中繼資料欄位的中文描述。長度為 0~1000 個字元,支援中文、英文、數字、底線(_)、連字號(-)、半形句號(.)和半形冒號(:)。預設值為空。 | 作者名。 |
| EnableLlm | boolean | 否 | 開啟後表示該中繼資料欄位和值將和文字切片的內容一同參與大型語言模型的回答生成過程。取值範圍:
預設值為 false。 枚舉值:
| false |
| EnableSearch | boolean | 否 | 開啟後表示該中繼資料欄位和值將和文字切片的內容一同參與知識庫檢索。取值範圍:
預設值為 false。 枚舉值:
| false |
| enableHeaders | boolean | 否 | 是否將所有 xlsx、xls 格式檔案的第一列資料作為表頭,並拼接到每個文字切片中,避免大型語言模型誤將表頭當作普通資料列來處理。 建議僅在匯入檔案均為 .xlsx、.xls 格式且包含表頭時啟用該功能,否則無需開啟。 取值範圍:
若未指定,預設不開啟。 枚舉值:
| false |
| chunkMode | string | 否 | 該參數暫不開放,請勿傳入。 枚舉值:
| regex |
| EnableRewrite | boolean | 否 | 是否開啟多輪對話改寫。取值範圍:
若未指定,預設為開啟。 枚舉值:
| true |
| CreateIndexType | string | 否 | 該參數暫不開放,請勿傳入。 | standard |
| pipelineCommercialType | string | 否 | 該參數暫不開放,請勿傳入。 | standard |
| pipelineCommercialCu | integer | 否 | 該參數暫不開放,請勿傳入。 | 1 |
| pipelineRetrieveRateLimitStrategy | string | 否 | 該參數暫不開放,請勿傳入。 | downgrade |
| knowledgeType | string | 否 | 資料源 Code。建立資料查詢類知識庫時必填,與 table、database 配合使用。
| 260xxx |
| RerankMode | string | 否 | 資料表名稱。建立資料查詢類知識庫時必填。 該資料表必須存在於由 connectId 或 datasourceCode 指定的資料源內。 枚舉值:
| lance |
| RerankInstruct | string | 否 | 資料庫名稱。建立資料查詢知識庫時必填。 該資料庫必須存在於由 datasourceCode 指定的資料源內。 | database_a6eacabe6 |
否 | 該參數暫不開放,請勿傳入。 | document | ||
否 | 該參數暫不開放,請勿傳入。 | basic_document_qa | ||
否 | 該參數暫不開放,請勿傳入。 | conn_mysql_xxx_xxx | ||
否 | connector | |||
否 | 該參數暫不開放,請勿傳入。 [_single.params.RerankMode.enum.similar: 相似模式。]similar: 相似模式。 [_single.params.RerankMode.enum.custom: 自定义模式。]custom: 自訂模式。 [_single.params.RerankMode.enum.qa:(默认值) 问答模式。]qa:(預設值) 問答模式。 [parameters.33.schema.enumValueTitles.similar: 相似模式。]similar: 相似模式。 [parameters.33.schema.enumValueTitles.custom: 自定义模式。]custom: 自訂模式。 [parameters.33.schema.enumValueTitles.qa:(默认值) 问答模式。]qa:(預設值) 問答模式。 枚舉值:
| qa | ||
否 | 該參數暫不開放,請勿傳入。 |
返回參數
名稱 | 類型 | 描述 | 樣本值 |
|---|---|---|---|
object | Schema of Response | ||
| Code | string | 錯誤狀態碼。 | |
| Data | object | 請求成功時返回的業務資料。 | |
| Id | string | 知識庫 ID,又稱 請妥善保管該值,它將用於後續所有與此知識庫相關的 API 操作。 | jkurxhxxxx |
| Message | string | 錯誤訊息。 | |
| RequestId | string | 請求 ID。 | 17204B98-xxxx-4F9A--2446A84821CA |
| Status | string | 介面返回的狀態碼。 | "200" |
| Success | boolean | 請求是否成功,可能值為:
| true |
樣本
正常返回樣本
JSON格式