אחרי שמגדירים Google Cloud חשבון ויוצרים מעבד, אפשר לשלוח בקשה למעבד Document AI.
הקוד שמשמש לשליחת הבקשה זהה לכל המעבדים. אפשר לראות הבדלים בפעולת המעבד במידע שכל מעבד מוציא.
אם משתמשים בגרסת v1 API של Document AI או ב- Google Cloud console, אפשר לשלוח בקשות עיבוד לגרסה הספציפית של המעבד. אם לא מציינים גרסת מעבד, המערכת משתמשת בגרסת ברירת המחדל.
מידע נוסף זמין במאמר בנושא ניהול גרסאות של מעבדים.
עיבוד אונליין
בקשות אונליין (סינכרוניות) מאפשרות לשלוח מסמך אחד לעיבוד.
מערכת Document AI מעבדת את הבקשה באופן מיידי ומחזירה document.
שליחת בקשה למעבד
בדוגמאות הקוד הבאות אפשר לראות איך לשלוח בקשה למעבד.
REST
בדוגמה הזו מוצג איך לספק תוכן של מסמך (תוכן גולמי של מסמך בבייטים
באמצעות מחרוזת בקידוד Base64) באובייקט rawDocument.
אפשר גם לציין inlineDocument, שהוא אותו פורמט JSON של Document שמוחזר על ידי Document AI. כך אפשר לשרשר בקשות על ידי העברת אותו פורמט הלוך ושוב
(לדוגמה, אם מסווגים מסמך ואז מחלצים את התוכן שלו).
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- LOCATION: המיקום של המעבד, לדוגמה:
us– ארצות הבריתeu- האיחוד האירופי
- PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
- PROCESSOR_ID: המזהה של המעבד בהתאמה אישית.
- skipHumanReview: ערך בוליאני להשבתת הבדיקה האנושית (נתמך רק על ידי מעבדי 'האדם שבתהליך').
-
true– דילוג על בדיקה אנושית -
false– הפעלת בדיקה אנושית (ברירת מחדל)
-
- MIME_TYPE†: אחת מהאפשרויות התקפות של סוג MIME.
- IMAGE_CONTENT†: אחד מהערכים התקינים
של תוכן מסמך מוטבע, שמיוצג כזרם של בייטים. בייצוגי JSON, קידוד base64 (מחרוזת ASCII) של נתוני התמונה הבינאריים. המחרוזת הזו צריכה להיראות כמו המחרוזת הבאה:
/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==
- FIELD_MASK: מציין אילו שדות לכלול בפלט
Document. זוהי רשימה מופרדת בפסיקים של שמות מלאים של שדות בפורמטFieldMask.- לדוגמה:
text,entities,pages.pageNumber
- לדוגמה:
- INDIVIDUAL_PAGES: רשימה של דפים בודדים לעיבוד.
† אפשר גם לציין את התוכן הזה באמצעות תוכן בקידוד base64 באובייקט inlineDocument.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID:process
גוף בקשת JSON:
{
"skipHumanReview": skipHumanReview,
"rawDocument": {
"mimeType": "MIME_TYPE",
"content": "IMAGE_CONTENT"
},
"fieldMask": "FIELD_MASK",
"processOptions": {
"individualPageSelector" {
"pages": [INDIVIDUAL_PAGES]
}
}
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID:process"
PowerShell
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID:process" | Select-Object -Expand Content
אם הבקשה תתבצע בהצלחה, השרת יחזיר קוד סטטוס 200 OK של HTTP ואת התשובה בפורמט JSON. גוף התשובה מכיל מופע של Document.
שליחת בקשה לגרסת מעבד
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- LOCATION: המיקום של המעבד, לדוגמה:
us– ארצות הבריתeu- האיחוד האירופי
- PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
- PROCESSOR_ID: המזהה של המעבד בהתאמה אישית.
- PROCESSOR_VERSION: מזהה גרסת המעבד. מידע נוסף זמין במאמר בנושא בחירת גרסת מעבד. לדוגמה:
pretrained-TYPE-vX.X-YYYY-MM-DDstablerc
- skipHumanReview: ערך בוליאני להשבתת הבדיקה האנושית (נתמך רק על ידי מעבדי 'האדם שבתהליך').
-
true– דילוג על בדיקה אנושית -
false– הפעלת בדיקה אנושית (ברירת מחדל)
-
- MIME_TYPE†: אחת מהאפשרויות התקפות של סוג MIME.
- IMAGE_CONTENT†: אחד מהערכים התקינים
של תוכן מסמך מוטבע, שמיוצג כזרם של בייטים. בייצוגי JSON, קידוד base64 (מחרוזת ASCII) של נתוני התמונה הבינאריים. המחרוזת הזו צריכה להיראות כמו המחרוזת הבאה:
/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==
- FIELD_MASK: מציין אילו שדות לכלול בפלט
Document. זוהי רשימה מופרדת בפסיקים של שמות מלאים של שדות בפורמטFieldMask.- לדוגמה:
text,entities,pages.pageNumber
- לדוגמה:
† אפשר גם לציין את התוכן הזה באמצעות תוכן בקידוד base64 באובייקט inlineDocument.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID/processorVersions/PROCESSOR_VERSION:process
גוף בקשת JSON:
{
"skipHumanReview": skipHumanReview,
"rawDocument": {
"mimeType": "MIME_TYPE",
"content": "IMAGE_CONTENT"
},
"fieldMask": "FIELD_MASK"
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID/processorVersions/PROCESSOR_VERSION:process"
PowerShell
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID/processorVersions/PROCESSOR_VERSION:process" | Select-Object -Expand Content
אם הבקשה תתבצע בהצלחה, השרת יחזיר קוד סטטוס 200 OK של HTTP ואת התשובה בפורמט JSON. גוף התשובה מכיל מופע של Document.
C#
למידע נוסף, קראו את מאמרי העזרה של Document AI C# API.
כדי לבצע אימות ב-Document AI, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Java
למידע נוסף, קראו את מאמרי העזרה של Document AI Java API.
כדי לבצע אימות ב-Document AI, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
למידע נוסף, קראו את מאמרי העזרה של Document AI Node.js API.
כדי לבצע אימות ב-Document AI, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
למידע נוסף, קראו את מאמרי העזרה של Document AI Python API.
כדי לבצע אימות ב-Document AI, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
עיבוד באצווה
בקשות באצווה (אסינכרוניות) מאפשרות לשלוח כמה מסמכים בבקשה אחת. Document AI משיב עם operation
שאפשר לשלוח לו בקשות חוזרות כדי לבדוק את סטטוס הבקשה. בסיום הפעולה, היא מכילה BatchProcessMetadata שמצביע על הקטגוריה של Cloud Storage שבה מאוחסנות התוצאות המעובדות.
אם קובצי הקלט שאתם רוצים לגשת אליהם נמצאים בקטגוריה בפרויקט אחר, אתם צריכים לספק גישה לקטגוריה הזו לפני שתוכלו לגשת לקבצים. איך מגדירים גישה לקבצים
שליחת בקשה למעבד
בדוגמאות הקוד הבאות אפשר לראות איך לשלוח בקשה לעיבוד אצווה למעבד.
REST
בדוגמה הזו מוצג איך לשלוח בקשת POST לשיטה
batchProcess לעיבוד אסינכרוני של מסמך גדול.
בדוגמה נעשה שימוש באסימון הגישה של חשבון שירות שהוגדר לפרויקט באמצעות Google Cloud CLI. הוראות להתקנת Google Cloud CLI, להגדרת פרויקט עם חשבון שירות ולקבלת אסימון גישה מופיעות במאמר לפני שמתחילים.
בקשת batchProcess מתחילה פעולה ממושכת ושומרת את התוצאות בקטגוריה של Cloud Storage. בדוגמה הזו אפשר לראות גם איך לקבל את הסטטוס של הפעולה הממושכת הזו אחרי שהיא התחילה.
שליחת בקשת העיבוד
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- LOCATION: המיקום של המעבד, לדוגמה:
us– ארצות הבריתeu- האיחוד האירופי
- PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
- PROCESSOR_ID: המזהה של המעבד בהתאמה אישית.
- INPUT_BUCKET_FOLDER†: קטגוריה או ספרייה ב-Cloud Storage לקריאת קובצי קלט, בפורמט הבא:
gs://bucket/directory/
- MIME_TYPE: אחת מהאפשרויות של סוג MIME תקין.
- OUTPUT_BUCKET_FOLDER: קטגוריה או ספרייה ב-Cloud Storage לשמירת קובצי הפלט, בפורמט הבא:
gs://bucket/directory/
- skipHumanReview: ערך בוליאני להשבתת בדיקה אנושית (נתמך רק על ידי מעבדי Human-in-the-Loop).
-
true– דילוג על בדיקה אנושית -
false– הפעלת בדיקה אנושית (ברירת מחדל)
-
- FIELD_MASK: מציין אילו שדות לכלול בפלט
Document. זוהי רשימה מופרדת בפסיקים של שמות מלאים של שדות בפורמטFieldMask.- לדוגמה:
text,entities,pages.pageNumber
- לדוגמה:
† במקום להשתמש ב-gcsPrefix כדי לכלול את כל הקבצים בתיקייה ב-GCS, אפשר גם להשתמש ב-documents כדי לרשום כל קובץ בנפרד:
"inputDocuments": {
"gcsDocuments": {
"documents": [
{
"gcsUri": "gs://BUCKET/PATH/TO/DOCUMENT1.ext",
"mimeType": "MIME_TYPE"
},
{
"gcsUri": "gs://BUCKET/PATH/TO/DOCUMENT2.ext",
"mimeType": "MIME_TYPE"
}
]
}
}ה-method של ה-HTTP וכתובת ה-URL:
POST https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID:batchProcess
גוף בקשת JSON:
{
"inputDocuments": {
"gcsPrefix": {
"gcsUriPrefix": "INPUT_BUCKET_FOLDER"
}
},
"documentOutputConfig": {
"gcsOutputConfig": {
"gcsUri": "OUTPUT_BUCKET_FOLDER",
"fieldMask": "FIELD_MASK"
}
},
"skipHumanReview": BOOLEAN
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID:batchProcess"
PowerShell
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID:batchProcess" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID"
}
שליחת בקשה לגרסת מעבד
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- LOCATION: המיקום של המעבד, לדוגמה:
us– ארצות הבריתeu- האיחוד האירופי
- PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
- PROCESSOR_ID: המזהה של המעבד בהתאמה אישית.
- PROCESSOR_VERSION: מזהה גרסת המעבד. מידע נוסף זמין במאמר בנושא בחירת גרסת מעבד. לדוגמה:
pretrained-TYPE-vX.X-YYYY-MM-DDstablerc
- INPUT_BUCKET_FOLDER†: קטגוריה או ספרייה ב-Cloud Storage לקריאת קובצי קלט, בפורמט הבא:
gs://bucket/directory/
- MIME_TYPE: אחת מהאפשרויות של סוג MIME תקין.
- OUTPUT_BUCKET_FOLDER: קטגוריה או ספרייה ב-Cloud Storage לשמירת קובצי הפלט, בפורמט הבא:
gs://bucket/directory/
- skipHumanReview: ערך בוליאני להשבתת הבדיקה האנושית (נתמך רק על ידי מעבדי 'האדם שבתהליך').
-
true– דילוג על בדיקה אנושית -
false– הפעלת בדיקה אנושית (ברירת מחדל)
-
- FIELD_MASK: מציין אילו שדות לכלול בפלט
Document. זוהי רשימה מופרדת בפסיקים של שמות מלאים של שדות בפורמטFieldMask.- לדוגמה:
text,entities,pages.pageNumber
- לדוגמה:
† במקום להשתמש ב-gcsPrefix כדי לכלול את כל הקבצים בתיקייה ב-GCS, אפשר גם להשתמש ב-documents כדי לרשום כל קובץ בנפרד:
"inputDocuments": {
"gcsDocuments": {
"documents": [
{
"gcsUri": "gs://BUCKET/PATH/TO/DOCUMENT1.ext",
"mimeType": "MIME_TYPE"
},
{
"gcsUri": "gs://BUCKET/PATH/TO/DOCUMENT2.ext",
"mimeType": "MIME_TYPE"
}
]
}
}ה-method של ה-HTTP וכתובת ה-URL:
POST https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID/processorVersions/PROCESSOR_VERSION:batchProcess
גוף בקשת JSON:
{
"inputDocuments": {
"gcsPrefix": {
"gcsUriPrefix": "INPUT_BUCKET_FOLDER"
}
},
"documentOutputConfig": {
"gcsOutputConfig": {
"gcsUri": "OUTPUT_BUCKET_FOLDER",
"fieldMask": "FIELD_MASK"
}
},
"skipHumanReview": BOOLEAN
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID/processorVersions/PROCESSOR_VERSION:batchProcess"
PowerShell
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID/processorVersions/PROCESSOR_VERSION:batchProcess" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID"
}
אם הבקשה מצליחה, ה-API של Document AI מחזיר את השם של הפעולה.
קבלת התוצאות
כדי לקבל את תוצאות הבקשה, צריך לשלוח בקשת GET למשאב operations. בדוגמה הבאה אפשר לראות איך לשלוח בקשה כזו.
מידע נוסף זמין במאמר בנושא פעולות ממושכות.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
- LOCATION: המיקום שבו פועל ה-LRO, לדוגמה:
us– ארצות הבריתeu- האיחוד האירופי
- OPERATION_ID: מזהה הפעולה. המזהה הוא הרכיב האחרון בשם של הפעולה. לדוגמה:
- שם הפעולה:
projects/PROJECT_ID/locations/LOCATION/operations/bc4e1d412863e626 - מזהה הפעולה:
bc4e1d412863e626
- שם הפעולה:
ה-method של ה-HTTP וכתובת ה-URL:
GET https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
כדי לשלוח את הבקשה אתם צריכים לבחור אחת מהאפשרויות הבאות:
curl
מריצים את הפקודה הבאה:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID"
PowerShell
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.documentai.v1.BatchProcessMetadata",
"state": "SUCCEEDED",
"stateMessage": "Processed 1 document(s) successfully",
"createTime": "TIMESTAMP",
"updateTime": "TIMESTAMP",
"individualProcessStatuses": [
{
"inputGcsSource": "INPUT_BUCKET_FOLDER/DOCUMENT1.ext",
"status": {},
"outputGcsDestination": "OUTPUT_BUCKET_FOLDER/OPERATION_ID/0",
"humanReviewStatus": {
"state": "ERROR",
"stateMessage": "Sharded document protos are not supported for human review."
}
}
]
},
"done": true,
"response": {
"@type": "type.googleapis.com/google.cloud.documentai.v1.BatchProcessResponse"
}
}
גוף התגובה מכיל מופע של Operation עם מידע על סטטוס הפעולה.
אם הפעולה הושלמה בהצלחה, השדה metadata יאוכלס במופע של BatchProcessMetadata שמכיל מידע על המסמכים שעברו עיבוד.
C#
למידע נוסף, קראו את מאמרי העזרה של Document AI C# API.
כדי לבצע אימות ב-Document AI, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Go
למידע נוסף, קראו את מאמרי העזרה של Document AI Go API.
כדי לבצע אימות ב-Document AI, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Java
למידע נוסף, קראו את מאמרי העזרה של Document AI Java API.
כדי לבצע אימות ב-Document AI, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
למידע נוסף, קראו את מאמרי העזרה של Document AI Node.js API.
כדי לבצע אימות ב-Document AI, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
למידע נוסף, קראו את מאמרי העזרה של Document AI Python API.
כדי לבצע אימות ב-Document AI, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Go
למידע נוסף, קראו את מאמרי העזרה של Document AI Go API.
כדי לבצע אימות ב-Document AI, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Ruby
למידע נוסף, קראו את מאמרי העזרה של Document AI Ruby API.
כדי לבצע אימות ב-Document AI, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
יצירת קבוצות של מסמכים באמצעות Python SDK
בעיבוד באצווה אפשר להעלות עד 1,000 קבצים לכל בקשה. אם יש לכם עוד מסמכים לעיבוד, תצטרכו לחלק אותם לכמה קבוצות לעיבוד.
Document AI Toolbox הוא SDK ל-Python שמספק פונקציות עזר ל-Document AI. אחת מהפונקציות היא ליצור קבוצות של מסמכים לעיבוד מתיקייה ב-Cloud Storage.
מידע נוסף על האופן שבו Document AI Toolbox מסייע בעיבוד שלאחר העיבוד מופיע במאמר בנושא טיפול בתגובת העיבוד.
דוגמאות קוד
בדוגמאות הקוד הבאות אפשר לראות איך להשתמש ב-Document AI Toolbox.