docs: fix search method return value handling in integration and example docs (#3208)

This commit is contained in:
cnScarb
2025-08-12 01:16:01 +08:00
committed by GitHub
parent 2307dc8613
commit c2792c6558
15 changed files with 25 additions and 25 deletions
+3 -3
View File
@@ -87,8 +87,8 @@ class Companion:
previous_memories = self.memory.search(question, user_id=user_id_to_use)
relevant_memories_text = ""
if previous_memories:
relevant_memories_text = '\n'.join(mem["memory"] for mem in previous_memories)
if previous_memories and previous_memories.get('results'):
relevant_memories_text = '\n'.join(mem["memory"] for mem in previous_memories['results'])
prompt = f"User input: {question}\nPrevious {check_answer} memories: {relevant_memories_text}"
@@ -146,7 +146,7 @@ def print_memories(user_id, label):
memories = ai_companion.get_memories(user_id=user_id)
if memories:
for m in memories:
print(f"- {m['text']}")
print(f"- {m['memory']}")
else:
print("No memories found.")
@@ -213,8 +213,8 @@ class MultiAgentLearningSystem:
query="learning machine learning"
)
if memories and len(memories):
history = "\n".join(f"- {m['memory']}" for m in memories)
if memories and memories.get('results'):
history = "\n".join(f"- {m['memory']}" for m in memories['results'])
return history
else:
return "No learning history found yet. Let's start building your profile!"
@@ -86,7 +86,7 @@ def apply_writing_style(original_content):
print("No preferences found.")
return None
preferences = "\n".join(r["memory"] for r in results)
preferences = "\n".join(r["memory"] for r in results.get('results', []))
system_prompt = f"""
You are a writing assistant.
+1 -1
View File
@@ -225,7 +225,7 @@ async function addSampleMemories() {
const getMemoryString = (memories) => {
const MEMORY_STRING_PREFIX = "These are the memories I have stored. Give more weightage to the question by users and try to answer that first. You have to modify your answer based on the memories I have provided. If the memories are irrelevant you can ignore them. Also don't reply to this section of the prompt, or the memories, they are only for your reference. The MEMORIES of the USER are: \n\n";
const memoryString = memories.map((mem) => `${mem.memory}`).join("\n") ?? "";
const memoryString = (memories?.results || memories).map((mem) => `${mem.memory}`).join("\n") ?? "";
return memoryString.length > 0 ? `${MEMORY_STRING_PREFIX}${memoryString}` : "";
};
+2 -2
View File
@@ -155,11 +155,11 @@ class PersonalTravelAssistant:
def get_memories(self, user_id):
memories = self.memory.get_all(user_id=user_id)
return [m['memory'] for m in memories['memories']]
return [m['memory'] for m in memories.get('results', [])]
def search_memories(self, query, user_id):
memories = self.memory.search(query, user_id=user_id)
return [m['memory'] for m in memories['memories']]
return [m['memory'] for m in memories.get('results', [])]
# Usage example
user_id = "traveler_123"
+1 -1
View File
@@ -104,7 +104,7 @@ def demonstrate_sync_memory(local_config, sample_messages, sample_preferences, u
results = memory.search(query, user_id=user_id)
if results and "results" in results:
for j, result in enumerate(results):
for j, result in enumerate(results['results']):
print(f"Result {j+1}: {result.get('memory', 'N/A')}")
else:
print("No results found")
+1 -1
View File
@@ -128,7 +128,7 @@ def chat_user(
if user_input:
# Search for relevant memories
memories = client.search(user_input, user_id=user_id)
memory_context = "\n".join(f"- {m['memory']}" for m in memories)
memory_context = "\n".join(f"- {m['memory']}" for m in memories.get('results', []))
# Construct the prompt
prompt = f"""
+2 -2
View File
@@ -68,7 +68,7 @@ Create a function to get context-aware responses based on user's question and pr
```python
def get_context_aware_response(question):
relevant_memories = memory_client.search(question, user_id=USER_ID)
context = "\n".join([m["memory"] for m in relevant_memories])
context = "\n".join([m["memory"] for m in relevant_memories.get('results', [])])
prompt = f"""Answer the user question considering the previous interactions:
Previous interactions:
@@ -100,7 +100,7 @@ manager = ConversableAgent(
def escalate_to_manager(question):
relevant_memories = memory_client.search(question, user_id=USER_ID)
context = "\n".join([m["memory"] for m in relevant_memories])
context = "\n".join([m["memory"] for m in relevant_memories.get('results', [])])
prompt = f"""
Context from previous interactions:
+1 -1
View File
@@ -152,7 +152,7 @@ Define the two key memory functions that will be registered as tools:
)
# Extract and join the memory texts
memories = ' '.join([result["memory"] for result in results])
memories = ' '.join([result["memory"] for result in results.get('results', [])])
print("[ Memories ]", memories)
if memories:
+2 -2
View File
@@ -49,8 +49,8 @@ mem0 = MemoryClient()
def search_memory(query: str, user_id: str) -> dict:
"""Search through past conversations and memories"""
memories = mem0.search(query, user_id=user_id)
if memories:
memory_context = "\n".join([f"- {mem['memory']}" for mem in memories])
if memories.get('results', []):
memory_context = "\n".join([f"- {mem['memory']}" for mem in memories.get('results', [])])
return {"status": "success", "memories": memory_context}
return {"status": "no_memories", "message": "No relevant memories found"}
+1 -1
View File
@@ -64,7 +64,7 @@ Create functions to handle context retrieval, response generation, and addition
def retrieve_context(query: str, user_id: str) -> List[Dict]:
"""Retrieve relevant context from Mem0"""
memories = mem0.search(query, user_id=user_id)
serialized_memories = ' '.join([mem["memory"] for mem in memories])
serialized_memories = ' '.join([mem["memory"] for mem in memories.get('results', [])])
context = [
{
"role": "system",
+1 -1
View File
@@ -68,7 +68,7 @@ def chatbot(state: State):
memories = mem0.search(messages[-1].content, user_id=user_id)
context = "Relevant information from previous conversations:\n"
for memory in memories:
for memory in memories.get('results', []):
context += f"- {memory['memory']}\n"
system_message = SystemMessage(content=f"""You are a helpful customer support assistant. Use the provided context to personalize your responses and remember user preferences and past interactions.
+2 -2
View File
@@ -119,9 +119,9 @@ class MemoryEnabledAgent(Agent):
user_id=RAG_USER_ID,
)
logger.info(f"mem0_client.search returned: {search_results}")
if search_results and isinstance(search_results, list):
if search_results and search_results.get('results', []):
context_parts = []
for result in search_results:
for result in search_results.get('results', []):
paragraph = result.get("memory") or result.get("text")
if paragraph:
source = "mem0 Memories"
+3 -3
View File
@@ -71,7 +71,7 @@ Define search command and retrieve relevant memories from Mem0.
command = "Find papers on arxiv that I should read based on my interests."
relevant_memories = memory.search(command, user_id=USER_ID, limit=3)
relevant_memories_text = '\n'.join(mem['text'] for mem in relevant_memories)
relevant_memories_text = '\n'.join(mem['memory'] for mem in relevant_memories['results'])
print(f"Relevant memories:")
print(relevant_memories_text)
```
@@ -98,9 +98,9 @@ def get_travel_info(question, use_memory=True):
if use_memory:
previous_memories = memory_client.search(question, user_id=USER_ID)
relevant_memories_text = ""
if previous_memories:
if previous_memories and previous_memories.get('results'):
print("Using previous memories to enhance the search...")
relevant_memories_text = '\n'.join(mem["memory"] for mem in previous_memories)
relevant_memories_text = '\n'.join(mem["memory"] for mem in previous_memories['results'])
command = "Find travel information based on my interests:"
prompt = f"{command}\n Question: {question} \n My preferences: {relevant_memories_text}"
+2 -2
View File
@@ -47,8 +47,8 @@ mem0 = MemoryClient()
def search_memory(query: str, user_id: str) -> str:
"""Search through past conversations and memories"""
memories = mem0.search(query, user_id=user_id, limit=3)
if memories:
return "\n".join([f"- {mem['memory']}" for mem in memories])
if memories and memories.get('results'):
return "\n".join([f"- {mem['memory']}" for mem in memories['results']])
return "No relevant memories found."
@function_tool