From 21afbb83022d366de55499364ae320cf260ec59a Mon Sep 17 00:00:00 2001 From: Amrit Krishnan Date: Thu, 12 Feb 2026 09:44:16 -0500 Subject: [PATCH 1/2] Fix circular imports --- .../aieng/agent_evals/async_client_manager.py | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/aieng-eval-agents/aieng/agent_evals/async_client_manager.py b/aieng-eval-agents/aieng/agent_evals/async_client_manager.py index a1f36f4..6327fca 100644 --- a/aieng-eval-agents/aieng/agent_evals/async_client_manager.py +++ b/aieng-eval-agents/aieng/agent_evals/async_client_manager.py @@ -5,11 +5,14 @@ """ import logging +from typing import TYPE_CHECKING from aieng.agent_evals.configs import Configs -from aieng.agent_evals.tools import ReadOnlySqlDatabase from langfuse import Langfuse -from openai import AsyncOpenAI +from langfuse.openai import AsyncOpenAI + +if TYPE_CHECKING: + from aieng.agent_evals.tools import ReadOnlySqlDatabase logging.basicConfig(level=logging.INFO, format="%(asctime)s %(levelname)s %(name)s: %(message)s") @@ -94,11 +97,15 @@ def openai_client(self) -> AsyncOpenAI: if self._openai_client is None: api_key = self.configs.openai_api_key.get_secret_value() - self._openai_client = AsyncOpenAI(api_key=api_key, base_url=self.configs.openai_base_url) + self._openai_client = AsyncOpenAI( + api_key=api_key, + base_url=self.configs.openai_base_url, + max_retries=0, # Using custom retry logic (tenacity) elsewhere + ) self._initialized = True return self._openai_client - def report_generation_db(self, agent_name: str = "ReportGenerationAgent") -> ReadOnlySqlDatabase: + def report_generation_db(self, agent_name: str = "ReportGenerationAgent") -> "ReadOnlySqlDatabase": """Get or create Report Generation database connection. Returns @@ -107,6 +114,8 @@ def report_generation_db(self, agent_name: str = "ReportGenerationAgent") -> Rea The Report Generation database connection instance. """ if self._report_generation_db is None: + from aieng.agent_evals.tools import ReadOnlySqlDatabase + if self.configs.report_generation_db is None: raise ValueError("Report Generation database configuration is missing.") @@ -118,7 +127,7 @@ def report_generation_db(self, agent_name: str = "ReportGenerationAgent") -> Rea return self._report_generation_db - def aml_db(self, agent_name: str = "FraudInvestigationAnalyst") -> ReadOnlySqlDatabase: + def aml_db(self, agent_name: str = "FraudInvestigationAnalyst") -> "ReadOnlySqlDatabase": """Get or create AML database connection. Returns @@ -127,6 +136,8 @@ def aml_db(self, agent_name: str = "FraudInvestigationAnalyst") -> ReadOnlySqlDa The Report Generation database connection instance. """ if self._aml_db is None: + from aieng.agent_evals.tools import ReadOnlySqlDatabase + if self.configs.aml_db is None: raise ValueError("AML database configuration is missing.") From 15c852b8ac42f5570d410cca211e22557989b17a Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 12 Feb 2026 14:46:27 +0000 Subject: [PATCH 2/2] [pre-commit.ci] Add auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- aieng-eval-agents/aieng/agent_evals/async_client_manager.py | 1 + 1 file changed, 1 insertion(+) diff --git a/aieng-eval-agents/aieng/agent_evals/async_client_manager.py b/aieng-eval-agents/aieng/agent_evals/async_client_manager.py index 6327fca..6491127 100644 --- a/aieng-eval-agents/aieng/agent_evals/async_client_manager.py +++ b/aieng-eval-agents/aieng/agent_evals/async_client_manager.py @@ -11,6 +11,7 @@ from langfuse import Langfuse from langfuse.openai import AsyncOpenAI + if TYPE_CHECKING: from aieng.agent_evals.tools import ReadOnlySqlDatabase