| 
					
				 | 
			
			
				@@ -208,14 +208,25 @@ class BedrockLargeLanguageModel(LargeLanguageModel): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if model_info['support_tool_use'] and tools: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             parameters['toolConfig'] = self._convert_converse_tool_config(tools=tools) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if stream: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                response = bedrock_client.converse_stream(**parameters) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return self._handle_converse_stream_response(model_info['model'], credentials, response, prompt_messages) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            else: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                response = bedrock_client.converse(**parameters) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return self._handle_converse_response(model_info['model'], credentials, response, prompt_messages) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        except ClientError as ex: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            error_code = ex.response['Error']['Code'] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            full_error_msg = f"{error_code}: {ex.response['Error']['Message']}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            raise self._map_client_to_invoke_error(error_code, full_error_msg) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        except (EndpointConnectionError, NoRegionError, ServiceNotInRegionError) as ex: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            raise InvokeConnectionError(str(ex)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if stream: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            response = bedrock_client.converse_stream(**parameters) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return self._handle_converse_stream_response(model_info['model'], credentials, response, prompt_messages) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        else: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            response = bedrock_client.converse(**parameters) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return self._handle_converse_response(model_info['model'], credentials, response, prompt_messages) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        except UnknownServiceError as ex: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            raise InvokeServerUnavailableError(str(ex)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        except Exception as ex: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            raise InvokeError(str(ex)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     def _handle_converse_response(self, model: str, credentials: dict, response: dict, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 prompt_messages: list[PromptMessage]) -> LLMResult: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         """ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -558,7 +569,6 @@ class BedrockLargeLanguageModel(LargeLanguageModel): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         except ClientError as ex: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             error_code = ex.response['Error']['Code'] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             full_error_msg = f"{error_code}: {ex.response['Error']['Message']}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             raise CredentialsValidateFailedError(str(self._map_client_to_invoke_error(error_code, full_error_msg))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         except Exception as ex: 
			 |