[docs]classAzureAIDocumentIntelligenceParser(BaseBlobParser):"""Loads a PDF with Azure Document Intelligence (formerly Forms Recognizer)."""
[docs]def__init__(self,api_endpoint:str,api_key:str,api_version:Optional[str]=None,api_model:str="prebuilt-layout",mode:str="markdown",analysis_features:Optional[List[str]]=None,):fromazure.ai.documentintelligenceimportDocumentIntelligenceClientfromazure.ai.documentintelligence.modelsimportDocumentAnalysisFeaturefromazure.core.credentialsimportAzureKeyCredentialkwargs={}ifapi_versionisnotNone:kwargs["api_version"]=api_versionifanalysis_featuresisnotNone:_SUPPORTED_FEATURES=[DocumentAnalysisFeature.OCR_HIGH_RESOLUTION,]analysis_features=[DocumentAnalysisFeature(feature)forfeatureinanalysis_features]ifany([featurenotin_SUPPORTED_FEATURESforfeatureinanalysis_features]):logger.warning(f"The current supported features are: "f"{[f.valueforfin_SUPPORTED_FEATURES]}. ""Using other features may result in unexpected behavior.")self.client=DocumentIntelligenceClient(endpoint=api_endpoint,credential=AzureKeyCredential(api_key),headers={"x-ms-useragent":"langchain-parser/1.0.0"},features=analysis_features,**kwargs,)self.api_model=api_modelself.mode=modeassertself.modein["single","page","markdown"]