diff --git a/libs/langchain/langchain/chat_models/jinachat.py b/libs/langchain/langchain/chat_models/jinachat.py index 23450c12cfb..700ceb3a38c 100644 --- a/libs/langchain/langchain/chat_models/jinachat.py +++ b/libs/langchain/langchain/chat_models/jinachat.py @@ -35,6 +35,7 @@ from langchain.schema import ( ChatGeneration, ChatMessage, ChatResult, + FunctionMessage, HumanMessage, SystemMessage, ) @@ -125,6 +126,12 @@ def _convert_message_to_dict(message: BaseMessage) -> dict: message_dict = {"role": "assistant", "content": message.content} elif isinstance(message, SystemMessage): message_dict = {"role": "system", "content": message.content} + elif isinstance(message, FunctionMessage): + message_dict = { + "role": "function", + "name": message.name, + "content": message.content, + } else: raise ValueError(f"Got unknown type {message}") if "name" in message.additional_kwargs: