Feature Configs • AI Agent SDK
Feature Configuration Classes for PraisonAI Agents.
feature_configs
AI Agent
Feature Configuration Classes for PraisonAI Agents.
Provides dataclasses for consolidated feature configuration:
- MemoryConfig: Memory and session management
- KnowledgeConfig: RAG and knowledge retrieval
- PlanningConfig: Planning mode settings
- ReflectionConfig: Self-reflection settings
- GuardrailConfig: Safety and validation
- WebConfig: Web search and fetch
- ToolSearchConfig: Progressive tool disclosure
All configs follow the agent-centric pattern:
- False: Feature disabled (zero overhead)
- True: Feature enabled with safe defaults
- Config: Custom configuration
- Instance: Pre-configured manager/engine
Usage:
from praisonaiagents import Agent, MemoryConfig, KnowledgeConfig, ToolSearchConfig
# Simple enable
agent = Agent(instructions="...", memory=True, tool_search=True)
# With config
agent = Agent(
instructions="...",
memory=MemoryConfig(backend="sqlite", user_id="user123"),
knowledge=KnowledgeConfig(sources=["docs/"], rerank=True),
tool_search=ToolSearchConfig(enabled="auto", threshold_pct=15),
)Import
from praisonaiagents.config import feature_configsClasses
Memory storage backends.
LearnScopeScope for learning data visibility.
LearnModeLearning mode for automatic learning extraction.
LearnBackendStorage backend for learning data.
LearnConfigConfiguration for continuous learning within memory system.
MemoryConfigConfiguration for agent memory and session management.
ChunkingStrategyKnowledge chunking strategies.
KnowledgeConfigConfiguration for RAG and knowledge retrieval.
PlanningConfigConfiguration for planning mode.
ReflectionConfigConfiguration for self-reflection.
RulesConfigConfiguration for auto-applying per-project rules/instructions.
GuardrailActionAction to take when guardrail fails.
GuardrailConfigConfiguration for guardrails and safety validation.
WebSearchProviderWeb search providers.
WebConfigConfiguration for web search and fetch capabilities.
OutputPresetOutput style presets.
OutputConfigConfiguration for agent output behavior.
ExecutionPresetExecution mode presets.
PreCompactionMemoryFlushConfigBounded policy for extracting durable memories before compaction.
ExecutionConfigConfiguration for agent execution limits.
LLMConfigConfiguration for LLM model settings.
ToolConfigConfiguration for tool execution behavior.
TemplateConfigConfiguration for prompt templates.
CachingConfigConfiguration for caching behavior.
HooksConfigConfiguration for agent hooks/callbacks.
SkillsConfigConfiguration for agent skills.
MultiAgentHooksConfigConfiguration for multi-agent orchestration hooks/callbacks.
MultiAgentOutputConfigConfiguration for multi-agent output behavior.
MultiAgentExecutionConfigConfiguration for multi-agent execution limits.
MultiAgentPlanningConfigConfiguration for multi-agent planning mode.
MultiAgentMemoryConfigConfiguration for multi-agent shared memory.
AutonomyLevelAutonomy levels for agent behavior.
RuntimeConfigConfiguration for agent runtime capabilities and requirements.
Functions
Backends `MemoryConfig(backend=...)` accepts, read from the registry.
Normalise a backend name; raise rather than substitute a different store.
resolve_memory()Resolve memory= parameter following precedence ladder.
resolve_knowledge()Resolve knowledge= parameter following precedence ladder.
resolve_planning()Resolve planning= parameter following precedence ladder.
resolve_reflection()Resolve reflection= parameter following precedence ladder.
resolve_guardrails()Resolve guardrails= parameter following precedence ladder.
resolve_web()Resolve web= parameter following precedence ladder.
resolve_caching()Resolve caching= parameter following precedence ladder.
resolve_autonomy()Resolve autonomy= parameter following precedence ladder.
resolve_tools()Resolve tools= parameter following precedence ladder.
canonical_runtime_name()Normalise a runtime name; reject typos but allow genuine plugin names.
resolve_runtime()Resolve runtime= parameter following precedence ladder.
Constants
| Name | Value |
|---|---|
DEFAULT_TOOL_OUTPUT_LIMIT | 16000 |
UNIMPLEMENTED_MEMORY_BACKENDS | ('redis', 'valkey', 'postgres', 'postgresql') |
_TOOL_SEARCH_CONFIG_CACHE | None |