BuildQueryOp

Purpose

Constructs a query for memory retrieval either from a direct query input or by analyzing conversation messages.

Functionality

  • If a direct query is provided in the context, it uses that query
  • If messages are provided in the context, it can:
    • Use an LLM to generate a query based on the conversation context
    • Or create a simple query from recent messages without using an LLM

Parameters

  • op.build_query_op.params.enable_llm_build (boolean, default: true):
    • When true, uses an LLM to generate a query from conversation messages
    • When false, creates a simple query by concatenating recent messages

RerankMemoryOp

Purpose

Reranks and filters recalled memories to ensure the most relevant memories are prioritized.

Functionality

  • Reranks memories using LLM-based analysis (optional)
  • Filters memories based on quality scores (optional)
  • Returns the top-k most relevant memories

Parameters

  • op.rerank_memory_op.params.enable_llm_rerank (boolean, default: true):
    • When true, uses an LLM to rerank memories based on their relevance to the query
  • op.rerank_memory_op.params.enable_score_filter (boolean, default: false):
    • When true, filters memories based on their quality scores
  • op.rerank_memory_op.params.min_score_threshold (float, default: 0.3):
    • Minimum score threshold for filtering memories when enable_score_filter is true
  • op.rerank_memory_op.params.top_k (integer, default: 5):
    • Number of top memories to retain after reranking

RewriteMemoryOp

Purpose

Rewrites and formats the retrieved memories to make them more relevant and actionable for the current context.

Functionality

  • Formats retrieved memories into a structured format
  • Can use an LLM to rewrite memories to better fit the current context (optional)
  • Generates a cohesive context message from multiple memories

Parameters

  • op.rewrite_memory_op.params.enable_llm_rewrite (boolean, default: true):
    • When true, uses an LLM to rewrite the memories to make them more relevant and actionable
    • When false, simply formats the memories without LLM-based rewriting

MergeMemoryOp

Purpose

An alternative to RewriteMemoryOp that merges multiple memories into a single response without using an LLM.

Functionality

  • Collects the content from all memories in the memory list
  • Formats them into a single response with a standard structure
  • Adds a prompt to consider the helpful parts when answering the question