Dokumen ini menjelaskan fungsi pipeline penyerapan Cloud Storage dan cara menjalankan pipeline.
Apa fungsi pipeline penyerapan Cloud Storage?
Pengguna Anda dapat mentransfer dokumen dari Cloud Storage ke Document AI Warehouse. Di sana, pengguna dapat memilih agar data tersebut diproses untuk tugas seperti penelusuran, alur kerja pengelolaan dokumen, atau sekadar menguji output Document AI.
Mengapa menggunakan pipeline ini?
Jika banyak dokumen harus diproses (dengan atau tanpa pemrosesan), pipeline ini memberikan alur kerja yang andal. Hal ini juga membantu pengguna mempercepat waktu untuk mengaktifkan pelanggan Document AI Warehouse untuk bukti konsep atau beban kerja produksi.
Fitur pipeline
Secara umum, pipeline penyerapan Cloud Storage mendukung tindakan berikut:
Menyerap dokumen mentah ke Document AI Warehouse.
{ name: "projects/PROJECT_NUMBER/locations/LOCATION_ID", gcs_ingest_pipeline: { input_path: "gs://BUCKET_NAME/FOLDER_NAME", schema_name: "projects/PROJECT_NUMBER/locations/LOCATION_ID/documentSchemas/DOCUMENT_SCHEMA_ID" } }Menyerap dokumen yang diproses Document AI ke Document AI Warehouse.
{ name: "projects/PROJECT_NUMBER/locations/LOCATION_ID", gcs_ingest_pipeline: { input_path: "gs://BUCKET_NAME/FOLDER_NAME", schema_name: "projects/PROJECT_NUMBER/locations/LOCATION_ID/documentSchemas/DOCUMENT_SCHEMA_ID", processor_type: "PROCESS_TYPE" } }processor_typediperlukan untuk menunjukkan bahwa file input telah diproses oleh Document AI.processor_type(OCR_PROCESSOR,INVOICE_PROCESSOR,FORM_PARSER_PROCESSOR) dapat ditemukan di kolom Type in API di sini.Menyerap dokumen yang diproses Document AI dan dokumen mentah yang sesuai dalam permintaan yang sama.
{ name: "projects/PROJECT_NUMBER/locations/LOCATION_ID", gcs_ingest_pipeline: { input_path: "gs://BUCKET_NAME/FOLDER_NAME", schema_name: "projects/PROJECT_NUMBER/locations/LOCATION_ID/documentSchemas/DOCUMENT_SCHEMA_ID", processor_type: "PROCESS_TYPE" } }Lokasi
input_pathharus berisi dokumen yang diproses Document AI. Pipeline menemukan dokumen mentah yang sesuai untuk setiap dokumen yang diproses Doc AI di jalur URI tersebut.Menyerap satu jenis dokumen mentah dan memicu pemrosesan Document AI dalam pipeline.
{ name: "projects/PROJECT_NUMBER/locations/LOCATION_ID", gcs_ingest_with_doc_ai_processors_pipeline: { input_path: "gs://BUCKET_NAME/FOLDER_NAME", extract_processor_infos: { processor_name: "projects/PROJECT_NUMBER/locations/LOCATION_ID/processors/PROCESSOR_ID", schema_name: "projects/PROJECT_NUMBER/locations/LOCATION_ID/documentSchemas/DOCUMENT_SCHEMA_ID" }, processor_results_folder_path: "gs://OUTPUT_BUCKET_NAME/OUTPUT_BUCKET_FOLDER_NAME" } }Kolom
extract_processor_infoshanya boleh berisi satu pemroses ekstraksi. Semua dokumen di kolominput_pathdianggap sebagai satu jenis dokumen dan diproses oleh pemroses ekstraksi yang sama.Menyerap beberapa jenis dokumen mentah dan memicu pemrosesan Document AI dalam pipeline.
{ name: "projects/PROJECT_NUMBER/locations/LOCATION_ID", gcs_ingest_with_doc_ai_processors_pipeline: { input_path: "gs://BUCKET_NAME/FOLDER_NAME", split_classify_processor_info: { processor_name: "projects/PROJECT_NUMBER/locations/LOCATION_ID/processors/PROCESSOR_ID" }, extract_processor_infos: [ { processor_name: "projects/PROJECT_NUMBER/locations/LOCATION_ID/processors/PROCESSOR_ID", document_type: "DOCUMENT_TYPE", schema_name: "projects/PROJECT_NUMBER/locations/LOCATION_ID/documentSchemas/DOCUMENT_SCHEMA_ID" } ], processor_results_folder_path: "gs://OUTPUT_BUCKET_NAME/OUTPUT_BUCKET_FOLDER_NAME" } }Kolom
split_classify_processor_infomengklasifikasikan dokumen menurut jenisnya. Kolomextract_processor_infos(diteruskan sebagai array) harus berisi pemroses ekstraksi yang berbeda yang sesuai dengan setiap jenis dokumen dari hasil klasifikasi.
Konfigurasi penyerapan
Pipeline penyerapan Cloud Storage mendukung penyesuaian opsional selama penyerapan dokumen, seperti yang dijelaskan oleh opsi berikut:
Gunakan tanda
skip_ingested_documentsuntuk melewati dokumen yang telah diproses saat pipeline dipicu di folder Cloud Storage yang sama lebih dari sekali. Jika dokumen di Cloud Storage berisi metadatastatus=ingested, yang merupakan fitur pelacakan status pipeline, dokumen tidak akan di-ingest ulang jika tanda ini diaktifkan.Gunakan tanda
document_acl_policyuntuk memberikan kebijakan ACL tingkat dokumen tambahan selama pembuatan dokumen. Flag ini ditujukan untuk project yang mengaktifkan ACL tingkat dokumen di Document AI Warehouse.Gunakan tanda
enable_document_text_extractionagar Document AI Warehouse mengekstrak teks pada dokumen mentah jika dokumen tersebut berisi konten. Flag ini berbeda dengan pemrosesan Document AI dan ekstraksi dokumen hanya mendukung jenis file dokumen berikut di Document AI Warehouse.RAW_DOCUMENT_FILE_TYPE_TEXTRAW_DOCUMENT_FILE_TYPE_DOCX
Gunakan kolom
folderuntuk menentukan folder target dokumen yang di-ingest. Semua dokumen yang di-ingest akan ditautkan di folder induk yang ditentukan.Gunakan kolom
cloud_functionuntuk menyesuaikan lebih lanjut kolom dalam file proto dokumen sebelum masuk ke Document AI Warehouse. Nilaicloud_functionharus berupa URL yang valid dan dapat diakses oleh akun layanan Document AI Warehouse. Setiap panggilan harus berakhir dalam waktu 5 menit. Permintaan dan respons dalam format JSON. Anda mungkin menemukan kunci ini di payload permintaan:display_namepropertiesplain_textataucloud_ai_document.textreference_iddocument_schema_nameraw_document_pathraw_document_file_type
Kunci dari payload respons dimasukkan ke Document AI Warehouse sebagai bagian dari proto. Nilai asli akan ditimpa jika kunci diubah atau ditambahkan ke respons. Kunci tambahan dalam respons akan dihapus. Jika nilai yang sesuai tidak valid, penyerapan dokumen akan gagal.
display_namepropertiesplain_textataucloud_ai_document.textreference_iddocument_acl_policyfolder
Penyesuaian pipeline penyerapan menggunakan
pipeline_config.{ name: "projects/PROJECT_NUMBER/locations/LOCATION_ID", gcs_ingest_pipeline: { input_path: "gs://BUCKET_NAME/FOLDER_NAME", schema_name: "projects/PROJECT_NUMBER/locations/LOCATION_ID/documentSchemas/DOCUMENT_SCHEMA_ID", skip_ingested_documents: "true", pipeline_config: { enable_document_text_extraction: "true" folder: "projects/PROJECT_NUMBER/locations/LOCATION_ID/documents/FOLDER_DOCUMENT_ID", cloud_function: "https://REGION-PROJECT_ID.cloudfunctions.net/CLOUD_FUNCTION_NAME" } } }
Pelacakan status
Pelacakan status menampilkan progres hasil penyerapan di seluruh pipeline dan setiap dokumen.
Anda dapat memeriksa apakah pipeline telah selesai dengan memeriksa apakah LRO telah selesai.
Anda dapat memeriksa status setiap dokumen dalam pipeline dengan melihat metadata Cloud Storage. Cloud Storage membuat pasangan nilai kunci berikut pada setiap dokumen.
- Kunci:
status; Nilai:status=queuedataustatus=processedataustatus=ingestedataustatus=failed. - Kunci:
error; Nilai:the error message.
- Kunci:
Jenis dokumen yang didukung
Jenis dokumen yang didukung dalam pipeline sama dengan jenis dokumen yang didukung Document AI Warehouse: Teks, PDF, Gambar (PDF yang dipindai, file TIFF, file JPEG), file Microsoft Office (DOCX, PPTX, XSLX).
Properti dokumen dari metadata Cloud Storage
Anda dapat menggunakan metadata Cloud Storage dalam pipeline untuk membuat properti yang disesuaikan di Document AI Warehouse. Nilai metadata dokumen Cloud Storage akan otomatis disalin ke properti dokumen Document AI Warehouse yang sesuai jika kuncinya cocok dengan nama properti dalam skema.
Menjalankan pipeline
Berbagai parameter diperlukan untuk memicu berbagai fungsi di pipeline penyerapan Cloud Storage. Lihat Metode: projects.locations.runPipeline untuk mengetahui informasi selengkapnya.
Bagian berikut memberikan dua contoh untuk memicu pipeline penyerapan Cloud Storage.
Jalankan pipeline penyerapan Cloud Storage tanpa pemroses Document AI.
REST
curl --location --request POST 'https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID:runPipeline' \ --header 'Content-Type: application/json' \ --header "Authorization: Bearer ${AUTH_TOKEN}" \ --data '{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID", "gcs_ingest_pipeline": { "input_path": "gs://BUCKET_NAME/FOLDER_NAME/", "schema_name": "projects/PROJECT_NUMBER/locations/ LOCATION_ID/documentSchemas/DOCUMENT_SCHEMA_ID", "skip_ingested_documents": "true" }, "request_metadata": { "user_info": { "id": "user:USER EMAIL ADDRESS" } } }'Jalankan Pipeline Penyerapan Cloud Storage dengan pemroses Document AI.
REST
curl --location --request POST 'https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID:runPipeline' \ --header 'Content-Type: application/json' \ --header "Authorization: Bearer ${AUTH_TOKEN}" \ --data '{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID", "gcs_ingest_with_doc_ai_processors_pipeline": { "input_path": "gs://BUCKET_NAME/FOLDER_NAME/", "split_classify_processor_info": { "processor_name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/processors/PROCESSOR_ID" }, "extract_processor_infos": [ { "processor_name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/processors/PROCESSOR_ID", "document_type": "DOCUMENT_TYPE", "schema_name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/documentSchemas/DOCUMENT_SCHEMA_ID" } ], "processor_results_folder_path": "gs://OUTPUT_BUCKET_NAME/OUTPUT_BUCKET_FOLDER_NAME/" "skip_ingested_documents": "true" }, "request_metadata": { "user_info": { "id": "user:USER EMAIL ADDRESS" } } }'
Perintah ini menampilkan nama resource untuk operasi yang berjalan lama. Dengan nama resource ini, Anda dapat melacak progres pipeline dengan mengikuti langkah berikutnya.
Mendapatkan hasil Operasi yang berjalan lama
REST
curl --location --request GET 'https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION' \
--header "Authorization: Bearer ${AUTH_TOKEN}"Langkah berikutnya
Untuk memeriksa dokumen yang telah di-ingest, buka aplikasi web Document AI Warehouse.