Skip to main content

Installation

npm install praisonai

Basic Usage

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

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'
});