Query Rewriter Agent
Optimize and rewrite queries for better results
Agents can rewrite queries for better search and retrieval results.
Quick Start
- Simple Usage
typescript 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 import { QueryRewriterAgent } from 'praisonai'; const agent = new QueryRewriterAgent({ name: 'QueryOptimizer', llm: 'openai/gpt-4o', defaultStrategy: 'expand', verbose: true });
Rewrite Strategies
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
interface RewriteResult {
original: string; // Original query
rewritten: string[]; // Rewritten versions
strategy: RewriteStrategy; // Strategy used
confidence: number; // Confidence score
}Multiple Rewrites
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
import { createQueryRewriterAgent } from 'praisonai';
const agent = createQueryRewriterAgent({
name: 'Optimizer',
defaultStrategy: 'expand'
});