REST Resource: projects.locations.dataStores

資源:DataStore

說明 DataStore 物件的訊息。DataStore 由專案直接擁有,其中包含一組相關文件,這些文件共用單一不可變更的 DocumentType,以及用於處理這些文件的設定。匯入的文件會分割成片段、嵌入,並儲存在資料儲存庫的備份集合中 (請參閱 collectionName)。

JSON 表示法
{
  "name": string,
  "displayName": string,
  "description": string,
  "createTime": string,
  "updateTime": string,
  "labels": {
    string: string,
    ...
  },
  "documentType": enum (DocumentType),
  "processingConfig": {
    object (ProcessingConfig)
  },
  "state": enum (State),
  "collectionName": string,
  "documentMetadataSchema": {
    object (DocumentMetadataSchema)
  }
}
欄位
name

string

ID。DataStore 的完整資源名稱。

格式:projects/{project}/locations/{location}/dataStores/{dataStoreId}

displayName

string

選用。使用者指定的 DataStore 顯示名稱。

description

string

選用。使用者指定的 DataStore 說明。

createTime

string (Timestamp format)

僅供輸出。建立時間戳記

使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

updateTime

string (Timestamp format)

僅供輸出。更新時間戳記

使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

labels

map (key: string, value: string)

選用。標籤為鍵/值組合。

包含 "key": value 組合清單的物件,範例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }。

documentType

enum (DocumentType)

這是必要旗標,不可變動。這個資料儲存庫中所有文件的不可變更內容類型。

processingConfig

object (ProcessingConfig)

選用。這項設定可控管這個資料儲存庫中的文件擷取方式 (剖析、分段和嵌入)。

可透過 dataStores.patch 變更。變更只會套用至之後處理的文件:DataStore 中現有的文件會保留現有區隔,重新匯入未變更的檔案不會重新處理。

state

enum (State)

僅供輸出。DataStore 的狀態。

collectionName

string

僅供輸出。支援這個 DataStore 的集合資源名稱,格式為 projects/{project}/locations/{location}/collections/{collectionId}。collectionId 為 google-{dataStoreId},或 google- 後面加上 DataStore ID 的雜湊值 (如果長度超過 63 個字元)。建立備份集合後,系統會填入這項資訊。

documentMetadataSchema

object (DocumentMetadataSchema)

選用。這個資料儲存庫中文件使用者定義中繼資料的結構定義。系統會根據 JSON 結構定義草稿 7 驗證結構定義。

之後可透過 dataStores.patch 新增屬性來擴充結構定義,但無法移除或變更現有屬性。

DocumentType

資料儲存庫中文件的內容類型。DataStore 中的所有文件都會共用單一不可變更的 DocumentType。

列舉
DOCUMENT_TYPE_UNSPECIFIED 預設值,未指定文件類型。
UNSTRUCTURED 文字文件:PDF、純文字、Word、PowerPoint 和 Excel 檔案,可視需要加入中繼資料。
VIDEO 影片文件,可選擇是否包含中繼資料。

ProcessingConfig

ProcessingConfig 可控管 DataStore 中文件的剖析、分塊和嵌入方式。

JSON 表示法
{
  "videoProcessingConfig": {
    object (VideoProcessingConfig)
  },
  "unstructuredProcessingConfig": {
    object (UnstructuredProcessingConfig)
  }
}
欄位
videoProcessingConfig

object (VideoProcessingConfig)

選用。影片擷取管道的設定。當 DataStore 的 documentType 為 VIDEO 時適用。

如果未設定 VIDEO DataStore,管道會預設為固定視窗分段,視窗大小為 30 秒,並在生成各片段的嵌入時停用音訊。

unstructuredProcessingConfig

object (UnstructuredProcessingConfig)

選用。非結構化文件擷取管道的設定。當 DataStore 的 documentType 為 UNSTRUCTURED 時適用。

如果未設定 UNSTRUCTURED DataStore,管道會預設為區塊分割,chunkSize為 500、數位剖析,以及僅限文字的每區隔嵌入生成。

VideoProcessingConfig

設定影片擷取管道,用於擷取至這個資料儲存庫的文件。區隔和嵌入設定可以獨立演進,同時仍會在這個訊息中分組。

所有子設定均為選用。任何省略的子設定都會改用該欄位記錄的平台預設值。

