Config Module

Feature configuration classes for agent-centric API

Next

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

python
from praisonaiagents import (
    MemoryConfig,
    OutputConfig,
    ExecutionConfig,
    PlanningConfig,
)

Or use the namespace style:

python
import praisonaiagents as pa

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

Configuration Classes


MemoryConfig

Configuration for agent memory and session management.

python
from praisonaiagents 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, CHROMA, MEM0, MONGODB, DAKERA, IN_MEMORY)
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.

python
from praisonaiagents import OutputConfig

# Verbose output with markdown
config = OutputConfig(
    output="verbose",
    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.

python
from praisonaiagents 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_iterint20Maximum iterations
max_retry_limitint2Max retries for retryable tool and guardrail failures
retry_initial_delayfloat1.0First retry delay (seconds)
retry_backoff_factorfloat2.0Exponential backoff multiplier
retry_jitterfloat0.1Jitter fraction of base delay
timeoutintNoneExecution timeout in seconds
code_executionboolFalseEnable code execution
code_modestr"safe"Code execution mode (“safe” or “unsafe”)
code_toolsboolFalseWhen True, model-generated code may call the agent’s registered tools via injected proxies
code_tools_allowOptional[List[str]]NoneExplicit per-run allow-list of tool names callable from code. None/empty = no tools exposed (safe default)
rate_limiterAnyNoneRate limiter instance
allow_code_executionboolFalse⚠️ Deprecated — use code_execution

Presets

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

KnowledgeConfig

Configuration for RAG and knowledge retrieval.

python
from praisonaiagents 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.

python
from praisonaiagents 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.

python
from praisonaiagents 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.

python
from praisonaiagents 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.

python
from praisonaiagents 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:

python
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