반응형
Form Recognizer를 사용해 custom model 활용해보기
Form Recognizer를 사용해 Azure Blob Storage의 pdf 파일 분석해보기
이제 python 으로,
azure blog storage의 pdf파일을 읽고,
생성한 custom model 로 분석을 하는 코드를 작성해본다.
from azure.core.credentials import AzureKeyCredential
from azure.ai.formrecognizer import DocumentModelAdministrationClient, DocumentAnalysisClient, ModelBuildMode
from azure.storage.blob import ContainerClient, ContainerClient
# Form recognizer Connection Information
endpoint = "FORM_RECOGNIZER_ENDPOINT"
key = "FORM_RECOGNIZER_KEY"
model_id = "SAMPLE_TEST_MODEL"
print("model id = " + model_id)
# Azure Blob Storage Information
STORAGE_CONSTR = "AZURE_BLOB_STORAGE_CONNECTION_STRING"
SOURCE_NAME = "samplepdf"
FILE_NAME = "samples/조삼성.pdf"
def get_blob_url():
container = ContainerClient.from_connection_string(
conn_str = STORAGE_CONSTR,
container_name = SOURCE_NAME
)
blob_list = container.list_blobs()
blob_url = container.url
formUrl = ""
for blob in blob_list:
if blob.name == FILE_NAME:
formUrl = f"{blob_url}/{blob.name}"
return formUrl
def main():
# blob storate url 가져오기
blob_storage_url = get_blob_url()
print("file path = " + FILE_NAME)
# DocumentAnalysisClient 인스턴스 생성
document_analysis_client = DocumentAnalysisClient(endpoint=endpoint, credential=AzureKeyCredential(key))
poller = document_analysis_client.begin_analyze_document_from_url(model_id, blob_storage_url)
# 분석 작업이 완료될 때까지 대기
poller.wait()
# 분석 작업의 결과 가져오기
analysis_result = poller.result()
for document in analysis_result.documents:
for field, value in document.fields.items():
print("{} : {} ({})\\r\\n".format(field, value.value, value.confidence))
if __name__ == "__main__":
main()
반응형
'Azure' 카테고리의 다른 글
로컬 VSCode로 Azure Blob Storage Trigger Function개발하기 (0) | 2023.07.06 |
---|---|
Form Recognizer의 Custom Neural Model을 이용해 문서의 Key-Value 추출하기 (0) | 2023.07.04 |
Form Recognizer의 Custom model을 python을 이용해 가져오기 (0) | 2023.06.29 |
Form Recognizer로 Azure Blob Storage의 파일을 읽어 텍스트 추출해보기 (0) | 2023.06.28 |
Azure Cognitive Service의 Form Recognizer 사용해 보기 (0) | 2023.06.23 |