JSON 表示法
{
  "segmentationConfig": {
    object (VideoSegmentationConfig)
  },
  "embeddingConfig": {
    object (VideoEmbeddingGenerationConfig)
  }
}
欄位
segmentationConfig

object (VideoSegmentationConfig)

選用。控管影片在嵌入前如何分割成片段。

如未設定,預設會採用固定時間範圍分割,時間範圍為 30 秒。如果設定,則必須設定 fixedWindowConfig 等區隔模式;空白設定會遭到拒絕。

embeddingConfig

object (VideoEmbeddingGenerationConfig)

選用。控管各片段多模態嵌入的生成方式。

VideoSegmentationConfig

設定影片在嵌入前如何拆分為片段。

JSON 表示法
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "fixedWindowConfig": {
    object (FixedWindowConfig)
  }
  // End of mutually exclusive fields.
}
欄位
這是必要旗標,必須選擇一個區隔模式。這項設定會隔離設定,讓使用者無法設定不適用於所選模式的欄位。以下是互斥欄位清單。回應中最多會設定下列其中一個欄位:
fixedWindowConfig

object (FixedWindowConfig)

固定時間區間 (確定性) 分割。

互斥欄位結束。

FixedWindowConfig

設定固定視窗區隔。系統會產生確定性、不重疊的片段,每個片段長度為 segmentDuration。

JSON 表示法
{
  "segmentDuration": string
}
欄位
segmentDuration

string (Duration format)

選用。指定每個發出區隔的固定視窗大小。

如未設定,預設值為 30 秒。明確設定時,必須大於 5 秒,且小於或等於 80 秒。

以秒為單位的時間長度,最多 9 個小數位數,結尾為「s」。例如:"3.5s"。

VideoEmbeddingGenerationConfig

設定如何為影片模態生成各片段的多模態嵌入。

JSON 表示法
{
  "audioMode": enum (AudioMode)
}
欄位
audioMode

enum (AudioMode)

選用。控管音軌是否會影響嵌入。預設為 DISABLED。

AudioMode

指定生成各片段的嵌入時,應如何處理來源影片的音軌。

這個列舉已凍結,不會有新值。

列舉
AUDIO_MODE_UNSPECIFIED 不明。視為停用。
ENABLED 將音軌和影片影格多工處理成多模態嵌入。改善依賴口語內容或環境音效 (例如對話式新聞、體育評論) 的查詢檢索率,但嵌入要求權杖大小會增加。
DISABLED 捨棄音軌,僅從視覺影格生成嵌入。預設值。

UnstructuredProcessingConfig

非結構化文件擷取管道的設定,適用於擷取至這個資料儲存庫的文件。區隔和剖析設定可以獨立演進,但仍會分組在這個訊息中。

所有子設定均為選用,任何省略的子設定都會改用該欄位記錄的平台預設值。

JSON 表示法
{
  "segmentationConfig": {
    object (UnstructuredSegmentationConfig)
  },
  "parsingConfig": {
    object (UnstructuredParsingConfig)
  },
  "embeddingConfig": {
    object (UnstructuredEmbeddingConfig)
  }
}
欄位
segmentationConfig

object (UnstructuredSegmentationConfig)

選用。控管非結構化文件在嵌入前如何分割成片段。

如未設定,預設會使用 chunkSize 為 500 的區塊分割。如果設定,則必須設定 chunkSegmentationConfig 或 pageSegmentationConfig 其中之一;空白設定會遭到拒絕。

parsingConfig

object (UnstructuredParsingConfig)

選用。剖析設定,套用至所有檔案類型,用於剖析非結構化文件。純文字 (.txt) 檔案一律會以數位方式剖析。

如未設定,則預設為數位 (原生文字擷取) 剖析,或在 embeddingConfig.mode 為 MULTIMODAL 時,預設為版面配置感知剖析。如果設定,則必須設定 digitalParsingConfig 或 layoutParsingConfig 其中之一;空白設定會遭到拒絕。

embeddingConfig

object (UnstructuredEmbeddingConfig)

選用。控制各片段嵌入的生成方式。

UnstructuredSegmentationConfig

設定非結構化文件在嵌入前如何拆分為片段。

JSON 表示法
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "chunkSegmentationConfig": {
    object (ChunkSegmentationConfig)
  },
  "pageSegmentationConfig": {
    object (PageSegmentationConfig)
  }
  // End of mutually exclusive fields.
}
欄位
這是必要旗標,必須選擇一個區隔模式。這項設定會隔離設定,因此使用者無法設定不適用於所選模式的欄位。以下是互斥欄位清單。回應中最多會設定下列其中一個欄位:
chunkSegmentationConfig

