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

> Query Rewriter Agent Module

# query\_rewriter\_agent

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

Query Rewriter Agent Module

This module provides the QueryRewriterAgent class for transforming user queries
to improve retrieval quality in RAG applications.

Supported Rewriting Strategies:

* **BASIC**: Simple rephrasing for clarity and keyword optimization
* **HYDE**: Hypothetical Document Embeddings - generates a hypothetical answer
* **STEP\_BACK**: Generates higher-level concept questions for complex queries
* **SUB\_QUERIES**: Decomposes multi-part questions into focused sub-queries
* **MULTI\_QUERY**: Generates multiple paraphrased versions for ensemble retrieval
* **CONTEXTUAL**: Uses conversation history to resolve references and context

Example:
from praisonaiagents import QueryRewriterAgent, RewriteStrategy

agent = QueryRewriterAgent()

# Basic rewriting

result = agent.rewrite("AI trends")
print(result.rewritten\_queries)

# HyDE for better semantic matching

result = agent.rewrite("What is quantum computing?", strategy=RewriteStrategy.HYDE)
print(result.hypothetical\_document)

# Contextual with chat history

chat\_history = \[
\{"role": "user", "content": "Tell me about Python"},
\{"role": "assistant", "content": "Python is a programming language..."}
]
result = agent.rewrite("What about its performance?", chat\_history=chat\_history)

# With search tools for context-aware rewriting

from praisonaiagents.tools import internet\_search
agent = QueryRewriterAgent(tools=\[internet\_search])
result = agent.rewrite("latest AI developments")  # Searches first, then rewrites

## Import

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
from praisonaiagents.agent import query_rewriter_agent
```

## Classes

<CardGroup cols={2}>
  <Card title="RewriteStrategy" icon="brackets-curly" href="../classes/RewriteStrategy">
    Enumeration of available query rewriting strategies.
  </Card>

  <Card title="RewriteResult" icon="brackets-curly" href="../classes/RewriteResult">
    Result of a query rewriting operation.
  </Card>

  <Card title="QueryRewriterAgent" icon="brackets-curly" href="../classes/QueryRewriterAgent">
    Agent for rewriting queries to improve retrieval quality in RAG applications.
  </Card>
</CardGroup>

***

## Related Documentation

<CardGroup cols={2}>
  <Card title="Agents Concept" icon="robot" href="/docs/concepts/agents" />

  <Card title="Single Agent Guide" icon="book-open" href="/docs/guides/single-agent" />

  <Card title="Multi-Agent Guide" icon="users" href="/docs/guides/multi-agent" />

  <Card title="Agent Configuration" icon="gear" href="/docs/configuration/agent-config" />

  <Card title="Auto Agents" icon="wand-magic-sparkles" href="/docs/features/autoagents" />
</CardGroup>
