Skip to main content
Memory search in PraisonAI Agents provides advanced parameters for better control over search results, including reranking for improved relevance and cutoff thresholds for quality control.
The user asks a question; advanced search reranks and filters memory hits before the agent answers.

How It Works

Quick Start

1

Simple Usage

2

With Configuration

Advanced Search Parameters

The search_long_term method supports several advanced parameters:

Method Signature

Parameter Details

string
required
The search query to find relevant memories
integer
default:"5"
Maximum number of results to return
float
default:"0.0"
Minimum relevance score (0.0 to 1.0) for results to be included
float
default:"0.0"
Minimum quality score for results (used with quality tracking)
boolean
default:"false"
Enable reranking for improved relevance (only works with Mem0 provider)

Provider-Specific Features

ChromaDB (Local Storage)

ChromaDB is the default local storage provider that supports relevance filtering:

Mem0 (Cloud Provider)

Mem0 is a cloud-based provider that supports both relevance filtering and reranking:
Reranking is only available with the Mem0 provider. When using ChromaDB, the rerank parameter is ignored.

Relevance Scoring

How Relevance Scores Work

ChromaDB Scoring

  • Uses vector similarity (cosine distance)
  • Score = 1.0 - distance
  • Range: 0.0 to 1.0
  • Higher scores = better matches

Mem0 Scoring

  • Uses proprietary scoring algorithm
  • Includes semantic understanding
  • Reranking uses additional context
  • Optimized for accuracy

Setting Appropriate Cutoffs

Complete Examples

Example 2: Agent Memory with Quality Tracking

Example 3: Multi-Provider Setup

Performance Considerations

Reranking Impact

  • Adds 150-200ms latency
  • Improves result quality by 20-30%
  • Best for critical searches
  • Not suitable for real-time applications

Relevance Cutoff

  • No performance impact
  • Reduces result set size
  • Improves signal-to-noise ratio
  • Can filter out useful edge cases

Best Practices

Use ChromaDB for local, fast searches. Use Mem0 for cloud-based deployments when you need reranking.
Start with 0.6–0.7 for general searches, 0.8+ for precise matching, and 0.3–0.5 for exploratory searches.
Use tighter cutoffs and smaller limits for UI quick search; enable reranking and higher limits for analysis workloads.

Troubleshooting

  • Verify you’re using Mem0 provider
  • Check API key is valid
  • Ensure agent_id is provided
  • Monitor API quota limits
  • Lower relevance_cutoff threshold
  • Check if memories exist
  • Verify embedding model is working
  • Try broader search terms
  • Ensure quality embeddings
  • Store more context with memories
  • Use more specific queries
  • Consider reranking (Mem0 only)

Next Steps

Memory Management

Learn about memory storage and retrieval basics

Knowledge Base

Explore knowledge management features
Store and recall agent memory across turns and sessions.
Retrieve relevant chunks from large document sets at query time.