object (ChunkSegmentationConfig)

區塊層級區隔。

pageSegmentationConfig

object (PageSegmentationConfig)

頁面層級區隔。

互斥欄位結束。

ChunkSegmentationConfig

非結構化文件的區塊分割設定。系統會以語意區塊 (例如段落) 產生片段。

JSON 表示法
{
  "chunkSize": integer,
  "includeAncestorHeadings": boolean
}
欄位
chunkSize

integer

選用。每個分塊的詞元大小上限。

支援的值:100 至 500 (含)。如未設定,預設值為 500。

includeAncestorHeadings

boolean

選用。每個區塊是否也包含所屬章節的標題,以便從章節中間擷取的區塊保留其上下文。

只有版面配置剖析 (layoutParsingConfig) 會偵測標題。如果使用數位剖析和純文字檔案,這項設定不會有任何作用。

如未設定,預設值為 false。

PageSegmentationConfig

這個類型沒有任何欄位。

非結構化文件的頁面區隔設定。區隔是在網頁層級產生。

與數位剖析搭配使用。使用 layoutParsingConfig 時,PDF 檔案無法匯入,Word、PowerPoint 和 Excel 檔案則會分割成多個區塊。

UnstructuredParsingConfig

套用至特定類型非結構化文件剖析器的相關設定。

JSON 表示法
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "digitalParsingConfig": {
    object (DigitalParsingConfig)
  },
  "layoutParsingConfig": {
    object (LayoutParsingConfig)
  }
  // End of mutually exclusive fields.
}
欄位
這是必要旗標,必須選擇一個剖析模式。這項設定會隔離設定,因此使用者無法設定不適用於所選模式的欄位。以下是互斥欄位清單。回應中最多會設定下列其中一個欄位:
digitalParsingConfig

object (DigitalParsingConfig)

數位 (原生文字擷取) 剖析。

layoutParsingConfig

object (LayoutParsingConfig)

版面配置感知剖析。

互斥欄位結束。

DigitalParsingConfig

這個類型沒有任何欄位。

非結構化文件的數位剖析設定。擷取檔案中儲存的文字,不進行 OCR 或版面配置偵測:不會擷取僅出現在圖片中的文字,也不會偵測標題和表格。

LayoutParsingConfig

這個類型沒有任何欄位。

非結構化文件的版面配置剖析設定。偵測文件的結構 (例如標題和表格),並對 PDF 檔案執行 OCR。必須設定這項屬性,includeAncestorHeadings 才會生效,且 MULTIMODAL 才能嵌入。

UnstructuredEmbeddingConfig

設定如何為非結構化文件模態生成各區隔的嵌入。

JSON 表示法
{
  "mode": enum (EmbeddingMode)
}
欄位
mode

enum (EmbeddingMode)

選用。控制用來計算片段嵌入的內容。預設值為 TEXT。

EmbeddingMode

用於計算區隔嵌入的依據。

列舉
EMBEDDING_MODE_UNSPECIFIED 不明。視為 TEXT。
TEXT 僅限文字。從文件擷取的圖片不會用於嵌入。預設值。

狀態

DataStore 的狀態。

列舉
STATE_UNSPECIFIED 預設值。如果省略狀態,系統會使用這個值。
CREATING 正在建立資料儲存庫。
ACTIVE DataStore 已可使用。
DELETING 正在刪除 DataStore。

DocumentMetadataSchema

DataStore 中文件使用者定義中繼資料的結構定義。

JSON 表示法
{
  "schema": {
    object
  }
}
欄位
schema

object (Struct format)

選用。文件詮釋資料的 JSON 結構定義。系統會根據 JSON 結構定義草稿 7 驗證結構定義。

屬性名稱只能包含英文字母、數字、_ 和 -,且開頭不得為 google (不限大小寫);該前置字串為保留字。properties 不支援 additionalProperties 關鍵字。

方法

create

在指定專案和位置建立新的 DataStore。

delete

刪除單一 DataStore。

get

取得單一 DataStore 的詳細資料。

importDocuments

啟動長時間執行的作業,將文件匯入資料儲存庫。

list

列出指定專案和位置中的資料儲存庫。

patch

更新單一資料儲存庫的參數。

purgeDocuments

啟動長時間執行的作業,從資料儲存庫清除文件。