diff --git a/.env.example b/.env.example index 6366707..99764ae 100644 --- a/.env.example +++ b/.env.example @@ -29,6 +29,13 @@ OCI_CONFIG_PROFILE=DEFAULT # Authentication type: api_key or instance_principal OCI_AUTH_TYPE=api_key +# OCI Client Timeout Settings +# Connect timeout: Maximum time (in seconds) to establish connection to OCI API +OCI_CONNECT_TIMEOUT=10 +# Read timeout: Maximum time (in seconds) to wait for OCI API response +# Increase this value for long-running requests (e.g., complex conversations) +OCI_READ_TIMEOUT=360 + # Optional: Direct endpoint for dedicated models # GENAI_ENDPOINT=https://your-dedicated-endpoint diff --git a/src/core/config.py b/src/core/config.py index c9f9107..9106145 100644 --- a/src/core/config.py +++ b/src/core/config.py @@ -41,6 +41,8 @@ class Settings(BaseSettings): oci_config_file: str = "~/.oci/config" oci_config_profile: str = "DEFAULT" # 支持多个profile,用逗号分隔,例如:DEFAULT,CHICAGO,ASHBURN oci_auth_type: str = "api_key" # api_key or instance_principal + oci_connect_timeout: int = 10 # Connection timeout in seconds + oci_read_timeout: int = 360 # Read timeout in seconds (6 minutes) # GenAI Service Settings genai_endpoint: Optional[str] = None diff --git a/src/core/oci_client.py b/src/core/oci_client.py index e56152a..bc1d936 100644 --- a/src/core/oci_client.py +++ b/src/core/oci_client.py @@ -170,7 +170,7 @@ class OCIGenAIClient: config=config, service_endpoint=inference_endpoint, retry_strategy=oci.retry.NoneRetryStrategy(), - timeout=(10, 240) + timeout=(self.settings.oci_connect_timeout, self.settings.oci_read_timeout) ) return client