Skip to content

RAG and Memory

Tools for semantic retrieval, knowledge bases, and long-term agent memory.

← Prebuilt Tools overview

ToolExtraDescription
retrievebaseSemantic search over Amazon Bedrock Knowledge Bases.
memorybaseCRUD over Knowledge Base documents.
agent_core_memorybase (AWS)Bedrock AgentCore Memory. Register via AgentCoreMemoryToolProvider.
mem0_memorymem0-memoryLong-term memory and personalization via Mem0.
elasticsearch_memoryelasticsearch-memoryAgent memory with Elasticsearch vector search.
mongodb_memorymongodb-memoryAgent memory with MongoDB Atlas Vector Search.

retrieve

Semantic search over Amazon Bedrock Knowledge Bases.

python
from elsai_tools.retrieve import retrieve
ParameterTypeRequiredDescription
textstrYesSearch query
knowledgeBaseIdstrNoKnowledge Base ID
numberOfResultsintNoMax results (default 5)
regionstrNoAWS region
scorefloatNoMinimum relevance score

memory

CRUD over Knowledge Base documents.

python
from elsai_tools.memory import memory
ParameterTypeRequiredDescription
actionstrYesstore, delete, list, get, or retrieve
contentstrNoDocument content (for store)
titlestrNoDocument title
document_idstrNoDocument ID
querystrNoSearch query (for retrieve)
knowledge_base_idstrNoKnowledge Base ID
max_resultsintNoMax retrieve results

agent_core_memory

Bedrock AgentCore Memory. Register via AgentCoreMemoryToolProvider.

python
from elsai_tools.agent_core_memory import AgentCoreMemoryToolProvider

provider = AgentCoreMemoryToolProvider(
    memory_id="memory-123",
    actor_id="user-456",
    session_id="session-789",
    namespace="default",
)
agent = Agent(tools=provider.tools)
ParameterTypeRequiredDescription
actionstrYesrecord, retrieve, list, get, or delete
contentstrNoContent to record
querystrNoSemantic search query
memory_record_idstrNoRecord ID for get/delete
max_resultsintNoMax retrieve results

mem0_memory

Long-term memory and personalization via Mem0.

python
from elsai_tools.mem0_memory import mem0_memory

Extra: mem0-memory

ParameterTypeRequiredDescription
actionstrYesMemory action (add, search, delete, etc.)
contentAnyNoContent to store
querystrNoSearch query
memory_idstrNoSpecific memory ID
user_idstrNoUser identifier
agent_idstrNoAgent identifier

A2A isolation

On A2A servers, mem0_memory declares PER_CONTEXT scope. Each context_id receives its own Mem0MemoryTool instance with an isolated local FAISS vector store under:

$ELSAI_A2A_SESSION_DIR/<context_id>/mem0/faiss/

Using on an A2A server

python
from elsai import Agent

# Register the tool on the template agent; PER_CONTEXT cloning is automatic.
agent = Agent(tools=[...])  # e.g. tools=[python_repl], tools=[graph], …

Full A2AServer + session-manager wiring lives in Concepts — see Stateful prebuilt tools — examples.

  • Requires elsai-agents-tools[mem0-memory].
  • Local FAISS store: $ELSAI_A2A_SESSION_DIR/<context_id>/mem0/faiss/
  • Mem0 backend env vars (MEM0_API_KEY, OpenSearch, Neptune, etc.) are unchanged — see RAG and memory (per-tool env vars).

See Stateful tools on A2A and Stateful prebuilt tools — examples.

elasticsearch_memory

Agent memory with Elasticsearch vector search.

python
from elsai_tools.elasticsearch_memory import elasticsearch_memory

Extra: elasticsearch-memory

ParameterTypeRequiredDescription
actionstrYesMemory action
contentstrNoContent to store
querystrNoSearch query
memory_idstrNoMemory ID
max_resultsintNoMax results
index_namestrNoElasticsearch index

mongodb_memory

Agent memory with MongoDB Atlas Vector Search.

python
from elsai_tools.mongodb_memory import mongodb_memory

Extra: mongodb-memory

ParameterTypeRequiredDescription
actionstrYesMemory action
contentstrNoContent to store
querystrNoSearch query
memory_idstrNoMemory ID
max_resultsintNoMax results
namespacestrNoMongoDB namespace

Copyright © 2026 elsai foundry.