From 0b20c098dff4b176c7bb5658487f539d54256157 Mon Sep 17 00:00:00 2001 From: Erick Friis Date: Wed, 20 Mar 2024 15:22:09 -0700 Subject: [PATCH] openai[patch]: fix name param (#19365) --- libs/partners/openai/Makefile | 4 ++-- .../openai/langchain_openai/chat_models/base.py | 13 ++++++++++--- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/libs/partners/openai/Makefile b/libs/partners/openai/Makefile index 31aae646a5..f97afbdf6c 100644 --- a/libs/partners/openai/Makefile +++ b/libs/partners/openai/Makefile @@ -6,9 +6,9 @@ all: help # Define a variable for the test file path. TEST_FILE ?= tests/unit_tests/ -integration_tests: TEST_FILE=tests/integration_tests/ +integration_test integration_tests: TEST_FILE=tests/integration_tests/ -test tests integration_tests: +test tests integration_test integration_tests: poetry run pytest $(TEST_FILE) diff --git a/libs/partners/openai/langchain_openai/chat_models/base.py b/libs/partners/openai/langchain_openai/chat_models/base.py index 75f5e340ba..ed97a6c737 100644 --- a/libs/partners/openai/langchain_openai/chat_models/base.py +++ b/libs/partners/openai/langchain_openai/chat_models/base.py @@ -140,8 +140,17 @@ def _convert_message_to_dict(message: BaseMessage) -> dict: """ message_dict: Dict[str, Any] = { "content": message.content, - "name": message.name, } + if message.name is not None: + message_dict["name"] = message.name + elif ( + "name" in message.additional_kwargs + and message.additional_kwargs["name"] is not None + ): + # fall back on additional kwargs for backwards compatibility + message_dict["name"] = message.additional_kwargs["name"] + + # populate role and additional message data if isinstance(message, ChatMessage): message_dict["role"] = message.role elif isinstance(message, HumanMessage): @@ -171,8 +180,6 @@ def _convert_message_to_dict(message: BaseMessage) -> dict: del message_dict["name"] else: raise TypeError(f"Got unknown type {message}") - if "name" in message.additional_kwargs: - message_dict["name"] = message.additional_kwargs["name"] return message_dict