From df0584b86147b09b5114e4259c8e74890cb9f65e Mon Sep 17 00:00:00 2001 From: Manmohan Sharma Date: Thu, 16 Apr 2026 14:59:20 -0700 Subject: [PATCH] fix(chat-api): detect Modal URL by domain not path suffix --- services/chat-api/src/services/inference_client.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/services/chat-api/src/services/inference_client.py b/services/chat-api/src/services/inference_client.py index cb612ecf..911afa2a 100644 --- a/services/chat-api/src/services/inference_client.py +++ b/services/chat-api/src/services/inference_client.py @@ -84,10 +84,11 @@ class InferenceClient: } client = self._get_client() - # If the base_url already ends with a path (e.g. Modal endpoint URL), - # use it directly. Otherwise append /generate for the local service. + # Modal endpoints have the function name in the hostname + # (e.g. ...-generate.modal.run) — POST to root. + # Local inference service needs /generate appended. url = self.base_url - if not url.endswith("/generate"): + if "modal.run" not in url: url = f"{url}/generate" async with client.stream(