本文說明如何管理 Document AI Warehouse 中的文件結構定義,包括建立、擷取、列出、更新及刪除作業。
什麼是文件結構定義
每份文件都屬於特定文件類型,並由結構定義指定。
文件結構定義 Document AI 倉儲中文件類型 (例如月結單或薪資單) 的結構,管理員可以在其中指定不同資料類型 (文字 | 數字 | 日期 | 列舉) 的屬性。
屬性用於表示擷取的資料、分類標記,或 AI 或人工使用者附加至文件的其他業務標記,例如 Invoice_Amount (數字)、Due_Date (日期) 或 Supplier_Name (文字)。
屬性屬性:每個屬性都可以宣告為
可篩選 - 可用於篩選搜尋結果
可供搜尋 - 已編入索引,因此可透過搜尋查詢找到
必要 -
required用於確保屬性存在於文件中 (建議將大多數屬性儲存為required = false,除非屬性為必要屬性)。
可擴充的結構定義:在某些情況下,具備編輯權限的使用者需要在文件中新增 / 刪除結構定義屬性。這項功能由「MAP 屬性」支援,也就是鍵/值組合的清單。
MAP 屬性中的每個鍵/值組合可以是 (Text | Numeric | Date | Enumeration) 的資料類型。
舉例來說,發票可能包含「Invoice_Entities」對應屬性,其中含有下列鍵/值配對:
Invoice_Amount (numeric) 1000
Due_Date (date) 12/24/2021
Supplier_Name (文字) ABC Corp
結構定義的不變性:請注意,結構定義或結構定義屬性可以新增,但目前無法編輯或刪除,因此請仔細定義結構定義。
事前準備
開始前,請先完成快速入門頁面。
建立結構定義
建立文件結構定義。
REST
curl --location --request POST --url https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/documentSchemas \
--header "Content-Type: application/json" \
--header "Authorization: Bearer $(gcloud auth print-access-token)" \
--data '{
"display_name": "Test Doc Schema",
"property_definitions": [
{
"name": "plaintiff",
"display_name": "Plaintiff",
"is_searchable": true,
"is_repeatable": true,
"text_type_options": {}
}
]
}'Python
詳情請參閱 Document AI Warehouse Python API 參考文件。
如要向 Document AI Warehouse 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Java
詳情請參閱 Document AI Warehouse Java API 參考文件。
如要向 Document AI Warehouse 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Node.js
詳情請參閱 Document AI Warehouse Node.js API 參考文件。
如要向 Document AI Warehouse 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
取得結構定義
取得文件結構定義的詳細資料。
REST
curl --request GET --url https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/documentSchemas/{document_schema_id} \
--header "Authorization: Bearer $(gcloud auth print-access-token)" \
--header "Content-Type: application/json; charset=UTF-8"Python
詳情請參閱 Document AI Warehouse Python API 參考文件。
如要向 Document AI Warehouse 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Java
詳情請參閱 Document AI Warehouse Java API 參考文件。
如要向 Document AI Warehouse 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Node.js
詳情請參閱 Document AI Warehouse Node.js API 參考文件。
如要向 Document AI Warehouse 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
列出結構定義
列出文件結構定義。
REST
curl --request GET --url https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/documentSchemas \
--header "Authorization: Bearer $(gcloud auth print-access-token)" \
--header "Content-Type: application/json; charset=UTF-8"Python
詳情請參閱 Document AI Warehouse Python API 參考文件。
如要向 Document AI Warehouse 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Java
詳情請參閱 Document AI Warehouse Java API 參考文件。
如要向 Document AI Warehouse 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
刪除結構定義
刪除文件結構定義。
REST
curl --request DELETE --url https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/documentSchemas/{document_schema_id} \
--header "Authorization: Bearer $(gcloud auth print-access-token)" \
--header "Content-Type: application/json; charset=UTF-8"Python
詳情請參閱 Document AI Warehouse Python API 參考文件。
如要向 Document AI Warehouse 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Java
詳情請參閱 Document AI Warehouse Java API 參考文件。
如要向 Document AI Warehouse 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Node.js
詳情請參閱 Document AI Warehouse Node.js API 參考文件。
如要向 Document AI Warehouse 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
更新結構定義
更新文件結構定義。目前更新邏輯僅支援新增屬性定義。新文件結構定義應包含現有結構定義中的所有屬性定義。
支援:
- 如果是現有資源,使用者可以變更下列中繼資料設定:
is_repeatable、is_metadata、is_required。 - 對於現有的 ENUM 屬性,使用者可以新增或刪除 ENUM 可能值。他們可以更新
EnumTypeOptions.validation_check_disabled標記,停用驗證檢查。驗證檢查用於確保呼叫CreateDocumentAPI 時,文件中指定的 ENUM 值在屬性定義中定義的可能 ENUM 值範圍內。 - 系統支援新增屬性定義。
- 如果是現有資源,使用者可以變更下列中繼資料設定:
不支援:
- 現有結構定義的
display_name和document_is_folder不得更新。 - 現有資源不允許更新
name、display_name和value_type_options。
- 現有結構定義的
REST
curl --request PATCH --url https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/documentSchemas/{document_schema_id} \
--header "Authorization: Bearer $(gcloud auth print-access-token)" \
--header "Content-Type: application/json; charset=UTF-8" \
--data '{
"document_schema": {
"display_name": "Test Doc Schema",
"property_definitions": [
{
"name": "plaintiff",
"display_name": "Plaintiff",
"is_repeatable": true,
"text_type_options": {}
}
]
}
}'Python
詳情請參閱 Document AI Warehouse Python API 參考文件。
如要向 Document AI Warehouse 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Java
詳情請參閱 Document AI Warehouse Java API 參考文件。
如要向 Document AI Warehouse 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
後續步驟
- 請參閱「管理文件」,瞭解如何管理文件。