From 752b59fe091483893aa5158af0b642b1cfb8ae8f Mon Sep 17 00:00:00 2001 From: Abhijit L Date: Wed, 30 Jul 2025 18:55:52 +0530 Subject: [PATCH 1/3] fix: langchain azure example --- examples/azure-openai/langchain_azure_universal.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/examples/azure-openai/langchain_azure_universal.py b/examples/azure-openai/langchain_azure_universal.py index 433e382..3c84f71 100644 --- a/examples/azure-openai/langchain_azure_universal.py +++ b/examples/azure-openai/langchain_azure_universal.py @@ -15,10 +15,10 @@ javelin_api_key = os.getenv("JAVELIN_API_KEY") base_url = os.getenv("JAVELIN_BASE_URL") -# The name of your Azure deployment (e.g., "gpt-4") +# The name of your Azure deployment (e.g., "gpt35") # or whatever you’ve set in Azure. Must also match x-javelin-model if # Javelin expects that. -model_choice = "gpt-4" +model_choice = "gpt35" # Javelin route name, as registered in your javelin route dashboard route_name = "azureopenai_univ" @@ -34,14 +34,14 @@ # Provide your actual API version api_version="2024-08-01-preview", # The base_url is Javelin’s universal route - base_url=f"{base_url}/v1/azureopenai/deployments/gpt-4/", + base_url=f"{base_url}/v1/openai/deployments/gpt35/", validate_base_url=False, verbose=True, default_headers={ "x-javelin-apikey": javelin_api_key, "x-javelin-route": route_name, "x-javelin-model": model_choice, - "x-javelin-provider": "https://javelinpreview.openai.azure.com/openai", + "x-javelin-provider": "https://javelinpreview.openai.azure.com", }, streaming=False, # Non-streaming ) @@ -92,7 +92,7 @@ def invoke_streaming(question: str) -> str: llm_streaming = AzureChatOpenAI( openai_api_key=azure_openai_api_key, api_version="2024-08-01-preview", - base_url=f"{base_url}/v1/azureopenai/deployments/gpt-4/", + base_url=f"{base_url}/v1/azureopenai/deployments/gpt35/", validate_base_url=False, verbose=True, default_headers={ From 81179559e69b687a1169a3bbbf800a8ccedd4866 Mon Sep 17 00:00:00 2001 From: Abhijit L Date: Wed, 30 Jul 2025 19:08:25 +0530 Subject: [PATCH 2/3] fix: update req body --- javelin_sdk/services/guardrails_service.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/javelin_sdk/services/guardrails_service.py b/javelin_sdk/services/guardrails_service.py index 228a9a0..e7d3c40 100644 --- a/javelin_sdk/services/guardrails_service.py +++ b/javelin_sdk/services/guardrails_service.py @@ -27,7 +27,7 @@ def _handle_guardrails_response(self, response: httpx.Response) -> None: def apply_trustsafety( self, text: str, config: Optional[Dict[str, Any]] = None ) -> Dict[str, Any]: - data: Dict[str, Any] = {"text": text} + data: Dict[str, Any] = {"input": {"text": text}} if config: data["config"] = config response = self.client._send_request_sync( @@ -43,7 +43,7 @@ def apply_trustsafety( def apply_promptinjectiondetection( self, text: str, config: Optional[Dict[str, Any]] = None ) -> Dict[str, Any]: - data: Dict[str, Any] = {"text": text} + data: Dict[str, Any] = {"input": {"text": text}} if config: data["config"] = config response = self.client._send_request_sync( @@ -56,8 +56,10 @@ def apply_promptinjectiondetection( self._handle_guardrails_response(response) return response.json() - def apply_guardrails(self, text: str, guardrails: list) -> Dict[str, Any]: - data = {"text": text, "guardrails": guardrails} + def apply_guardrails(self, text: str, guardrails: list, config: Optional[Dict[str, Any]] = None) -> Dict[str, Any]: + data: Dict[str, Any] = {"input": {"text": text}, "guardrails": guardrails} + if config: + data["config"] = config response = self.client._send_request_sync( Request( method=HttpMethod.POST, From 7cf2a54cfd71f03abe82690aa46439ae4177d588 Mon Sep 17 00:00:00 2001 From: Abhijit L Date: Wed, 30 Jul 2025 19:09:35 +0530 Subject: [PATCH 3/3] fix: lint issues --- javelin_sdk/services/guardrails_service.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/javelin_sdk/services/guardrails_service.py b/javelin_sdk/services/guardrails_service.py index e7d3c40..eb37370 100644 --- a/javelin_sdk/services/guardrails_service.py +++ b/javelin_sdk/services/guardrails_service.py @@ -56,7 +56,9 @@ def apply_promptinjectiondetection( self._handle_guardrails_response(response) return response.json() - def apply_guardrails(self, text: str, guardrails: list, config: Optional[Dict[str, Any]] = None) -> Dict[str, Any]: + def apply_guardrails( + self, text: str, guardrails: list, config: Optional[Dict[str, Any]] = None + ) -> Dict[str, Any]: data: Dict[str, Any] = {"input": {"text": text}, "guardrails": guardrails} if config: data["config"] = config