> ## Documentation Index
> Fetch the complete documentation index at: https://praison.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Retrieval Config • AI Agent SDK

> RetrievalConfig: Unified configuration for Agent retrieval behavior.

# RetrievalConfig

> Defined in the [**Retrieval Config**](../modules/retrieval_config) module.

<Badge color="blue">AI Agent</Badge>

Unified configuration for Agent retrieval behavior.

This is the SINGLE configuration surface that replaces:

* knowledge\_config
* rag\_config

Attributes:
enabled: Whether retrieval is enabled (default: True if knowledge provided)
policy: When to retrieve (auto, always, never)
top\_k: Number of chunks to retrieve
min\_score: Minimum relevance score threshold (0.0-1.0)
max\_context\_tokens: Maximum tokens for retrieved context
rerank: Whether to rerank results for better relevance
hybrid: Whether to use hybrid retrieval (dense + keyword)
citations: Whether to include source citations
citations\_mode: How to include citations (append, inline, hidden)

# Vector store configuration

vector\_store\_provider: Vector store provider (chroma, mongodb, etc.)
vector\_store\_config: Provider-specific configuration
collection\_name: Collection/index name
persist\_path: Path for persistent storage

# Embedding configuration

embedder\_provider: Embedding provider
embedder\_model: Embedding model name

# Advanced options

auto\_keywords: Keywords that trigger retrieval in auto mode
auto\_min\_length: Minimum query length for auto retrieval
context\_template: Template for formatting retrieved context
system\_separation: Whether to use system prompt separation for safety

## Properties

<ResponseField name="enabled" type="bool">
  No description available.
</ResponseField>

<ResponseField name="policy" type="RetrievalPolicy">
  No description available.
</ResponseField>

<ResponseField name="top_k" type="int">
  No description available.
</ResponseField>

<ResponseField name="min_score" type="float">
  No description available.
</ResponseField>

<ResponseField name="max_context_tokens" type="int">
  No description available.
</ResponseField>

<ResponseField name="rerank" type="bool">
  No description available.
</ResponseField>

<ResponseField name="hybrid" type="bool">
  No description available.
</ResponseField>

<ResponseField name="citations" type="bool">
  No description available.
</ResponseField>

<ResponseField name="citations_mode" type="CitationsMode">
  No description available.
</ResponseField>

<ResponseField name="model_context_window" type="Optional">
  No description available.
</ResponseField>

<ResponseField name="reserved_response_tokens" type="int">
  No description available.
</ResponseField>

<ResponseField name="dynamic_budget" type="bool">
  No description available.
</ResponseField>

<ResponseField name="strategy" type="str">
  No description available.
</ResponseField>

<ResponseField name="compress" type="bool">
  No description available.
</ResponseField>

<ResponseField name="compression_ratio" type="float">
  No description available.
</ResponseField>

<ResponseField name="include_glob" type="Optional">
  No description available.
</ResponseField>

<ResponseField name="exclude_glob" type="Optional">
  No description available.
</ResponseField>

<ResponseField name="path_filter" type="Optional">
  No description available.
</ResponseField>

<ResponseField name="vector_store_provider" type="str">
  No description available.
</ResponseField>

<ResponseField name="vector_store_config" type="Dict">
  No description available.
</ResponseField>

<ResponseField name="collection_name" type="Optional">
  No description available.
</ResponseField>

<ResponseField name="persist_path" type="str">
  No description available.
</ResponseField>

<ResponseField name="embedder_provider" type="Optional">
  No description available.
</ResponseField>

<ResponseField name="embedder_model" type="Optional">
  No description available.
</ResponseField>

<ResponseField name="auto_keywords" type="frozenset">
  No description available.
</ResponseField>

<ResponseField name="auto_min_length" type="int">
  No description available.
</ResponseField>

<ResponseField name="context_template" type="str">
  No description available.
</ResponseField>

<ResponseField name="system_separation" type="bool">
  No description available.
</ResponseField>

## Methods

<CardGroup cols={2}>
  <Card title="get_token_budget()" icon="function" href="../functions/RetrievalConfig-get_token_budget">
    Get TokenBudget instance for this config.
  </Card>

  <Card title="get_strategy()" icon="function" href="../functions/RetrievalConfig-get_strategy">
    Get retrieval strategy based on config and corpus stats.
  </Card>

  <Card title="to_knowledge_config()" icon="function" href="../functions/RetrievalConfig-to_knowledge_config">
    Convert to Knowledge-compatible config.
  </Card>

  <Card title="to_rag_config()" icon="function" href="../functions/RetrievalConfig-to_rag_config">
    Convert to RAG pipeline config.
  </Card>

  <Card title="should_retrieve()" icon="function" href="../functions/RetrievalConfig-should_retrieve">
    Determine if retrieval should be performed for a query.
  </Card>
</CardGroup>

<Accordion title="Internal & Generic Methods">
  * **from\_dict**: Create from dictionary.
  * **to\_dict**: Convert to dictionary.
</Accordion>

## Source

<Card title="View on GitHub" icon="github" href="https://github.com/MervinPraison/PraisonAI/blob/main/src/praisonai-agents/praisonaiagents/rag/retrieval_config.py#L28">
  `praisonaiagents/rag/retrieval_config.py` at line 28
</Card>

***

## Related Documentation

<CardGroup cols={2}>
  <Card title="Configuration Overview" icon="gear" href="/docs/configuration/index" />

  <Card title="Agent Config" icon="robot" href="/docs/configuration/agent-config" />

  <Card title="Evaluation Concept" icon="gavel" href="/docs/concepts/evaluation" />

  <Card title="LLM as Judge" icon="scale-balanced" href="/docs/features/llm-as-judge" />

  <Card title="Evaluation Loop" icon="rotate" href="/docs/eval/evaluation-loop" />
</CardGroup>
