Skip to main content

Installation

npm install praisonai

Basic Usage

import { AutoAgents } from 'praisonai';

const auto = new AutoAgents();

const team = await auto.generate('Build a web scraper that extracts product prices');

console.log('Agents:', team.agents.length);
console.log('Tasks:', team.tasks.length);
console.log('Pattern:', team.pattern);

With Configuration

import { AutoAgents } from 'praisonai';

const auto = new AutoAgents({
  llm: 'openai/gpt-4o',
  pattern: 'parallel',
  singleAgent: false,
  verbose: true
});

const team = await auto.generate('Create a data pipeline');

Pattern Recommendation

import { AutoAgents } from 'praisonai';

const auto = new AutoAgents();

// Get recommended pattern for a task
const pattern = auto.recommendPattern('Run tasks in parallel');
console.log(pattern); // 'parallel'

const pattern2 = auto.recommendPattern('Route requests to different handlers');
console.log(pattern2); // 'routing'

Complexity Analysis

import { AutoAgents } from 'praisonai';

const auto = new AutoAgents();

const simple = auto.analyzeComplexity('Write code');
console.log(simple); // 'simple'

const complex = auto.analyzeComplexity(
  'Build a multi-step data pipeline with validation, transformation, and multiple output formats'
);
console.log(complex); // 'complex'

Available Patterns

import { AutoAgents } from 'praisonai';

// Sequential - tasks run one after another
const sequential = new AutoAgents({ pattern: 'sequential' });

// Parallel - tasks run simultaneously
const parallel = new AutoAgents({ pattern: 'parallel' });

// Routing - tasks routed based on conditions
const routing = new AutoAgents({ pattern: 'routing' });

// Orchestrator-workers - one agent coordinates others
const orchestrator = new AutoAgents({ pattern: 'orchestrator-workers' });

// Evaluator-optimizer - iterative improvement
const evaluator = new AutoAgents({ pattern: 'evaluator-optimizer' });

Single Agent Mode

import { AutoAgents } from 'praisonai';

const auto = new AutoAgents({ singleAgent: true });

const result = await auto.generate('Simple task');
console.log('Agents:', result.agents.length); // 1

Team Structure

interface TeamStructure {
  agents: AgentConfig[];
  tasks: TaskConfig[];
  pattern: 'sequential' | 'parallel' | 'hierarchical';
}

interface AgentConfig {
  name: string;
  role: string;
  goal: string;
  backstory?: string;
  instructions?: string;
  tools?: string[];
}

interface TaskConfig {
  description: string;
  expectedOutput?: string;
  agent?: string;
}

Factory Function

import { createAutoAgents } from 'praisonai';

const auto = createAutoAgents({
  pattern: 'sequential',
  verbose: true
});