| 
					
				 | 
			
			
				@@ -72,16 +72,16 @@ class BedrockLargeLanguageModel(LargeLanguageModel): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         :return: full response or stream response chunk generator result 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         """ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        # invoke claude 3 models via anthropic official SDK 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if "anthropic.claude-3" in model: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return self._invoke_claude3(model, credentials, prompt_messages, model_parameters, stop, stream, user) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        # invoke model 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # invoke anthropic models via anthropic official SDK 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if "anthropic" in model: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return self._generate_anthropic(model, credentials, prompt_messages, model_parameters, stop, stream, user) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # invoke other models via boto3 client 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return self._generate(model, credentials, prompt_messages, model_parameters, stop, stream, user) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    def _invoke_claude3(self, model: str, credentials: dict, prompt_messages: list[PromptMessage], model_parameters: dict, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def _generate_anthropic(self, model: str, credentials: dict, prompt_messages: list[PromptMessage], model_parameters: dict, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 stop: Optional[list[str]] = None, stream: bool = True, user: Optional[str] = None) -> Union[LLMResult, Generator]: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         """ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Invoke Claude3 large language model 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Invoke Anthropic large language model 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         :param model: model name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         :param credentials: model credentials 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -114,7 +114,7 @@ class BedrockLargeLanguageModel(LargeLanguageModel): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             # ref: https://github.com/anthropics/anthropic-sdk-python/blob/e84645b07ca5267066700a104b4d8d6a8da1383d/src/anthropic/resources/messages.py#L465 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             # extra_model_kwargs['metadata'] = message_create_params.Metadata(user_id=user) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        system, prompt_message_dicts = self._convert_claude3_prompt_messages(prompt_messages) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        system, prompt_message_dicts = self._convert_claude_prompt_messages(prompt_messages) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if system: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             extra_model_kwargs['system'] = system 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -128,11 +128,11 @@ class BedrockLargeLanguageModel(LargeLanguageModel): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if stream: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return self._handle_claude3_stream_response(model, credentials, response, prompt_messages) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return self._handle_claude_stream_response(model, credentials, response, prompt_messages) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return self._handle_claude3_response(model, credentials, response, prompt_messages) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return self._handle_claude_response(model, credentials, response, prompt_messages) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    def _handle_claude3_response(self, model: str, credentials: dict, response: Message, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def _handle_claude_response(self, model: str, credentials: dict, response: Message, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 prompt_messages: list[PromptMessage]) -> LLMResult: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         """ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Handle llm chat response 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -172,7 +172,7 @@ class BedrockLargeLanguageModel(LargeLanguageModel): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return response 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    def _handle_claude3_stream_response(self, model: str, credentials: dict, response: Stream[MessageStreamEvent], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def _handle_claude_stream_response(self, model: str, credentials: dict, response: Stream[MessageStreamEvent], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                         prompt_messages: list[PromptMessage], ) -> Generator: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         """ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Handle llm chat stream response 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -231,7 +231,7 @@ class BedrockLargeLanguageModel(LargeLanguageModel): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         except Exception as ex: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             raise InvokeError(str(ex)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    def _calc_claude3_response_usage(self, model: str, credentials: dict, prompt_tokens: int, completion_tokens: int) -> LLMUsage: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def _calc_claude_response_usage(self, model: str, credentials: dict, prompt_tokens: int, completion_tokens: int) -> LLMUsage: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         """ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Calculate response usage 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -275,7 +275,7 @@ class BedrockLargeLanguageModel(LargeLanguageModel): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return usage 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    def _convert_claude3_prompt_messages(self, prompt_messages: list[PromptMessage]) -> tuple[str, list[dict]]: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def _convert_claude_prompt_messages(self, prompt_messages: list[PromptMessage]) -> tuple[str, list[dict]]: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         """ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Convert prompt messages to dict list and system 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         """ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -295,11 +295,11 @@ class BedrockLargeLanguageModel(LargeLanguageModel): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         prompt_message_dicts = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for message in prompt_messages: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if not isinstance(message, SystemPromptMessage): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                prompt_message_dicts.append(self._convert_claude3_prompt_message_to_dict(message)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                prompt_message_dicts.append(self._convert_claude_prompt_message_to_dict(message)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return system, prompt_message_dicts 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    def _convert_claude3_prompt_message_to_dict(self, message: PromptMessage) -> dict: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def _convert_claude_prompt_message_to_dict(self, message: PromptMessage) -> dict: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         """ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Convert PromptMessage to dict 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         """ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -405,7 +405,7 @@ class BedrockLargeLanguageModel(LargeLanguageModel): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if "anthropic.claude-3" in model: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                self._invoke_claude3(model=model, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                self._invoke_claude(model=model, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                         credentials=credentials, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                         prompt_messages=[{"role": "user", "content": "ping"}], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                         model_parameters={}, 
			 |