diff --git a/src/mistralai/client/agents.py b/src/mistralai/client/agents.py index 12e7f483..d3b1bc5e 100644 --- a/src/mistralai/client/agents.py +++ b/src/mistralai/client/agents.py @@ -462,11 +462,13 @@ def stream( """ base_url = None url_variables = None + if timeout_ms is None: + timeout_ms = self.sdk_configuration.stream_timeout_ms if timeout_ms is None: timeout_ms = self.sdk_configuration.timeout_ms if timeout_ms is None: - timeout_ms = 300000 + timeout_ms = 20000 if server_url is not None: base_url = server_url @@ -656,11 +658,13 @@ async def stream_async( """ base_url = None url_variables = None + if timeout_ms is None: + timeout_ms = self.sdk_configuration.stream_timeout_ms if timeout_ms is None: timeout_ms = self.sdk_configuration.timeout_ms if timeout_ms is None: - timeout_ms = 300000 + timeout_ms = 20000 if server_url is not None: base_url = server_url diff --git a/src/mistralai/client/chat.py b/src/mistralai/client/chat.py index c7ff5704..d8f62880 100644 --- a/src/mistralai/client/chat.py +++ b/src/mistralai/client/chat.py @@ -571,11 +571,13 @@ def stream( """ base_url = None url_variables = None + if timeout_ms is None: + timeout_ms = self.sdk_configuration.stream_timeout_ms if timeout_ms is None: timeout_ms = self.sdk_configuration.timeout_ms if timeout_ms is None: - timeout_ms = 300000 + timeout_ms = 20000 if server_url is not None: base_url = server_url @@ -774,11 +776,13 @@ async def stream_async( """ base_url = None url_variables = None + if timeout_ms is None: + timeout_ms = self.sdk_configuration.stream_timeout_ms if timeout_ms is None: timeout_ms = self.sdk_configuration.timeout_ms if timeout_ms is None: - timeout_ms = 300000 + timeout_ms = 20000 if server_url is not None: base_url = server_url diff --git a/src/mistralai/client/fim.py b/src/mistralai/client/fim.py index b4504370..3e05def2 100644 --- a/src/mistralai/client/fim.py +++ b/src/mistralai/client/fim.py @@ -329,11 +329,13 @@ def stream( """ base_url = None url_variables = None + if timeout_ms is None: + timeout_ms = self.sdk_configuration.stream_timeout_ms if timeout_ms is None: timeout_ms = self.sdk_configuration.timeout_ms if timeout_ms is None: - timeout_ms = 300000 + timeout_ms = 20000 if server_url is not None: base_url = server_url @@ -471,11 +473,13 @@ async def stream_async( """ base_url = None url_variables = None + if timeout_ms is None: + timeout_ms = self.sdk_configuration.stream_timeout_ms if timeout_ms is None: timeout_ms = self.sdk_configuration.timeout_ms if timeout_ms is None: - timeout_ms = 300000 + timeout_ms = 20000 if server_url is not None: base_url = server_url diff --git a/src/mistralai/client/sdk.py b/src/mistralai/client/sdk.py index 9b7eb230..b2e2961a 100644 --- a/src/mistralai/client/sdk.py +++ b/src/mistralai/client/sdk.py @@ -81,6 +81,7 @@ def __init__( async_client: Optional[AsyncHttpClient] = None, retry_config: OptionalNullable[RetryConfig] = UNSET, timeout_ms: Optional[int] = None, + stream_timeout_ms: Optional[int] = None, debug_logger: Optional[Logger] = None, ) -> None: r"""Instantiates the SDK configuring it with the provided parameters. @@ -93,6 +94,7 @@ def __init__( :param async_client: The Async HTTP client to use for all asynchronous methods :param retry_config: The retry configuration to use for all supported methods :param timeout_ms: Optional request timeout applied to each operation in milliseconds + :param stream_timeout_ms: Optional idle-read timeout for SSE streaming operations in milliseconds (default 20 000 ms). Overrides timeout_ms for streaming calls only. """ client_supplied = True if client is None: @@ -140,6 +142,7 @@ def __init__( server=server, retry_config=retry_config, timeout_ms=timeout_ms, + stream_timeout_ms=stream_timeout_ms, debug_logger=debug_logger, ), parent_ref=self, diff --git a/src/mistralai/client/sdkconfiguration.py b/src/mistralai/client/sdkconfiguration.py index 999e2717..87c35cb8 100644 --- a/src/mistralai/client/sdkconfiguration.py +++ b/src/mistralai/client/sdkconfiguration.py @@ -47,6 +47,7 @@ class SDKConfiguration: user_agent: str = __user_agent__ retry_config: OptionalNullable[RetryConfig] = Field(default_factory=lambda: UNSET) timeout_ms: Optional[int] = None + stream_timeout_ms: Optional[int] = None def get_server_details(self) -> Tuple[str, Dict[str, str]]: if self.server_url is not None and self.server_url: