From 927ab77d6e839d7e12aaab00faa9b527afa4a214 Mon Sep 17 00:00:00 2001 From: Erick Friis Date: Wed, 7 Feb 2024 17:14:50 -0800 Subject: [PATCH] google-genai[patch]: no error for FunctionMessage (#17215) Both should eventually match this: https://github.com/langchain-ai/langchain/blob/master/libs/partners/google-vertexai/langchain_google_vertexai/chat_models.py#L179 But seems undocumented / can't find types in genai package --- .../google-genai/langchain_google_genai/chat_models.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/libs/partners/google-genai/langchain_google_genai/chat_models.py b/libs/partners/google-genai/langchain_google_genai/chat_models.py index 2bf9cf8cc3d..2f0d35428d5 100644 --- a/libs/partners/google-genai/langchain_google_genai/chat_models.py +++ b/libs/partners/google-genai/langchain_google_genai/chat_models.py @@ -39,6 +39,7 @@ from langchain_core.messages import ( BaseMessage, ChatMessage, ChatMessageChunk, + FunctionMessage, HumanMessage, HumanMessageChunk, SystemMessage, @@ -326,14 +327,20 @@ llm = ChatGoogleGenerativeAI(model="gemini-pro", convert_system_message_to_human continue elif isinstance(message, AIMessage): role = "model" + # TODO: Handle AImessage with function call + parts = _convert_to_parts(message.content) elif isinstance(message, HumanMessage): role = "user" + parts = _convert_to_parts(message.content) + elif isinstance(message, FunctionMessage): + role = "user" + # TODO: Handle FunctionMessage + parts = _convert_to_parts(message.content) else: raise ValueError( f"Unexpected message with type {type(message)} at the position {i}." ) - parts = _convert_to_parts(message.content) if raw_system_message: if role == "model": raise ValueError(