From 6f42813b9ac3d98b829dc1fc8e5ed92552733610 Mon Sep 17 00:00:00 2001 From: "pixeebot[bot]" <104101892+pixeebot[bot]@users.noreply.github.com> Date: Tue, 5 Aug 2025 03:45:10 +0000 Subject: [PATCH] Add timeout to `requests` calls --- .../fm-asr-streaming-rag/frontend/frontend/chat_client.py | 6 +++--- experimental/fm-asr-streaming-rag/sdr-holoscan/riva_asr.py | 4 ++-- .../oran-chatbot-multimodal/vectorstore/embedder.py | 2 +- integrations/langchain/llms/nemo_infer.py | 6 +++--- integrations/langchain/llms/nv_api_catalog/chat_models.py | 2 +- integrations/langchain/llms/nv_api_catalog/image_gen.py | 2 +- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/experimental/fm-asr-streaming-rag/frontend/frontend/chat_client.py b/experimental/fm-asr-streaming-rag/frontend/frontend/chat_client.py index 78eac1557..cc5528b94 100644 --- a/experimental/fm-asr-streaming-rag/frontend/frontend/chat_client.py +++ b/experimental/fm-asr-streaming-rag/frontend/frontend/chat_client.py @@ -56,7 +56,7 @@ def get_obj_status(self) -> str: tries = 0 while not connected: try: - response = requests.post(f"{self.server_url}/app/get_all_devices_status") + response = requests.post(f"{self.server_url}/app/get_all_devices_status", timeout=60) connected = True except Exception as e: tries += 1 @@ -80,7 +80,7 @@ def predict(self, query: str, params: dict) -> typing.Generator[str, None, None] data = {**defaults, **params} url = (f"{self.server_url}/generate") _LOGGER.debug("making request - %s", str({"server_url": url, "post_data": data})) - with requests.get(url, stream=True, json=data) as req: + with requests.get(url, stream=True, json=data, timeout=60) as req: for chunk in req.iter_content(): yield chunk.decode("UTF-8") @@ -102,4 +102,4 @@ def upload_documents(self, file_paths: typing.List[str]) -> None: raise NotImplementedError def search(self, prompt: str) -> typing.List[typing.Dict[str, typing.Union[str, float]]]: - raise NotImplementedError \ No newline at end of file + raise NotImplementedError diff --git a/experimental/fm-asr-streaming-rag/sdr-holoscan/riva_asr.py b/experimental/fm-asr-streaming-rag/sdr-holoscan/riva_asr.py index 726b8f780..fb47e26e3 100644 --- a/experimental/fm-asr-streaming-rag/sdr-holoscan/riva_asr.py +++ b/experimental/fm-asr-streaming-rag/sdr-holoscan/riva_asr.py @@ -52,7 +52,7 @@ def run(self): def _post_request(self, endpoint, data): try: - client_response = requests.post(endpoint, json=data) + client_response = requests.post(endpoint, json=data, timeout=60) self.logger.debug(f'Posted {data}, got response {client_response._content}') self.logger.debug("--------------------------") except requests.exceptions.ConnectionError: @@ -143,4 +143,4 @@ def make_riva_request(self): self._request_generator(), metadata=self._riva_client.auth.get_auth_metadata() ) - return responses \ No newline at end of file + return responses diff --git a/experimental/oran-chatbot-multimodal/vectorstore/embedder.py b/experimental/oran-chatbot-multimodal/vectorstore/embedder.py index 636083c04..8cebfd7ae 100644 --- a/experimental/oran-chatbot-multimodal/vectorstore/embedder.py +++ b/experimental/oran-chatbot-multimodal/vectorstore/embedder.py @@ -29,7 +29,7 @@ def nvolve_embedding(content, type="passage"): payload = {"content": content} # Making the POST request - response = requests.post(url, data=json.dumps(payload), headers=headers) + response = requests.post(url, data=json.dumps(payload), headers=headers, timeout=60) # Check the response if response.status_code == 200: diff --git a/integrations/langchain/llms/nemo_infer.py b/integrations/langchain/llms/nemo_infer.py index 299db18f8..a4598c041 100644 --- a/integrations/langchain/llms/nemo_infer.py +++ b/integrations/langchain/llms/nemo_infer.py @@ -116,7 +116,7 @@ def _call( data, text_callback, **kwargs ) try: - response = requests.post(self.server_url, json=data) + response = requests.post(self.server_url, json=data, timeout=60) resp = response.json() resp = resp.get("choices", [{}])[0].get("text", "") return resp @@ -132,7 +132,7 @@ def _streaming_request( ) -> str: """parse streaming response from nemo ms api """ - response = requests.post(self.server_url, json=data, stream=True) + response = requests.post(self.server_url, json=data, stream=True, timeout=60) current_string = "" resp = "" @@ -154,4 +154,4 @@ def _streaming_request( if text_callback: text_callback(resp) current_string = chunk - return resp \ No newline at end of file + return resp diff --git a/integrations/langchain/llms/nv_api_catalog/chat_models.py b/integrations/langchain/llms/nv_api_catalog/chat_models.py index fa51b8a79..b04fa72dd 100644 --- a/integrations/langchain/llms/nv_api_catalog/chat_models.py +++ b/integrations/langchain/llms/nv_api_catalog/chat_models.py @@ -94,7 +94,7 @@ def _url_to_b64_string(image_source: str) -> str: b64_template = "data:image/png;base64,{b64_string}" try: if _is_url(image_source): - response = requests.get(image_source) + response = requests.get(image_source, timeout=60) response.raise_for_status() encoded = base64.b64encode(response.content).decode("utf-8") if sys.getsizeof(encoded) > 200000: diff --git a/integrations/langchain/llms/nv_api_catalog/image_gen.py b/integrations/langchain/llms/nv_api_catalog/image_gen.py index ee30b740f..62751aabe 100644 --- a/integrations/langchain/llms/nv_api_catalog/image_gen.py +++ b/integrations/langchain/llms/nv_api_catalog/image_gen.py @@ -91,7 +91,7 @@ def payload_fn(d): def _get_pil_from_response(data: str) -> Image.Image: if data.startswith("url: "): - body = requests.get(data[4:], stream=True).raw + body = requests.get(data[4:], stream=True, timeout=60).raw elif data.startswith("b64_json: "): body = BytesIO(base64.decodebytes(bytes(data[10:], "utf-8"))) else: