fix(docs/rerankers): pass rerank=True so examples actually rerank
The reranker examples configured a `reranker` block but called memory.search(...) without rerank=True. Memory.search() defaults rerank=False (mem0/memory/main.py:1333) and only reranks 'if rerank and self.reranker' (:1447), so reranking never ran: - cohere, zero_entropy, llm, sentence_transformer print result['rerank_score'], which doesn't exist unless reranking runs -> KeyError on copy-paste. - optimization (reranker benchmark) and custom-prompts (reranker-prompt test) silently measured un-reranked search. Add the missing rerank=True flag to every search meant to exercise the reranker.
This commit is contained in:
@@ -193,7 +193,7 @@ for i, prompt in enumerate(prompts):
|
|||||||
config["reranker"]["config"]["scoring_prompt"] = prompt
|
config["reranker"]["config"]["scoring_prompt"] = prompt
|
||||||
memory = Memory.from_config(config)
|
memory = Memory.from_config(config)
|
||||||
|
|
||||||
results = memory.search("test query", filters={"user_id": "test_user"})
|
results = memory.search("test query", filters={"user_id": "test_user"}, rerank=True)
|
||||||
print(f"Prompt {i+1} results: {results}")
|
print(f"Prompt {i+1} results: {results}")
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ messages = [
|
|||||||
memory.add(messages, user_id="bob")
|
memory.add(messages, user_id="bob")
|
||||||
|
|
||||||
# Search with reranking
|
# Search with reranking
|
||||||
results = memory.search("What is the user's profession?", filters={"user_id": "bob"})
|
results = memory.search("What is the user's profession?", filters={"user_id": "bob"}, rerank=True)
|
||||||
|
|
||||||
for result in results['results']:
|
for result in results['results']:
|
||||||
print(f"Memory: {result['memory']}")
|
print(f"Memory: {result['memory']}")
|
||||||
|
|||||||
@@ -111,7 +111,7 @@ messages = [
|
|||||||
memory.add(messages, user_id="david")
|
memory.add(messages, user_id="david")
|
||||||
|
|
||||||
# Search with LLM reranking
|
# Search with LLM reranking
|
||||||
results = memory.search("What programming topics is the user studying?", filters={"user_id": "david"})
|
results = memory.search("What programming topics is the user studying?", filters={"user_id": "david"}, rerank=True)
|
||||||
|
|
||||||
for result in results['results']:
|
for result in results['results']:
|
||||||
print(f"Memory: {result['memory']}")
|
print(f"Memory: {result['memory']}")
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ messages = [
|
|||||||
memory.add(messages, user_id="charlie")
|
memory.add(messages, user_id="charlie")
|
||||||
|
|
||||||
# Search with local reranking
|
# Search with local reranking
|
||||||
results = memory.search("What books does the user like?", filters={"user_id": "charlie"})
|
results = memory.search("What books does the user like?", filters={"user_id": "charlie"}, rerank=True)
|
||||||
|
|
||||||
for result in results['results']:
|
for result in results['results']:
|
||||||
print(f"Memory: {result['memory']}")
|
print(f"Memory: {result['memory']}")
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ messages = [
|
|||||||
memory.add(messages, user_id="alice")
|
memory.add(messages, user_id="alice")
|
||||||
|
|
||||||
# Search with reranking
|
# Search with reranking
|
||||||
results = memory.search("What Italian food does the user like?", filters={"user_id": "alice"})
|
results = memory.search("What Italian food does the user like?", filters={"user_id": "alice"}, rerank=True)
|
||||||
|
|
||||||
for result in results['results']:
|
for result in results['results']:
|
||||||
print(f"Memory: {result['memory']}")
|
print(f"Memory: {result['memory']}")
|
||||||
|
|||||||
@@ -146,7 +146,7 @@ def measure_reranker_performance(config, queries, user_id):
|
|||||||
latencies = []
|
latencies = []
|
||||||
for query in queries:
|
for query in queries:
|
||||||
start_time = time.time()
|
start_time = time.time()
|
||||||
results = memory.search(query, filters={"user_id": user_id})
|
results = memory.search(query, filters={"user_id": user_id}, rerank=True)
|
||||||
latency = time.time() - start_time
|
latency = time.time() - start_time
|
||||||
latencies.append(latency)
|
latencies.append(latency)
|
||||||
|
|
||||||
@@ -218,7 +218,7 @@ async def parallel_search(config, queries, user_id):
|
|||||||
|
|
||||||
# Process multiple queries concurrently
|
# Process multiple queries concurrently
|
||||||
tasks = [
|
tasks = [
|
||||||
memory.search(query, filters={"user_id": user_id})
|
memory.search(query, filters={"user_id": user_id}, rerank=True)
|
||||||
for query in queries
|
for query in queries
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user