From cc15a22bf9f33dda3ed1ed7e2048e4f5875123cc Mon Sep 17 00:00:00 2001 From: Srishti Gureja <84127491+srishti-git1110@users.noreply.github.com> Date: Tue, 2 Sep 2025 21:23:59 +0530 Subject: [PATCH] support `store` for openai (#3399) --- mem0/configs/llms/openai.py | 3 +++ mem0/llms/openai.py | 8 +++++++- tests/llms/test_openai.py | 4 ++-- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/mem0/configs/llms/openai.py b/mem0/configs/llms/openai.py index 960dc0f23..e0a0a6f2d 100644 --- a/mem0/configs/llms/openai.py +++ b/mem0/configs/llms/openai.py @@ -28,6 +28,7 @@ class OpenAIConfig(BaseLlmConfig): openrouter_base_url: Optional[str] = None, site_url: Optional[str] = None, app_name: Optional[str] = None, + store: bool = False, # Response monitoring callback response_callback: Optional[Callable[[Any, dict, dict], None]] = None, ): @@ -72,5 +73,7 @@ class OpenAIConfig(BaseLlmConfig): self.openrouter_base_url = openrouter_base_url self.site_url = site_url self.app_name = app_name + self.store = store + # Response monitoring self.response_callback = response_callback diff --git a/mem0/llms/openai.py b/mem0/llms/openai.py index dae1dd48a..b6ad538d0 100644 --- a/mem0/llms/openai.py +++ b/mem0/llms/openai.py @@ -123,7 +123,13 @@ class OpenAILLM(LLMBase): openrouter_params["extra_headers"] = extra_headers params.update(**openrouter_params) - + + else: + openai_specific_generation_params = ["store"] + for param in openai_specific_generation_params: + if hasattr(self.config, param): + params[param] = getattr(self.config, param) + if response_format: params["response_format"] = response_format if tools: # TODO: Remove tools if no issues found with new memory addition logic diff --git a/tests/llms/test_openai.py b/tests/llms/test_openai.py index f5b9abc3a..a98feb07d 100644 --- a/tests/llms/test_openai.py +++ b/tests/llms/test_openai.py @@ -55,7 +55,7 @@ def test_generate_response_without_tools(mock_openai_client): response = llm.generate_response(messages) mock_openai_client.chat.completions.create.assert_called_once_with( - model="gpt-4o", messages=messages, temperature=0.7, max_tokens=100, top_p=1.0 + model="gpt-4o", messages=messages, temperature=0.7, max_tokens=100, top_p=1.0, store=False ) assert response == "I'm doing well, thank you for asking!" @@ -97,7 +97,7 @@ def test_generate_response_with_tools(mock_openai_client): response = llm.generate_response(messages, tools=tools) mock_openai_client.chat.completions.create.assert_called_once_with( - model="gpt-4o", messages=messages, temperature=0.7, max_tokens=100, top_p=1.0, tools=tools, tool_choice="auto" + model="gpt-4o", messages=messages, temperature=0.7, max_tokens=100, top_p=1.0, tools=tools, tool_choice="auto", store=False ) assert response["content"] == "I've added the memory for you."