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

# Query Rewriter Agent

> Optimize and rewrite queries for better results

## Installation

```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
npm install praisonai
```

## Basic Usage

```typescript theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
import { QueryRewriterAgent } from 'praisonai';

const agent = new QueryRewriterAgent();

const result = await agent.rewrite('how to code');

console.log('Original:', result.original);
console.log('Rewritten:', result.rewritten);
console.log('Strategy:', result.strategy);
```

## With Configuration

```typescript theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
import { QueryRewriterAgent } from 'praisonai';

const agent = new QueryRewriterAgent({
  name: 'QueryOptimizer',
  llm: 'openai/gpt-4o',
  defaultStrategy: 'expand',
  verbose: true
});
```

## Rewrite Strategies

```typescript theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
import { QueryRewriterAgent } from 'praisonai';

const agent = new QueryRewriterAgent();

// Expand - add more context
const expanded = await agent.rewrite('AI', 'expand');

// Simplify - reduce complexity
const simplified = await agent.rewrite('complex query with many terms', 'simplify');

// Decompose - break into sub-queries
const decomposed = await agent.rewrite('AI and ML and DL', 'decompose');

// Rephrase - same meaning, different words
const rephrased = await agent.rewrite('how to learn coding', 'rephrase');

// Auto - detect best strategy
const auto = await agent.rewrite('some query', 'auto');
```

## Result Structure

```typescript theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
interface RewriteResult {
  original: string;       // Original query
  rewritten: string[];    // Rewritten versions
  strategy: RewriteStrategy;  // Strategy used
  confidence: number;     // Confidence score
}
```

## Multiple Rewrites

```typescript theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
import { QueryRewriterAgent } from 'praisonai';

const agent = new QueryRewriterAgent();

const result = await agent.rewrite('machine learning basics');

// Get all rewritten versions
result.rewritten.forEach((query, i) => {
  console.log(`Version ${i + 1}: ${query}`);
});
```

## Factory Function

```typescript theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
import { createQueryRewriterAgent } from 'praisonai';

const agent = createQueryRewriterAgent({
  name: 'Optimizer',
  defaultStrategy: 'expand'
});
```
