시작하기 전에
- 실습에서는 정해진 기간 동안 Google Cloud 프로젝트와 리소스를 만듭니다.
- 실습에는 시간 제한이 있으며 일시중지 기능이 없습니다. 실습을 종료하면 처음부터 다시 시작해야 합니다.
- 화면 왼쪽 상단에서 실습 시작을 클릭하여 시작합니다.
Enable APIs
/ 20
Set up Storage buckets, BigQuery dataset, and Pub/Sub topic
/ 20
Create process-invoices Cloud Function
/ 20
Create geocode-addresses Cloud Function
/ 20
Check pipeline has processed data
/ 20
Document AI API는 문서, 이메일과 같은 비정형 데이터를 가져와서 데이터를 더 쉽게 이해, 분석, 사용할 수 있도록 해주는 문서 이해 솔루션입니다.
이 실습에서는 Cloud Storage에 업로드된 문서를 자동으로 분석하는 문서 처리 파이프라인을 빌드합니다. 이 파이프라인은 Document AI 양식 프로세서가 포함된 Cloud Run 함수를 사용하여 데이터를 추출하고 BigQuery에 저장합니다. 양식에 주소 필드가 포함되어 있으면 주소 데이터가 Pub/Sub 주제로 전송됩니다. 그러면 두 번째 Cloud Run 함수가 트리거되어 Geocoding API를 사용하여 좌표를 추가하고 결과를 BigQuery에 씁니다.
이 간단한 파이프라인은 일반 양식 프로세서를 사용하여 라벨이 지정된 주소 필드와 같은 기본 양식 데이터를 감지합니다. 더 복잡한 문서의 경우 Document AI는 명시적인 라벨이 없어도 자세한 정보를 추출하는 전문 파서(이 실습의 범위를 벗어남)를 제공합니다. 예를 들어 인보이스 파서는 일반적인 인보이스 레이아웃을 이해하여 라벨이 지정되지 않은 인보이스에서 주소와 공급업체 세부정보를 식별할 수 있습니다.
만들게 될 전체 아키텍처는 다음과 같습니다.
이 예시 아키텍처는 Cloud Run 함수를 사용하여 간단한 파이프라인을 구현하지만, Document AI API 호출이 Cloud Run 함수에서 지원하는 제한 시간을 초과할 수 있으므로 프로덕션 환경에는 Cloud Run 함수를 사용하지 않는 것이 좋습니다. 더 강력한 서버리스 솔루션을 위해서는 Cloud Tasks를 사용하는 것이 좋습니다.
이 실습에서는 다음을 수행하는 방법에 대해 알아봅니다.
Cloud Run 함수를 구성하여 다음을 수행합니다.
다음 안내를 확인하세요. 실습에는 시간 제한이 있으며 일시중지할 수 없습니다. 실습 시작을 클릭하면 타이머가 시작됩니다. 이 타이머는 Google Cloud 리소스를 사용할 수 있는 시간이 얼마나 남았는지를 표시합니다.
실무형 실습을 통해 시뮬레이션이나 데모 환경이 아닌 실제 클라우드 환경에서 실습 활동을 진행할 수 있습니다. 실습 시간 동안 Google Cloud에 로그인하고 액세스하는 데 사용할 수 있는 새로운 임시 사용자 인증 정보가 제공됩니다.
이 실습을 완료하려면 다음을 준비해야 합니다.
Cloud Shell은 다양한 개발 도구가 탑재된 가상 머신으로, 5GB의 영구 홈 디렉터리를 제공하며 Google Cloud에서 실행됩니다. Cloud Shell을 사용하면 명령줄을 통해 Google Cloud 리소스에 액세스할 수 있습니다.
Google Cloud 콘솔 상단에서 Cloud Shell 활성화 를 클릭합니다.
다음 창을 클릭합니다.
연결되면 사용자 인증이 이미 처리된 것이며 프로젝트가 학습자의 PROJECT_ID,
gcloud는 Google Cloud의 명령줄 도구입니다. Cloud Shell에 사전 설치되어 있으며 명령줄 자동 완성을 지원합니다.
출력:
출력:
gcloud 전체 문서는 Google Cloud에서 gcloud CLI 개요 가이드를 참고하세요.
이 실습을 진행하려면 Document AI, Cloud Run Functions, Cloud Build, Geocoding API를 사용 설정한 후 Geocoding Cloud Run 함수에 필요한 API 키를 만들어야 합니다.
Google Cloud 콘솔 상단에서 Cloud Shell 활성화 를 클릭합니다.
Cloud Shell에서 다음 명령어를 입력하여 실습에 필요한 API를 사용 설정합니다.
콘솔의 탐색 메뉴()에서 API 및 서비스 > 사용자 인증 정보를 클릭합니다.
사용자 인증 정보 만들기를 선택한 후 드롭다운 메뉴에서 API 키를 선택합니다.
API 키 생성 대화상자에 새로 생성된 키가 표시됩니다. API 키는 대문자, 소문자, 숫자, 대시를 포함하는 긴 문자열입니다. 예를 들면 a4db08b757294ea94c08f2df493465a1입니다.
작업 아래에 있는 점 3개를 클릭한 후 대화상자에서 API 키 수정을 클릭합니다.
API 제한사항 섹션에서 키 제한을 선택하여 새 API 키에 대한 API 제한사항을 추가합니다.
API 선택 드롭다운을 클릭하고 필터 상자에 Geocoding API를 입력합니다.
Geocoding API를 선택하고 확인을 클릭합니다.
저장 버튼을 클릭합니다.
이 작업에서는 소스 파일을 Cloud Shell에 복사합니다. 이러한 파일에는 Cloud Run 함수의 소스 코드와 실습에서 만들 BigQuery 테이블의 스키마가 포함되어 있습니다.
Document AI 양식 파서 전문 파서를 사용하여 Document AI Platform에서 사용할 일반 양식 프로세서의 인스턴스를 만듭니다. 일반적인 양식 프로세서는 어떤 유형의 문서도 처리 가능하며, 문서 내에서 식별할 수 있는 모든 텍스트 콘텐츠를 추출합니다. 인쇄된 텍스트뿐만 아니라 필기 텍스트도 텍스트 방향과 관계없이 처리할 수 있으며, 여러 언어를 지원합니다. 또한 양식 데이터 요소가 서로 어떻게 연관되어 있는지 이해하여 텍스트 라벨이 있는 양식 필드의 키-값 쌍을 추출할 수도 있습니다.
Google Cloud 콘솔의 검색창에 Document AI를 입력하고 제품 페이지 결과를 클릭합니다.
프로세서 탐색, 양식 파서를 차례로 클릭하여 새 프로세서를 만듭니다.
프로세서 이름을 form-processor로 지정하고, 리전은 목록에서 US(미국)를 선택합니다.
만들기를 클릭하여 프로세서를 생성합니다.
이 실습의 뒷부분에서 이 프로세서의 프로세서 ID와 위치를 사용하여 Cloud Run 함수를 구성합니다. 그러면 Cloud Run 함수가 이 특정 프로세서를 사용하여 샘플 인보이스를 처리합니다.
이 섹션에서는 문서 처리 파이프라인에 필요한 Google Cloud 리소스를 만들어 환경을 준비합니다.
문서 처리 파이프라인을 위한 입력, 출력, 보관 Cloud Storage 버킷을 만듭니다.
데이터 처리 파이프라인에 필요한 BigQuery 데이터 세트와 3개의 출력 테이블을 만듭니다.
Cloud 콘솔에서 BigQuery로 이동하고 BigQuery SQL 작업 공간을 사용하여 invoice_parser_results 데이터 세트의 테이블에 대한 스키마를 검사할 수 있습니다.
처리 파이프라인에서 Geocoding API 데이터 보강 작업을 트리거하는 데 사용되는 Pub/Sub 주제를 초기화합니다.
데이터 처리 파이프라인에서 Cloud Storage에 업로드된 인보이스를 처리하는 데 사용하는 두 개의 Cloud Run 함수를 만듭니다. 이러한 함수는 Document AI API를 사용하여 원시 문서에서 양식 데이터를 추출한 후 GeoCode API를 사용하여 문서에서 추출한 주소 정보에 대한 지리 위치정보 데이터를 검색합니다.
코드 편집기 또는 원하는 다른 편집기를 사용하여 두 Cloud Run 함수의 소스 코드를 검사할 수 있습니다. Cloud Run 함수는 Cloud Shell의 다음 폴더에 저장됩니다.
scripts/cloud-functions/process-invoices
scripts/cloud-functions/geocode-addresses
주 Cloud Run 함수인 process-invoices는 파일이 앞서 만든 입력 파일 스토리지 버킷에 업로드될 때 트리거됩니다.
함수 폴더 scripts/cloud-functions/process-invoices에는 process-invoices Cloud Run 함수를 만드는 데 사용되는 두 개의 파일이 포함되어 있습니다.
requirements.txt 파일은 함수에 필요한 Python 라이브러리를 지정합니다. 여기에는 Document AI 클라이언트 라이브러리뿐만 아니라 Python 코드가 Cloud Storage에서 파일을 읽고, BigQuery에 데이터를 저장하고, 솔루션 파이프라인의 나머지 함수를 트리거하는 메시지를 Pub/Sub에 작성하는 데 필요한 다른 Google Cloud 라이브러리도 포함됩니다.
main.py Python 파일에는 Document-AI, BigQuery, Pub/Sub API 클라이언트를 생성하는 Cloud Run 함수 코드와 문서를 처리하기 위한 다음 내부 함수가 포함되어 있습니다.
write_to_bq - 딕셔너리 객체를 BigQuery 테이블에 작성합니다. 이 함수를 호출하기 전에 스키마가 유효한지 확인해야 합니다.get_text - 양식 이름과 값 텍스트 앵커를 문서의 스캔된 텍스트에 매핑합니다. 이를 통해 함수는 공급업체 이름 및 주소와 같은 특정 양식 요소를 식별하고 관련 값을 추출할 수 있습니다. 특수화된 Document AI 프로세서는 항목 속성에서 직접 컨텍스트 정보를 제공합니다.process_invoice - 비동기 Document-AI 클라이언트 API를 사용하여 Cloud Storage에서 파일을 읽고 다음과 같이 처리합니다.
process_invoices Cloud Run 함수는 다음 양식 필드 이름으로 감지된 양식 데이터만 처리합니다.
input_file_nameaddresssupplierinvoice_numberpurchase_orderdatedue_datesubtotaltaxtotal다른 Cloud Run 함수인 geocode-addresses는 Pub/Sub 주제에 새 메시지가 도착하면 트리거되며, Pub/Sub 메시지에서 파라미터 데이터를 추출합니다.
Document AI 양식 프로세서를 사용하여 Cloud Storage 버킷에 업로드된 양식 문서를 파싱하는 Cloud Run 함수를 만듭니다.
Pub/Sub 메시지에서 주소 데이터를 수락하고 Geocoding API를 사용하여 주소를 정확하게 찾아내는 Cloud Run 함수를 만듭니다.
이 작업에서는 Cloud 콘솔을 통해 각 함수의 환경 변수를 편집하여 실습별 파라미터를 반영함으로써 Cloud Run 함수의 구성을 마무리합니다.
process-invoices 함수의 Cloud Run 함수 환경 변수를 설정합니다.
Cloud Run Functions를 입력하고 제품 페이지 결과를 클릭합니다.Cloud Run 콘솔로 리디렉션되면 Cloud Run Functions 1세대로 이동을 클릭하여 배포된 함수 process-invoices와 geocode-addresses를 확인합니다.
us 또는 eu입니다. 이 파라미터는 반드시 소문자여야 합니다.PROCESSOR_ID, PARSER_LOCATION, GCP_PROJECT 값을 다시 업데이트합니다.GeoCode 데이터 보강 함수에 대한 Cloud Run 함수 환경 변수를 설정합니다.
테스트 데이터를 Cloud Storage에 업로드한 후 문서가 처리되고 추출된 데이터가 향상되는 동안 파이프라인의 진행 상황을 모니터링합니다.
process-invoices Cloud Run 함수를 트리거할 Cloud Storage 버킷에 샘플 양식을 업로드합니다.Cloud Run Functions를 입력하고 제품 페이지 결과를 클릭합니다.함수 생성과 관련된 이벤트와 환경 변수를 구성하기 위해 이루어진 업데이트에 이어 처리 중인 파일에 대한 세부정보와 Document AI가 감지한 데이터를 보여주는 이벤트가 표시됩니다.
함수 실행이 LoadJob으로 완료되었음을 나타내는 최종 이벤트가 표시될 때까지 이벤트를 지켜봅니다. 오류가 보고되면 이전 섹션의 .env.yaml 파일에 설정된 파라미터가 올바른지 다시 한번 확인합니다. 특히 프로세서 ID, 위치, 프로젝트 ID가 유효한지 확인합니다. 이벤트 목록은 자동으로 새로고침되지 않습니다.
처리가 끝나면 BigQuery 테이블에 Document AI에서 추출한 항목과 Geocoding API에서 제공한 보강된 데이터가 채워집니다. 단, Document AI 프로세서가 업로드된 문서에서 주소 데이터를 감지한 경우에만 해당됩니다.
Cloud 콘솔의 BigQuery에 오신 것을 환영합니다라는 메시지 상자가 열립니다. 이 메시지 상자에서는 빠른 시작 가이드 및 출시 노트로 연결되는 링크가 제공됩니다.
BigQuery 콘솔이 열립니다.
탐색기에서 프로젝트 ID를 펼칩니다.
invoice_parser_results를 펼칩니다.
doc_ai_extracted_entities를 선택하고 미리보기를 클릭합니다.
인보이스 프로세서가 인보이스에서 추출한 양식 정보를 확인할 수 있으며, 주소 정보와 공급업체 이름이 감지된 것을 볼 수 있습니다.
Document AI가 추출할 수 있는 주소 데이터가 포함된 처리된 각 인보이스에 대해 서식이 지정된 주소, 위도, 경도를 확인할 수 있습니다.
Document AI API와 다른 Google Cloud 서비스를 사용하여 엔드 투 엔드 인보이스 처리 파이프라인을 성공적으로 빌드했습니다. 이 실습에서는 Document AI API를 사용 설정하고, Document AI, BigQuery, Cloud Storage, Pub/Sub API를 사용하는 Cloud Run 함수를 배포하고, 문서가 Cloud Storage에 업로드될 때 트리거되도록 Cloud Run 함수를 구성했습니다. 또한 Python용 Document AI 클라이언트 라이브러리를 사용하고 Pub/Sub 메시지가 생성될 때 트리거되도록 Cloud Run 함수를 구성했습니다.
Google Cloud 기술을 최대한 활용하는 데 도움이 됩니다. Google 강의에는 빠른 습득과 지속적인 학습을 지원하는 기술적인 지식과 권장사항이 포함되어 있습니다. 기초에서 고급까지 수준별 학습을 제공하며 바쁜 일정에 알맞은 주문형, 실시간, 가상 옵션이 포함되어 있습니다. 인증은 Google Cloud 기술에 대한 역량과 전문성을 검증하고 입증하는 데 도움이 됩니다.
설명서 최종 업데이트: 2025년 8월 26일
실습 최종 테스트: 2025년 7월 29일
Copyright 2025 Google LLC. All rights reserved. Google 및 Google 로고는 Google LLC의 상표입니다. 기타 모든 회사명 및 제품명은 해당 업체의 상표일 수 있습니다.
현재 이 콘텐츠를 이용할 수 없습니다
이용할 수 있게 되면 이메일로 알려드리겠습니다.
감사합니다
이용할 수 있게 되면 이메일로 알려드리겠습니다.
한 번에 실습 1개만 가능
모든 기존 실습을 종료하고 이 실습을 시작할지 확인하세요.