in chunking/chunkers/doc_analysis_chunker.py [0:0]
def _analyze_document_with_retry(self, retries=3):
"""
Analyzes the document using the Document Intelligence Client, with a retry mechanism for error handling.
Args:
retries (int): The number of times to retry the document analysis in case of failure. Defaults to 3 retries.
Returns:
tuple: A tuple containing the analysis result and any errors encountered.
Raises:
Exception: If the document analysis fails after the specified number of retries.
"""
for attempt in range(retries):
try:
document, analysis_errors = self.docint_client.analyze_document_from_bytes(file_bytes=self.document_bytes, filename=self.filename)
return document, analysis_errors
except Exception as e:
logging.error(f"[doc_analysis_chunker][{self.filename}] docint analyze document failed on attempt {attempt + 1}/{retries}: {str(e)}")
if attempt == retries - 1:
raise
return None, None, None