Skip to content

RAG and memory ​

Optional extras:

bash
pip install --extra-index-url https://elsai-agents.elsai.ai/root/ "elsai-agents-tools[mem0-memory]==0.3.0"
pip install --extra-index-url https://elsai-agents.elsai.ai/root/ "elsai-agents-tools[elasticsearch-memory]==0.3.0"
pip install --extra-index-url https://elsai-agents.elsai.ai/root/ "elsai-agents-tools[mongodb-memory]==0.3.0"

Tools ​

retrieve ​

Query Amazon Bedrock Knowledge Bases with semantic search and return ranked passages for agent context

Environment variables ​

VariableRequiredDefaultDescription
KNOWLEDGE_BASE_IDyes—Default Bedrock Knowledge Base ID for retrieve
AWS_REGIONyes—AWS region for Bedrock / AgentCore (needed when not already configured in your AWS environment)
MIN_SCOREoptional0.4Lowest relevance score to keep from retrieve
RETRIEVE_ENABLE_METADATA_DEFAULToptionalfalseWhether retrieve results include metadata by default

memory ​

Full CRUD over Knowledge Base documents — store, list, get, delete, and retrieve entries the agent can reference later

Environment variables ​

VariableRequiredDefaultDescription
ELSAI_KNOWLEDGE_BASE_IDyes—Default Knowledge Base ID for memory (separate from KNOWLEDGE_BASE_ID)
AWS_REGIONyes—AWS region for Bedrock / AgentCore (needed when not already configured in your AWS environment)
MEMORY_DEFAULT_MIN_SCOREoptional0.4Lowest relevance score for memory retrieve
MEMORY_DEFAULT_MAX_RESULTSoptional50Max results for memory retrieve

Also respects BYPASS_TOOL_CONSENT (see Tool consent).

agent_core_memory ​

Persistent short- and long-term memory through Bedrock AgentCore — record facts, retrieve by query, and manage session history

Extra: base (AWS)

Environment variables ​

VariableRequiredDefaultDescription
AWS_REGIONyes—AWS region for Bedrock / AgentCore (needed when not already configured in your AWS environment)

mem0_memory ​

Long-term agent memory and user personalization backed by Mem0, with vector search over past interactions

Extra: mem0-memory

Environment variables ​

VariableRequiredDefaultDescription
MEM0_API_KEYyes—Mem0 cloud API key (uses the cloud backend when set)
OPENSEARCH_HOSTyes—OpenSearch host for Mem0 (do not combine with Neptune Analytics graph ID)
NEPTUNE_ANALYTICS_GRAPH_IDENTIFIERyes—Neptune Analytics graph for Mem0 vector storage
NEPTUNE_DATABASE_ENDPOINTyes—Neptune DB endpoint for Mem0
AWS_REGIONyes—AWS region for Bedrock / AgentCore (needed when not already configured in your AWS environment)
MEM0_EMBEDDER_PROVIDERoptionalaws_bedrockEmbedder provider for Mem0
MEM0_EMBEDDER_MODELoptionalamazon.titan-embed-text-v2:0Embedding model for Mem0
MEM0_LLM_PROVIDERoptionalaws_bedrockLLM provider for Mem0
MEM0_LLM_MODELoptionalClaude Haiku defaultLLM model for Mem0
MEM0_LLM_TEMPERATUREoptional0.1LLM temperature for Mem0
MEM0_LLM_MAX_TOKENSoptional2000LLM max tokens for Mem0
OPENSEARCH_COLLECTIONoptionalmem0OpenSearch collection name
NEPTUNE_ANALYTICS_VECTOR_COLLECTIONoptionalmem0Neptune Analytics vector collection name

Also respects BYPASS_TOOL_CONSENT (see Tool consent).

elasticsearch_memory ​

Store and recall agent memory in Elasticsearch with vector similarity search for fast semantic lookup

Extra: elasticsearch-memory

Environment variables ​

VariableRequiredDefaultDescription
ELASTICSEARCH_URL / ELASTICSEARCH_CLOUD_IDyes—Elasticsearch connection URL or cloud ID
ELASTICSEARCH_API_KEYyes—Elasticsearch API key (when your cluster requires it)
ELASTICSEARCH_INDEX_NAMEyes—Elasticsearch index for agent memory

mongodb_memory ​

Store and retrieve agent memory using MongoDB Atlas Vector Search for scalable, document-oriented recall

Extra: mongodb-memory

Environment variables ​

VariableRequiredDefaultDescription
MONGODB_ATLAS_CLUSTER_URIyes—MongoDB Atlas connection URI
MONGODB_DATABASE_NAMEyes—MongoDB database name
MONGODB_COLLECTION_NAMEyes—MongoDB collection name

Examples ​

retrieve ​

Requires OPENAI_API_KEY, AWS credentials, and KNOWLEDGE_BASE_ID.

bash
pip install --extra-index-url https://elsai-agents.elsai.ai/root/ elsai-agents==0.3.5
pip install --extra-index-url https://core-packages.elsai.ai/root/elsai-model/ "elsai-model[openai]==2.1.1"
pip install --extra-index-url https://elsai-agents.elsai.ai/root/ elsai-agents-tools==0.3.0
python
import os

from elsai import Agent
from elsai.agent import AgentConfig
from elsai_model.openai import OpenAIModel
from elsai_tools.retrieve import retrieve

agent = Agent(
    model=OpenAIModel(
        model_id="gpt-4o-mini",
        client_args={"api_key": os.environ["OPENAI_API_KEY"]},
    ),
    tools=[retrieve],
    system_prompt=(
        "Use retrieve to search the knowledge base before answering. "
        "After using tools, answer the user clearly in plain text."
    ),
    config=AgentConfig(name="rag_assistant"),
)

result = agent("What does our knowledge base say about refunds?")
print(result)

mem0_memory ​

Requires OPENAI_API_KEY, MEM0_API_KEY, and the Mem0 extra. For demos set BYPASS_TOOL_CONSENT=true.

bash
pip install --extra-index-url https://elsai-agents.elsai.ai/root/ elsai-agents==0.3.5
pip install --extra-index-url https://core-packages.elsai.ai/root/elsai-model/ "elsai-model[openai]==2.1.1"
pip install --extra-index-url https://elsai-agents.elsai.ai/root/ "elsai-agents-tools[mem0-memory]==0.3.0"
python
import os

from elsai import Agent
from elsai.agent import AgentConfig
from elsai_model.openai import OpenAIModel
from elsai_tools.mem0_memory import mem0_memory

agent = Agent(
    model=OpenAIModel(
        model_id="gpt-4o-mini",
        client_args={"api_key": os.environ["OPENAI_API_KEY"]},
    ),
    tools=[mem0_memory],
    system_prompt=(
        "Use mem0_memory to store and recall user preferences. "
        "After using tools, answer the user clearly in plain text."
    ),
    config=AgentConfig(name="memory_assistant"),
)

result = agent("Remember that my favourite colour is blue, then confirm what you stored.")
print(result)

API reference ​

See RAG and memory API for parameters and import paths.

See also ​

Copyright © 2026 elsai foundry.