Skip to content

Memory & Integrations API Reference ​

This page documents the API signatures, constructor parameters, and configuration options for building agentic memory pipelines, embedding clients, and vector database clients.

Installation ​

API areaExtra
build_agent_with_memory, MemoryConfig, pipeline steps (trim, LRU, TTL, …)elsai-chat-history
build_embedding_client, EmbeddingBackendConfigelsai-embeddings
build_vectordb_client, VectorBackendConfigelsai-vectordb
SimilarityRetrievalConfig, SemanticMemoryConfigelsai-memory
build_semantic_strategy, build_semantic_strategy_from_envelsai-memory
build_similarity_config, build_similarity_config_from_envelsai-memory
bash
pip install --extra-index-url https://elsai-agents.elsai.ai/root/ "elsai-agents[elsai-chat-history]==0.3.5"
pip install --extra-index-url https://elsai-agents.elsai.ai/root/ "elsai-agents[elsai-embeddings]==0.3.5"
pip install --extra-index-url https://elsai-agents.elsai.ai/root/ "elsai-agents[elsai-vectordb]==0.3.5"
pip install --extra-index-url https://elsai-agents.elsai.ai/root/ "elsai-agents[elsai-memory]==0.3.5"

See Memory Overview and Installation — Memory integrations.


build_agent_with_memory ​

A builder function to instantiate a fully configured Agent equipped with custom memory pipelines and optional context injection hooks.

python
from elsai.integrations.memory import build_agent_with_memory

agent = build_agent_with_memory(
    config=memory_config,
    model=model_instance,
    tools=list_of_tools,
    system_prompt="Your prompt here",
)

Parameters ​

  • config (MemoryConfig): The memory, persistence, and pipeline configurations.
  • model (Model): Standalone model connector.
  • tools (list[Any] | None): Optional tool functions/objects. Default: None.
  • system_prompt (str | None): Optional core agent system instructions. Default: None.
  • extra_hooks (list[HookProvider] | None): Additional agent lifecycle hooks. Default: None.
  • agent_config (AgentConfig | None): Optional AgentConfig forwarded as Agent(config=). Default: None. Do not pass MemoryConfig here — that stays on config=.
  • **agent_kwargs: Any additional keyword arguments are forwarded directly to the core Agent constructor.

build_semantic_strategy ​

Builds a semantic-memory strategy from an LLM, embedding backend, and vector database. Pass the result as MemoryConfig.semantic_strategy. Requires "elsai-agents[elsai-memory]==0.3.5".

python
from elsai.integrations.embeddings import EmbeddingBackendConfig
from elsai.integrations.vectordb import VectorBackendConfig
from elsai.integrations.memory import build_semantic_strategy

strategy = build_semantic_strategy(
    llm=model,
    embedding=EmbeddingBackendConfig(provider="azure"),
    vector=VectorBackendConfig(
        provider="chroma",
        collection_name="semantic_memory",
        persist_directory="./chroma_semantic",
    ),
    trigger_count=2,
)

Parameters ​

ParameterTypeDefaultDescription
llmAny(required)Live model used only for fact extraction
embeddingEmbeddingBackendConfig(required)Embedding backend settings
vectorVectorBackendConfig(required)Vector database backend settings
trigger_countint7Extract facts when the message count is a multiple of this
collection_namestr | NoneNoneChroma or Weaviate collection override
namespacestr | NoneNonePinecone namespace override (falls back to PINECONE_NAMESPACE)
top_kint5Number of similar facts to retrieve
similarity_thresholdfloat0.8Minimum similarity for fact retrieval

build_semantic_strategy_from_env ​

Same builder, with providers taken from the environment (VECTOR_DB_PROVIDER, EMBEDDING_PROVIDER, and provider-specific credentials). Requires "elsai-agents[elsai-memory]==0.3.5".

python
from elsai.integrations.memory import build_semantic_strategy_from_env

strategy = build_semantic_strategy_from_env(llm=model)

Parameters ​

ParameterTypeDefaultDescription
llmAny(required)Live model used for fact extraction
trigger_countint7Extract facts when the message count is a multiple of this
top_kint5Number of similar facts to retrieve
similarity_thresholdfloat0.8Minimum similarity for fact retrieval
vector_providerLiteral["chroma", "pinecone", "weaviate"] | NoneNoneOverride VECTOR_DB_PROVIDER
embedding_providerLiteral["azure", "bedrock"] | NoneNoneOverride EMBEDDING_PROVIDER
collection_namestr | NoneNoneChroma or Weaviate collection override
namespacestr | NoneNonePinecone namespace override (falls back to PINECONE_NAMESPACE)

build_similarity_config ​

Builds a similarity_config dict from an embedding backend and vector database. Pass the result as SimilarityRetrievalConfig.similarity_config or ElsaiSimilarityStep.similarity_config. Requires "elsai-agents[elsai-memory]==0.3.5".

python
from elsai.integrations.embeddings import EmbeddingBackendConfig
from elsai.integrations.vectordb import VectorBackendConfig
from elsai.integrations.memory import build_similarity_config

