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

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
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/docs/concepts/agents" />

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

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

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

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