> ## 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.

# Query Rewriter Agent • AI Agent SDK

> QueryRewriterAgent: Agent for rewriting queries to improve retrieval quality in RAG applications.

# QueryRewriterAgent

> Defined in the [**Query Rewriter Agent**](https://praison.ai/docs/sdk/reference/praisonaiagents/modules/query_rewriter_agent.md) module.

AI Agent

Agent for rewriting queries to improve retrieval quality in RAG applications.

This agent transforms user queries using various strategies to bridge the gap
between how users ask questions and how information is stored in knowledge bases.

Attributes:
name: Name of the agent
model: LLM model to use for rewriting (alias for llm=)
max\_queries: Maximum number of queries to generate for multi-query strategy
abbreviations: Dictionary of common abbreviations to expand

```mermaid theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#8B0000', 'primaryTextColor': '#fff', 'primaryBorderColor': '#710101', 'lineColor': '#189AB4', 'secondaryColor': '#189AB4', 'tertiaryColor': '#fff' }}}%%

graph LR
    input["Input Data"] --> agent["Agent: QueryRewriterAgent"]
    agent --> output["Output Result"]
    style agent fill:#8B0000,color:#fff
    style input fill:#8B0000,color:#fff
    style output fill:#8B0000,color:#fff
```

## Constructor

**name** `str` (default: 'QueryRewriterAgent')

No description available.

**model** `str` (default: 'gpt-4o-mini')

No description available.

**instructions** `Optional[str]`

No description available.

**verbose** `bool` (default: False)

No description available.

**max\_queries** `int` (default: 5)

No description available.

**abbreviations** `Optional`

No description available.

**temperature** `float` (default: 0.3)

No description available.

**max\_tokens** `int` (default: 500)

No description available.

**tools** `Optional`

No description available.

## Methods

> [card] [agent()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/QueryRewriterAgent-agent.md)
>
> Lazy initialization of internal Agent.

> [card] [rewrite()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/QueryRewriterAgent-rewrite.md)
>
> Rewrite a query using the specified strategy.

> [card] [rewrite\_basic()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/QueryRewriterAgent-rewrite_basic.md)
>
> Convenience method for basic rewriting.

> [card] [rewrite\_hyde()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/QueryRewriterAgent-rewrite_hyde.md)
>
> Convenience method for HyDE rewriting.

> [card] [rewrite\_step\_back()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/QueryRewriterAgent-rewrite_step_back.md)
>
> Convenience method for step-back rewriting.

> [card] [rewrite\_sub\_queries()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/QueryRewriterAgent-rewrite_sub_queries.md)
>
> Convenience method for sub-query decomposition.

> [card] [rewrite\_multi\_query()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/QueryRewriterAgent-rewrite_multi_query.md)
>
> Convenience method for multi-query generation.

> [card] [rewrite\_contextual()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/QueryRewriterAgent-rewrite_contextual.md)
>
> Convenience method for contextual rewriting.

> [card] [add\_abbreviation()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/QueryRewriterAgent-add_abbreviation.md)
>
> Add a custom abbreviation expansion.

> [card] [add\_abbreviations()](https://praison.ai/docs/sdk/reference/praisonaiagents/functions/QueryRewriterAgent-add_abbreviations.md)
>
> Add multiple custom abbreviation expansions.

## Usage

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
agent = QueryRewriterAgent(model="gpt-4o-mini")
    result = agent.rewrite("ML best practices", strategy=RewriteStrategy.MULTI_QUERY)
    for query in result.rewritten_queries:
        print(query)
```

## Source

> [card] [View on GitHub](https://github.com/MervinPraison/PraisonAI/blob/main/src/praisonai-agents/praisonaiagents/agent/query_rewriter_agent.py#L88)
>
> `praisonaiagents/agent/query_rewriter_agent.py` at line 88

***

## Related Documentation

> [card] [Agents Concept](https://praison.ai/docs/docs/concepts/agents)

> [card] [Single Agent Guide](https://praison.ai/docs/docs/guides/single-agent)

> [card] [Multi-Agent Guide](https://praison.ai/docs/docs/guides/multi-agent)

> [card] [Agent Configuration](https://praison.ai/docs/docs/configuration/agent-config)

> [card] [Auto Agents](https://praison.ai/docs/docs/features/autoagents)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.