similarity_setup = build_similarity_config(
    embedding=EmbeddingBackendConfig(provider="azure"),
    vector=VectorBackendConfig(
        provider="chroma",
        collection_name="agent_history",
        persist_directory="./chroma_similarity",
    ),
    top_k=3,
)

Parameters ​

ParameterTypeDefaultDescription
embeddingEmbeddingBackendConfig(required)Embedding backend settings
vectorVectorBackendConfig(required)Vector database backend settings
top_kint5Number of similar messages to retrieve

build_similarity_config_from_env ​

Same builder, with providers taken from the environment (VECTOR_DB_PROVIDER, EMBEDDING_PROVIDER, and provider-specific credentials). Requires "elsai-agents[elsai-memory]==0.3.5".

python
from elsai.integrations.memory import build_similarity_config_from_env

similarity_setup = build_similarity_config_from_env(top_k=3)

Parameters ​

ParameterTypeDefaultDescription
top_kint5Number of similar messages to retrieve
vector_providerLiteral["chroma", "pinecone", "weaviate"] | NoneNoneOverride VECTOR_DB_PROVIDER
embedding_providerLiteral["azure", "bedrock"] | NoneNoneOverride EMBEDDING_PROVIDER
collection_namestr | NoneNoneChroma or Weaviate collection override
namespacestr | NoneNonePinecone namespace override (falls back to PINECONE_NAMESPACE)

MemoryConfig ​

A configuration dataclass detailing session storage and context engineering.

python
from elsai.integrations.memory import MemoryConfig
ParameterTypeDefaultDescription
run_idstr(required)Unique run or session identifier
rolestr"default"Logical agent role name (appended to session key)
pipelinelist[PipelineStep][elsaiTrimmingStep()]Ordered list of conversation manager sizing steps
persistenceLiteral["elsai_json", "elsai_file"]"elsai_json"Storage backend medium
elsai_store_dirPathPath("elsai_sessions")Store path for persistent JSON files
file_store_dirPathPath("elsai_file_sessions")Directory for native file-session logs
summarizer_llmAny | NoneNoneLanguage model used for summarization steps
semantic_strategyAny | NoneNoneAbstract memory management strategies
similaritySimilarityRetrievalConfig | NoneNoneSimilarity retrieval hook config
semanticSemanticMemoryConfig | NoneNoneSemantic memory hook config
multiagent_modestr"single"Operational context validation hint

EmbeddingBackendConfig ​

Settings passed to build_embedding_client to create text embedding instances.

python
from elsai.integrations.embeddings import EmbeddingBackendConfig
ParameterTypeDefaultDescription
providerLiteral["azure", "bedrock"](required)Semantic embedding service name
modelstr | NoneNoneAzure OpenAI model identifier
azure_api_keystr | NoneNoneAzure OpenAI API key
azure_endpointstr | NoneNoneAzure OpenAI endpoint URL
azure_api_versionstr | NoneNoneAzure API version identifier
azure_deploymentstr | NoneNoneAzure model deployment name
aws_access_key_idstr | NoneNoneAWS access key ID
aws_secret_access_keystr | NoneNoneAWS secret access key
aws_session_tokenstr | NoneNoneOptional AWS session token
aws_regionstr | NoneNoneAWS region name (e.g. us-east-1)
model_namestr | NoneNoneBedrock embedding model name

VectorBackendConfig ​

Settings passed to build_vectordb_client to configure semantic persistence databases.

python
from elsai.integrations.vectordb import VectorBackendConfig
ParameterTypeDefaultDescription
providerLiteral["chroma", "pinecone", "weaviate"](required)Vector database platform name
collection_namestr | NoneNoneTarget collection or class name
persist_directorystr | NoneNoneChroma filesystem database location
index_namestr | NoneNonePinecone global index name
namespacestr | NoneNonePinecone query namespace
dimensionint | NoneNoneInput vector size dimension
connection_typestr | NoneNoneWeaviate context type ("local" or "cloud")
hoststr | NoneNoneWeaviate local host
portint | NoneNoneWeaviate local port
cluster_urlstr | NoneNoneWeaviate cloud cluster URL
auth_credentialsAny | NoneNoneWeaviate cloud authentication API key
use_default_vectorizerboolFalseUse native Weaviate embedding modules

SimilarityRetrievalConfig ​

Defines how historical context matching user input is searched and injected during execution.

python
from elsai.integrations.memory import SimilarityRetrievalConfig
ParameterTypeDefaultDescription
similarity_configdict | NoneNoneConnection map (vectordb & embeddings setup)
top_kint5Quantity of matched historical messages to query
injection_modeLiteral["system_append", "user_preamble"]"system_append"Context injection location
metadata_filterdict | NoneNoneField-based metadata query filters

SemanticMemoryConfig ​

Configures retrieval and consolidation of abstract user facts across multi-session contexts.

python
from elsai.integrations.memory import SemanticMemoryConfig
ParameterTypeDefaultDescription
user_id_keystr"user_id"Metadata lookup key for user identification
injection_modeLiteral["system_append", "user_preamble"]"system_append"Context injection location
query_from_last_user_messageboolTrueExtract search queries from the user's latest statement

Copyright © 2026 elsai foundry.