Skip to main content

Module praisonaiagents.config

The config module provides dataclass-based configuration for all agent features. These classes offer type safety, sensible defaults, and IDE autocompletion.

Quick Start

from praisonaiagents.config import (
    MemoryConfig,
    OutputConfig,
    ExecutionConfig,
    PlanningConfig,
)
Or use the namespace style:
import praisonaiagents as pa

config = pa.config.MemoryConfig(user_id="user123")

Configuration Classes


MemoryConfig

Configuration for agent memory and session management.
from praisonaiagents.config import MemoryConfig, MemoryBackend

# Simple usage
config = MemoryConfig(user_id="user123", session_id="session456")

# With backend selection
config = MemoryConfig(
    backend=MemoryBackend.SQLITE,
    user_id="user123",
    session_id="session456",
)

# Usage in Agent
from praisonaiagents import Agent
agent = Agent(
    instructions="...",
    memory=config,
)

Parameters

ParameterTypeDefaultDescription
backendMemoryBackendFILEStorage backend (FILE, SQLITE, REDIS, POSTGRES, MEM0, MONGODB)
user_idstrNoneUser identifier for memory isolation
session_idstrNoneSession identifier
auto_memoryboolFalseEnable automatic memory extraction
claude_memoryboolFalseUse Claude memory format
learnLearnConfigNoneContinuous learning configuration

OutputConfig

Configuration for output formatting and verbosity.
from praisonaiagents.config import OutputConfig

# Verbose output with markdown
config = OutputConfig(
    verbose=True,
    markdown=True,
    show_reasoning=True,
)

# Using presets (simpler)
from praisonaiagents import Agent
agent = Agent(instructions="...", output="verbose")  # Preset string

Parameters

ParameterTypeDefaultDescription
verboseboolFalseEnable verbose output
markdownboolTrueFormat output as markdown
show_reasoningboolFalseShow agent reasoning steps
show_tool_callsboolTrueDisplay tool call details
streamingboolFalseEnable streaming output

Presets

PresetDescription
"silent"Minimal output
"minimal"Basic output only
"actions"Show actions (default)
"verbose"Detailed output

ExecutionConfig

Configuration for agent execution parameters.
from praisonaiagents.config import ExecutionConfig

config = ExecutionConfig(
    max_iter=20,
    max_retry_limit=5,
    timeout=300,
)

# Using presets
from praisonaiagents import Agent
agent = Agent(instructions="...", execution="thorough")

Parameters

ParameterTypeDefaultDescription
max_iterint10Maximum iterations
max_retry_limitint3Maximum retries on failure
timeoutintNoneExecution timeout in seconds
allow_code_executionboolFalseAllow code execution
rate_limitfloatNoneRate limit (requests/second)

Presets

PresetDescription
"fast"Quick execution (max_iter=5)
"balanced"Balanced (max_iter=10)
"thorough"Thorough (max_iter=25)

KnowledgeConfig

Configuration for RAG and knowledge retrieval.
from praisonaiagents.config import KnowledgeConfig

config = KnowledgeConfig(
    sources=["docs/", "data.pdf"],
    retrieval_k=10,
    rerank=True,
)

Parameters

ParameterTypeDefaultDescription
sourcesList[str][]Knowledge source paths
retrieval_kint5Number of chunks to retrieve
retrieval_thresholdfloat0.0Minimum similarity threshold
rerankboolFalseEnable reranking
auto_retrieveboolTrueAutomatic context retrieval

PlanningConfig

Configuration for planning mode.
from praisonaiagents.config import PlanningConfig

config = PlanningConfig(
    llm="gpt-4o",
    auto_approve=False,
    read_only=True,
)

Parameters

ParameterTypeDefaultDescription
llmstrNoneLLM for planning (defaults to agent’s LLM)
toolsListNoneTools available for planning
reasoningboolFalseEnable reasoning in plans
auto_approveboolFalseAuto-approve plans
read_onlyboolFalseOnly read-only operations

ReflectionConfig

Configuration for self-reflection.
from praisonaiagents.config import ReflectionConfig

config = ReflectionConfig(
    min_iterations=1,
    max_iterations=5,
    prompt="Evaluate your response for accuracy...",
)

Parameters

ParameterTypeDefaultDescription
min_iterationsint1Minimum reflection iterations
max_iterationsint3Maximum reflection iterations
llmstrNoneLLM for reflection
promptstrNoneCustom reflection prompt

GuardrailConfig

Configuration for guardrails and safety validation.
from praisonaiagents.config import GuardrailConfig, GuardrailAction

config = GuardrailConfig(
    validator=my_validator_fn,
    max_retries=5,
    on_fail=GuardrailAction.RAISE,
)

Parameters

ParameterTypeDefaultDescription
validatorCallableNoneValidation function
descriptionstrNoneGuardrail description for LLM-based validation
max_retriesint3Maximum retries on failure
on_failGuardrailActionRETRYAction on failure (RETRY, SKIP, RAISE)
policiesList[str][]Policy strings

WebConfig

Configuration for web search capabilities.
from praisonaiagents.config import WebConfig, WebSearchProvider

config = WebConfig(
    provider=WebSearchProvider.TAVILY,
    max_results=10,
)

Parameters

ParameterTypeDefaultDescription
providerWebSearchProviderDUCKDUCKGOSearch provider
max_resultsint5Maximum search results
fetch_contentboolTrueFetch page content

Bool/String/Config Pattern

All config classes follow the “progressive disclosure” pattern:
from praisonaiagents import Agent

# Level 1: Boolean toggle (simplest)
Agent(memory=True)

# Level 2: String preset
Agent(output="verbose")

# Level 3: Config object (full control)
Agent(memory=MemoryConfig(user_id="user123", backend=MemoryBackend.SQLITE))
This pattern applies to: memory, knowledge, planning, reflection, guardrails, web, output, execution, caching, hooks, skills, autonomy.

See Also