Fix/new mem mistaken for current fixing #2875 (#2876)

This commit is contained in:
John Lockwood
2025-09-01 07:16:01 -07:00
committed by GitHub
parent 748620f29b
commit 97fd320bbf
2 changed files with 45 additions and 1 deletions
+13 -1
View File
@@ -293,14 +293,26 @@ def get_update_memory_messages(retrieved_old_memory_dict, response_content, cust
global DEFAULT_UPDATE_MEMORY_PROMPT
custom_update_memory_prompt = DEFAULT_UPDATE_MEMORY_PROMPT
return f"""{custom_update_memory_prompt}
if retrieved_old_memory_dict:
current_memory_part = f"""
Below is the current content of my memory which I have collected till now. You have to update it in the following format only:
```
{retrieved_old_memory_dict}
```
"""
else:
current_memory_part = """
Current memory is empty.
"""
return f"""{custom_update_memory_prompt}
{current_memory_part}
The new retrieved facts are mentioned in the triple backticks. You have to analyze the new retrieved facts and determine whether these facts should be added, updated, or deleted in the memory.
```
+32
View File
@@ -17,3 +17,35 @@ def test_get_update_memory_messages():
##
result = prompts.get_update_memory_messages(retrieved_old_memory_dict, response_content, None)
assert result.startswith(prompts.DEFAULT_UPDATE_MEMORY_PROMPT)
def test_get_update_memory_messages_empty_memory():
# Test with None for retrieved_old_memory_dict
result = prompts.get_update_memory_messages(
None,
["new fact"],
None
)
assert "Current memory is empty" in result
# Test with empty list for retrieved_old_memory_dict
result = prompts.get_update_memory_messages(
[],
["new fact"],
None
)
assert "Current memory is empty" in result
def test_get_update_memory_messages_non_empty_memory():
# Non-empty memory scenario
memory_data = [{"id": "1", "text": "existing memory"}]
result = prompts.get_update_memory_messages(
memory_data,
["new fact"],
None
)
# Check that the memory data is displayed
assert str(memory_data) in result
# And that the non-empty memory message is present
assert "current content of my memory" in result