[docs]classAzureAIDocumentIntelligenceParser(BaseBlobParser):"""Loads a PDF with Azure Document Intelligence (formerly Forms Recognizer)."""
[docs]def__init__(self,api_endpoint:str,api_key:Optional[str]=None,api_version:Optional[str]=None,api_model:str="prebuilt-layout",mode:str="markdown",analysis_features:Optional[List[str]]=None,azure_credential:Optional["TokenCredential"]=None,):fromazure.ai.documentintelligenceimportDocumentIntelligenceClientfromazure.ai.documentintelligence.modelsimportDocumentAnalysisFeaturefromazure.core.credentialsimportAzureKeyCredentialkwargs={}ifapi_keyisNoneandazure_credentialisNone:raiseValueError("Either api_key or azure_credential must be provided.")ifapi_keyandazure_credential:raiseValueError("Only one of api_key or azure_credential should be provided.")ifapi_versionisnotNone:kwargs["api_version"]=api_versionself.client=DocumentIntelligenceClient(endpoint=api_endpoint,credential=azure_credentialorAzureKeyCredential(api_key),headers={"x-ms-useragent":"langchain-parser/1.0.0"},**kwargs,)self.api_model=api_modelself.mode=modeself.features:Optional[List[DocumentAnalysisFeature]]=Noneifanalysis_featuresisnotNone:self.features=[DocumentAnalysisFeature(feature)forfeatureinanalysis_features]assertself.modein["single","page","markdown"]