fix(memory): infinite loop with auto_ingest mode. #122
+76
−27
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request introduces a new example for using Memori with a custom OpenAI client and improves the handling of internal agent calls by switching from pattern-based detection in message content to a more reliable metadata flag approach. It also consistently tags internal memory processing calls with a specific metadata flag across memory and retrieval agents.
Key changes:
New Example:
examples/supported_llms/openai_custom_example.py
, which demonstrates how to integrate Memori with a custom OpenAI client, including environment variable setup, memory tracking, and interactive chat.Internal Call Detection Improvements:
_is_internal_agent_call
inmemori/integrations/openai_integration.py
to check for internal processing using themetadata
field instead of searching for patterns in message content, reducing false positives and improving reliability.Consistent Internal Metadata Tagging:
"INTERNAL_MEMORY_PROCESSING"
metadata tag to all internal memory processing calls in bothMemoryAgent
(memori/agents/memory_agent.py
) andRetrievalAgent
(memori/agents/retrieval_agent.py
), ensuring these calls are properly identified as internal. [1] [2] [3] [4]