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

# Complete Reference

> Comprehensive reference documentation for PraisonAI including all features, diagrams, and examples.

<div className="flex justify-start w-full max-w-xs sm:max-w-sm md:max-w-md">
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/praisonai/docs/developers/images/praisonai-logo-black.png" alt="PraisonAI Logo" className="w-full h-auto rounded-lg shadow-md block dark:hidden" width="400" height="100" />

  <img src="https://mintlify.s3.us-west-1.amazonaws.com/praisonai/docs/developers/images/praisonai-logo-light.png" alt="PraisonAI Logo" className="w-full h-auto rounded-lg shadow-md hidden dark:block" width="400" height="100" />
</div>

<div style={{ display: 'flex', flexWrap: 'wrap', gap: '1rem' }}>
  <div className="hover:opacity-80 transition-opacity">
    <img src="https://static.pepy.tech/badge/PraisonAI" alt="Total Downloads" />
  </div>

  <div className="hover:opacity-80 transition-opacity">
    <img src="https://img.shields.io/github/stars/MervinPraison/PraisonAI?style=social" alt="GitHub Stars" />
  </div>

  <div className="hover:opacity-80 transition-opacity">
    <img src="https://img.shields.io/github/forks/MervinPraison/PraisonAI?style=social" alt="GitHub Forks" />
  </div>
</div>

<a href="https://trendshift.io/repositories/9130" target="_blank">
  <img src="https://trendshift.io/api/badge/repositories/9130" alt="MervinPraison/PraisonAI | Trendshift" />
</a>

## Key Features

<CardGroup cols={2}>
  <Card title="AI Agents Creation" icon="robot">
    Automated creation and management of AI agents with self-reflection capabilities
  </Card>

  <Card title="Workflow Patterns" icon="diagram-project">
    Sequential, parallel, hierarchical, and custom workflow orchestration
  </Card>

  <Card title="LLM Support" icon="brain">
    Support for 100+ Language Learning Models
  </Card>

  <Card title="Code Integration" icon="code">
    Chat with your entire codebase using advanced context understanding
  </Card>

  <Card title="Interactive UI" icon="desktop">
    Rich, interactive user interfaces for better control and monitoring
  </Card>

  <Card title="Configuration" icon="gear">
    YAML-based configuration for easy setup and customization
  </Card>

  <Card title="Tool Integration" icon="screwdriver-wrench">
    Custom tool integration for extended functionality
  </Card>

  <Card title="Search Capability" icon="magnifying-glass">
    Internet search using Crawl4AI and Tavily
  </Card>
</CardGroup>

## Install

<Tabs>
  <Tab title="Code">
    <Steps>
      <Step title="Install Package">
        ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
        pip install praisonaiagents
        ```
      </Step>

      <Step title="Set API Key">
        ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
        export OPENAI_API_KEY=xxxxxxxxxxxxxxxxxxxxxx
        ```
      </Step>

      <Step title="Create File">
        Create `app.py` file

        ## Code Example

        <CodeGroup>
          ```python Single Agent theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
          from praisonaiagents import Agent

          agent = Agent(instructions="Your are a helpful AI assistant")
          agent.start("Write a movie script about a robot in Mars")
          ```

          ```python Multi Agents theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
          from praisonaiagents import Agent, AgentTeam

          research_agent = Agent(instructions="Research about AI")
          summarise_agent = Agent(instructions="Summarise research agent's findings")

          agents = AgentTeam(agents=[research_agent, summarise_agent])
          agents.start()
          ```
        </CodeGroup>
      </Step>

      <Step title="Run Script">
        ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
        python app.py
        ```
      </Step>
    </Steps>
  </Tab>

  <Tab title="No Code">
    <Steps>
      <Step title="Install Package">
        Install the No Code PraisonAI Package:

        ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
        pip install praisonaiagents
        ```
      </Step>

      <Step title="Set API Key">
        ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
        export OPENAI_API_KEY=your_openai_key
        ```
      </Step>

      <Step title="Create Config">
        Create `agents.yaml`:

        <CodeGroup>
          ```yaml Single Agent theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
          agents:  # Canonical
            summarise_agent:
              instructions: Summarise Photosynthesis
          ```

          ```yaml Multiple Agents theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
          agents:  # Canonical
            diet_agent:
              instructions: Give me 5 healthy food recipes
            blog_agent:
              instructions: Write a blog post about the food recipes
          ```
        </CodeGroup>

        <Note>
          You can automatically create `agents.yaml` using:

          ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
          praisonai --init "your task description"
          ```
        </Note>
      </Step>

      <Step title="Run Agents">
        Execute your config:

        ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
        praisonai agents.yaml
        ```
      </Step>
    </Steps>
  </Tab>

  <Tab title="JavaScript">
    <Steps>
      <Step title="Install Package">
        ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
        npm install praisonai
        ```
      </Step>

      <Step title="Set API Key">
        ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
        export OPENAI_API_KEY=xxxxxxxxxxxxxxxxxxxxxx
        ```
      </Step>

      <Step title="Create File">
        Create `app.js` file

        ## Code Example

        <CodeGroup>
          ```javascript Single Agent theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
          const { Agent } = require('praisonai');
          const agent = new Agent({ instructions: 'You are a helpful AI assistant' });
          agent.start('Write a movie script about a robot in Mars');
          ```

          ```javascript Multi AgentTeam theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
          const { Agent, AgentTeam } = require('praisonai');

          const researchAgent = new Agent({ instructions: 'Research about AI' });
          const summariseAgent = new Agent({ instructions: 'Summarise research agent\'s findings' });

          const agents = new AgentTeam({ agents: [researchAgent, summariseAgent] });
          agents.start();
          ```
        </CodeGroup>
      </Step>

      <Step title="Run Script">
        ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
        node app.js
        ```
      </Step>
    </Steps>
  </Tab>

  <Tab title="TypeScript">
    <Steps>
      <Step title="Install Package">
        <CodeGroup>
          ```bash npm theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
          npm install praisonai
          ```

          ```bash yarn theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
          yarn add praisonai
          ```
        </CodeGroup>
      </Step>

      <Step title="Set API Key">
        ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
        export OPENAI_API_KEY=xxxxxxxxxxxxxxxxxxxxxx
        ```
      </Step>

      <Step title="Create File">
        Create `app.ts` file

        ## Code Example

        <CodeGroup>
          ```javascript Single Agent theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
          import { Agent } from 'praisonai';

          const agent = new Agent({ 
            instructions: `You are a creative writer who writes short stories with emojis.`,
            name: "StoryWriter"
          });

          agent.start("Write a story about a time traveler")
          ```

          ```javascript Multi AgentTeam theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
          import { Agent, AgentTeam } from 'praisonai';

          const storyAgent = new Agent({
            instructions: "Generate a very short story (2-3 sentences) about artificial intelligence with emojis.",
            name: "StoryAgent"
          });

          const summaryAgent = new Agent({
            instructions: "Summarize the provided AI story in one sentence with emojis.",
            name: "SummaryAgent"
          });

          const agents = new AgentTeam({
            agents: [storyAgent, summaryAgent]
          });

          agents.start()
          ```
        </CodeGroup>
      </Step>

      <Step title="Run Script">
        ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
        npx ts-node app.ts
        ```
      </Step>
    </Steps>
  </Tab>
</Tabs>

***

## How Execution Works

PraisonAI offers multiple ways to run AI agents. Choose the approach that fits your use case.

### 1. Agent Execution

The simplest way to run AI—create an agent and give it a task.

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
from praisonaiagents import Agent

agent = Agent(instructions="You are a helpful assistant")
agent.start("Summarize the latest AI news")
```

```mermaid theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
flowchart LR
    User[User Input] --> Agent[AI Agent]
    Agent --> LLM[LLM Call]
    LLM --> Tools{Use Tools?}
    Tools -->|Yes| Tool[Execute Tool]
    Tool --> LLM
    Tools -->|No| Response[Response]
    Response --> User
    
    style User fill:#8B0000,color:#fff
    style Agent fill:#189AB4,color:#fff
    style LLM fill:#2E8B57,color:#fff
    style Tools fill:#2E8B57,color:#fff
    style Tool fill:#2E8B57,color:#fff
    style Response fill:#8B0000,color:#fff
```

<Card title="Learn more about Agents" icon="robot" href="/docs/agents/agents">
  Create single agents, configure instructions, add tools, and enable memory.
</Card>

### 2. Workflow Execution

For complex tasks, use **workflows** to chain multiple agents together.

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
from praisonaiagents import Agent, AgentFlow

researcher = Agent(name="Researcher", instructions="Research topics")
writer = Agent(name="Writer", instructions="Write content")

workflow = AgentFlow(steps=[researcher, writer])
result = workflow.start("Write an article about AI trends")
```

```mermaid theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
flowchart LR
    Input[Input] --> Step1[Agent 1]
    Step1 --> Step2[Agent 2]
    Step2 --> Step3[Agent 3]
    Step3 --> Output[Output]
    
    subgraph Patterns[Workflow Patterns]
        direction TB
        P1[Sequential]
        P2[Parallel]
        P3[Routing]
        P4[Loop]
    end
    
    style Input fill:#8B0000,color:#fff
    style Step1 fill:#189AB4,color:#fff
    style Step2 fill:#189AB4,color:#fff
    style Step3 fill:#189AB4,color:#fff
    style Output fill:#8B0000,color:#fff
    style Patterns fill:#2E8B57,color:#fff
```

<Card title="Learn more about Workflows" icon="diagram-project" href="/docs/features/workflows">
  Build multi-step workflows with routing, parallel execution, loops, and conditionals.
</Card>

### 3. Agent Recipes

**Recipes** are pre-built, production-ready AI tools you can run instantly. 55+ recipes available.

```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
# List available recipes
praisonai recipe list

# Run a recipe
praisonai recipe run ai-blog-generator --input '{"topic": "AI trends"}'
```

```mermaid theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
flowchart LR
    subgraph Discovery[Recipe Discovery]
        Custom[Custom Recipes]
        Local[~/.praisonai/templates]
        Builtin[Built-in Recipes]
    end
    
    Discovery --> Runner[Recipe Runner]
    Runner --> Validate[Validate Input]
    Validate --> Execute[Execute]
    Execute --> Output[JSON Output]
    
    style Discovery fill:#189AB4,color:#fff
    style Runner fill:#2E8B57,color:#fff
    style Validate fill:#2E8B57,color:#fff
    style Execute fill:#2E8B57,color:#fff
    style Output fill:#8B0000,color:#fff
```

<Card title="Browse Agent Recipes" icon="wand-magic-sparkles" href="/docs/examples/agent-recipes/index">
  55+ production-ready AI tools for video, documents, images, code, and more.
</Card>

### 4. Custom Tools

Extend agent capabilities by creating **custom tools**.

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
from praisonaiagents import Agent

def search_web(query: str) -> str:
    """Search the web for information."""
    return f"Results for: {query}"

agent = Agent(
    instructions="You are a research assistant",
    tools=[search_web]
)
agent.start("Find the latest news about Python")
```

```mermaid theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
flowchart TB
    Agent[AI Agent] --> Decision{Need External Data?}
    Decision -->|Yes| SelectTool[Select Tool]
    SelectTool --> Execute[Execute Tool]
    Execute --> Result[Tool Result]
    Result --> Agent
    Decision -->|No| Response[Generate Response]
    
    subgraph ToolTypes[Tool Types]
        direction LR
        T1[Search]
        T2[File I/O]
        T3[Database]
        T4[API Calls]
    end
    
    style Agent fill:#189AB4,color:#fff
    style Decision fill:#2E8B57,color:#fff
    style SelectTool fill:#2E8B57,color:#fff
    style Execute fill:#2E8B57,color:#fff
    style Result fill:#2E8B57,color:#fff
    style Response fill:#8B0000,color:#fff
    style ToolTypes fill:#189AB4,color:#fff
```

<Card title="Learn more about Tools" icon="wrench" href="/docs/tools/custom">
  Create custom tools, use built-in tools, and integrate with external APIs.
</Card>

***

## Feature Map

### Python SDK (praisonaiagents)

<CardGroup cols={3}>
  <Card title="Single Agent" icon="user" href="/docs/agents/single">
    Create a single AI agent
  </Card>

  <Card title="Multi Agents" icon="users" href="/docs/agents/agents">
    Coordinate multiple agents
  </Card>

  <Card title="Workflows" icon="diagram-project" href="/docs/features/workflows">
    Build multi-step pipelines
  </Card>

  <Card title="Memory" icon="brain" href="/docs/features/advanced-memory">
    Persistent agent memory
  </Card>

  <Card title="Knowledge/RAG" icon="book" href="/docs/features/rag">
    Document retrieval
  </Card>

  <Card title="Guardrails" icon="shield" href="/docs/features/guardrails">
    Safety and validation
  </Card>
</CardGroup>

### Tools Ecosystem

<CardGroup cols={3}>
  <Card title="Web Search" icon="magnifying-glass" href="/docs/tools/web-search">
    Search the internet
  </Card>

  <Card title="File Tools" icon="file" href="/docs/tools/file_tools">
    Read/write files
  </Card>

  <Card title="Code Execution" icon="code" href="/docs/tools/python_tools">
    Run Python code
  </Card>

  <Card title="Database Tools" icon="database" href="/docs/tools/duckdb_tools">
    Query databases
  </Card>

  <Card title="Custom Tools" icon="wrench" href="/docs/tools/custom">
    Build your own
  </Card>

  <Card title="All Tools" icon="toolbox" href="/docs/tools/tools">
    Browse all tools
  </Card>
</CardGroup>

### MCP (Model Context Protocol)

<CardGroup cols={3}>
  <Card title="MCP Overview" icon="plug" href="/docs/mcp/transports">
    What is MCP?
  </Card>

  <Card title="Stdio Transport" icon="terminal" href="/docs/mcp/stdio">
    Local process communication
  </Card>

  <Card title="SSE Transport" icon="wifi" href="/docs/mcp/sse">
    HTTP streaming
  </Card>

  <Card title="GitHub MCP" icon="github" href="/docs/mcp/github">
    GitHub integration
  </Card>

  <Card title="Custom MCP" icon="code" href="/docs/mcp/custom">
    Build MCP servers
  </Card>

  <Card title="PraisonAI MCP Server" icon="server" href="/docs/mcp/praisonai-mcp-server">
    Expose agents via MCP
  </Card>
</CardGroup>

### Deploy

<CardGroup cols={3}>
  <Card title="Deploy Overview" icon="cloud" href="/docs/deploy/index">
    Deployment options
  </Card>

  <Card title="Agents Server" icon="server" href="/docs/deploy/servers/agents">
    HTTP API for agents
  </Card>

  <Card title="MCP Server" icon="plug" href="/docs/deploy/servers/tools-mcp">
    Deploy as MCP server
  </Card>

  <Card title="A2A Protocol" icon="arrows-left-right" href="/docs/deploy/servers/a2a">
    Agent-to-agent communication
  </Card>

  <Card title="Docker" icon="docker" href="/docs/deploy/cli/docker">
    Container deployment
  </Card>

  <Card title="Cloud Deploy" icon="cloud-arrow-up" href="/docs/deploy/cli/aws">
    AWS, Azure, GCP
  </Card>
</CardGroup>

### JavaScript/TypeScript SDK

<CardGroup cols={3}>
  <Card title="JS Overview" icon="js" href="/docs/js/js">
    Getting started
  </Card>

  <Card title="TypeScript" icon="code" href="/docs/js/typescript">
    TypeScript guide
  </Card>

  <Card title="Agent API" icon="robot" href="/docs/js/agent">
    Create agents
  </Card>

  <Card title="Tools" icon="wrench" href="/docs/js/tools">
    Add tools
  </Card>

  <Card title="Memory" icon="brain" href="/docs/js/memory">
    Agent memory
  </Card>

  <Card title="Workflows" icon="diagram-project" href="/docs/js/workflows">
    Multi-step workflows
  </Card>
</CardGroup>

***

## CLI at a Glance

```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
# Install CLI
pip install praisonai

# Run an agent with a prompt
praisonai "Summarize the latest AI news"

# Run agents from YAML config
praisonai agents.yaml

# Start interactive mode
praisonai --auto

# Deep research mode
praisonai --deep-research "What are the latest AI trends?"

# List available recipes
praisonai recipe list

# Start agent server
praisonai serve
```

| Command                     | Description           |
| --------------------------- | --------------------- |
| `praisonai "prompt"`        | Run agent with prompt |
| `praisonai agents.yaml`     | Run from YAML config  |
| `praisonai --auto`          | Interactive auto mode |
| `praisonai --deep-research` | Deep research mode    |
| `praisonai recipe list`     | List recipes          |
| `praisonai recipe run`      | Run a recipe          |
| `praisonai serve`           | Start HTTP server     |
| `praisonai mcp list`        | List MCP servers      |

<Card title="Full CLI Reference" icon="terminal" href="/docs/cli/cli-reference">
  Complete documentation for all CLI commands and options.
</Card>

***

## AI Agents Flow

```mermaid theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
graph LR
    %% Define the main flow
    Start([▶ Start]) --> Agent1
    Agent1 --> Process[⚙ Process]
    Process --> Agent2
    Agent2 --> Output([✓ Output])
    Process -.-> Agent1
    
    %% Define subgraphs for agents and their tasks
    subgraph Agent1[ ]
        Task1[📋 Task]
        AgentIcon1[🤖 AI Agent]
        Tools1[🔧 Tools]
        
        Task1 --- AgentIcon1
        AgentIcon1 --- Tools1
    end
    
    subgraph Agent2[ ]
        Task2[📋 Task]
        AgentIcon2[🤖 AI Agent]
        Tools2[🔧 Tools]
        
        Task2 --- AgentIcon2
        AgentIcon2 --- Tools2
    end

    classDef input fill:#8B0000,stroke:#7C90A0,color:#fff
    classDef process fill:#189AB4,stroke:#7C90A0,color:#fff
    classDef tools fill:#2E8B57,stroke:#7C90A0,color:#fff
    classDef transparent fill:none,stroke:none

    class Start,Output,Task1,Task2 input
    class Process,AgentIcon1,AgentIcon2 process
    class Tools1,Tools2 tools
    class Agent1,Agent2 transparent
```

## AI Agents with Tools

Create AI agents that can use tools to interact with external systems and perform actions.

```mermaid theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
flowchart TB
    subgraph Tools
        direction TB
        T3[Internet Search]
        T1[Code Execution]
        T2[Formatting]
    end

    Input[Input] ---> Agents
    subgraph Agents
        direction LR
        A1[Agent 1]
        A2[Agent 2]
        A3[Agent 3]
    end
    Agents ---> Output[Output]

    T3 --> A1
    T1 --> A2
    T2 --> A3

    style Tools fill:#189AB4,color:#fff
    style Agents fill:#8B0000,color:#fff
    style Input fill:#8B0000,color:#fff
    style Output fill:#8B0000,color:#fff
```

## AI Agents with Memory

Create AI agents with memory capabilities for maintaining context and information across tasks.

```mermaid theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
flowchart TB
    subgraph Memory
        direction TB
        STM[Short Term]
        LTM[Long Term]
    end

    subgraph Store
        direction TB
        DB[(Vector DB)]
    end

    Input[Input] ---> Agents
    subgraph Agents
        direction LR
        A1[Agent 1]
        A2[Agent 2]
        A3[Agent 3]
    end
    Agents ---> Output[Output]

    Memory <--> Store
    Store <--> A1
    Store <--> A2
    Store <--> A3

    style Memory fill:#189AB4,color:#fff
    style Store fill:#2E8B57,color:#fff
    style Agents fill:#8B0000,color:#fff
    style Input fill:#8B0000,color:#fff
    style Output fill:#8B0000,color:#fff
```

## AI Agents with Different Processes

### Sequential Process

The simplest form of task execution where tasks are performed one after another.

```mermaid theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
graph LR
    Input[Input] --> A1
    subgraph Agents
        direction LR
        A1[Agent 1] --> A2[Agent 2] --> A3[Agent 3]
    end
    A3 --> Output[Output]

    classDef input fill:#8B0000,stroke:#7C90A0,color:#fff
    classDef process fill:#189AB4,stroke:#7C90A0,color:#fff
    classDef transparent fill:none,stroke:none

    class Input,Output input
    class A1,A2,A3 process
    class Agents transparent
```

### Hierarchical Process

Uses a manager agent to coordinate task execution and agent assignments.

```mermaid theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
graph TB
    Input[Input] --> Manager
    
    subgraph Agents
        Manager[Manager Agent]
        
        subgraph Workers
            direction LR
            W1[Worker 1]
            W2[Worker 2]
            W3[Worker 3]
        end
        
        Manager --> W1
        Manager --> W2
        Manager --> W3
    end
    
    W1 --> Manager
    W2 --> Manager
    W3 --> Manager
    Manager --> Output[Output]

    classDef input fill:#8B0000,stroke:#7C90A0,color:#fff
    classDef process fill:#189AB4,stroke:#7C90A0,color:#fff
    classDef transparent fill:none,stroke:none

    class Input,Output input
    class Manager,W1,W2,W3 process
    class Agents,Workers transparent
```

### Workflow Process

Advanced process type supporting complex task relationships and conditional execution.

```mermaid theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
graph LR
    Input[Input] --> Start
    
    subgraph Workflow
        direction LR
        Start[Start] --> C1{Condition}
        C1 --> |Yes| A1[Agent 1]
        C1 --> |No| A2[Agent 2]
        A1 --> Join
        A2 --> Join
        Join --> A3[Agent 3]
    end
    
    A3 --> Output[Output]

    classDef input fill:#8B0000,stroke:#7C90A0,color:#fff
    classDef process fill:#189AB4,stroke:#7C90A0,color:#fff
    classDef decision fill:#2E8B57,stroke:#7C90A0,color:#fff
    classDef transparent fill:none,stroke:none

    class Input,Output input
    class Start,A1,A2,A3,Join process
    class C1 decision
    class Workflow transparent
```

#### Agentic Routing Workflow

Create AI agents that can dynamically route tasks to specialized LLM instances.

```mermaid theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
flowchart LR
    In[In] --> Router[LLM Call Router]
    Router --> LLM1[LLM Call 1]
    Router --> LLM2[LLM Call 2]
    Router --> LLM3[LLM Call 3]
    LLM1 --> Out[Out]
    LLM2 --> Out
    LLM3 --> Out
    
    style In fill:#8B0000,color:#fff
    style Router fill:#2E8B57,color:#fff
    style LLM1 fill:#2E8B57,color:#fff
    style LLM2 fill:#2E8B57,color:#fff
    style LLM3 fill:#2E8B57,color:#fff
    style Out fill:#8B0000,color:#fff
```

#### Agentic Orchestrator Worker

Create AI agents that orchestrate and distribute tasks among specialized workers.

```mermaid theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
flowchart LR
    In[In] --> Router[LLM Call Router]
    Router --> LLM1[LLM Call 1]
    Router --> LLM2[LLM Call 2]
    Router --> LLM3[LLM Call 3]
    LLM1 --> Synthesizer[Synthesizer]
    LLM2 --> Synthesizer
    LLM3 --> Synthesizer
    Synthesizer --> Out[Out]
    
    style In fill:#8B0000,color:#fff
    style Router fill:#2E8B57,color:#fff
    style LLM1 fill:#2E8B57,color:#fff
    style LLM2 fill:#2E8B57,color:#fff
    style LLM3 fill:#2E8B57,color:#fff
    style Synthesizer fill:#2E8B57,color:#fff
    style Out fill:#8B0000,color:#fff
```

#### Agentic Autonomous Workflow

Create AI agents that can autonomously monitor, act, and adapt based on environment feedback.

```mermaid theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
flowchart LR
    Human[Human] <--> LLM[LLM Call]
    LLM -->|ACTION| Environment[Environment]
    Environment -->|FEEDBACK| LLM
    LLM --> Stop[Stop]
    
    style Human fill:#8B0000,color:#fff
    style LLM fill:#2E8B57,color:#fff
    style Environment fill:#8B0000,color:#fff
    style Stop fill:#333,color:#fff
```

#### Agentic Parallelization

Create AI agents that can execute tasks in parallel for improved performance.

```mermaid theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
flowchart LR
    In[In] --> LLM2[LLM Call 2]
    In --> LLM1[LLM Call 1]
    In --> LLM3[LLM Call 3]
    LLM1 --> Aggregator[Aggregator]
    LLM2 --> Aggregator
    LLM3 --> Aggregator
    Aggregator --> Out[Out]
    
    style In fill:#8B0000,color:#fff
    style LLM1 fill:#2E8B57,color:#fff
    style LLM2 fill:#2E8B57,color:#fff
    style LLM3 fill:#2E8B57,color:#fff
    style Aggregator fill:#fff,color:#000
    style Out fill:#8B0000,color:#fff
```

#### Agentic Prompt Chaining

Create AI agents with sequential prompt chaining for complex workflows.

```mermaid theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
flowchart LR
    In[In] --> LLM1[LLM Call 1] --> Gate{Gate}
    Gate -->|Pass| LLM2[LLM Call 2] -->|Output 2| LLM3[LLM Call 3] --> Out[Out]
    Gate -->|Fail| Exit[Exit]
    
    style In fill:#8B0000,color:#fff
    style LLM1 fill:#2E8B57,color:#fff
    style LLM2 fill:#2E8B57,color:#fff
    style LLM3 fill:#2E8B57,color:#fff
    style Out fill:#8B0000,color:#fff
    style Exit fill:#8B0000,color:#fff
```

#### Agentic Evaluator Optimizer

Create AI agents that can generate and optimize solutions through iterative feedback.

```mermaid theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
flowchart LR
    In[In] --> Generator[LLM Call Generator] 
    Generator -->|SOLUTION| Evaluator[LLM Call Evaluator] -->|ACCEPTED| Out[Out]
    Evaluator -->|REJECTED + FEEDBACK| Generator
    
    style In fill:#8B0000,color:#fff
    style Generator fill:#2E8B57,color:#fff
    style Evaluator fill:#2E8B57,color:#fff
    style Out fill:#8B0000,color:#fff
```

#### Repetitive Agents

Create AI agents that can efficiently handle repetitive tasks through automated loops.

```mermaid theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
flowchart LR
    In[Input] --> LoopAgent[("Looping Agent")]
    LoopAgent --> Task[Task]
    Task --> |Next iteration| LoopAgent
    Task --> |Done| Out[Output]
    
    style In fill:#8B0000,color:#fff
    style LoopAgent fill:#2E8B57,color:#fff,shape:circle
    style Task fill:#2E8B57,color:#fff
    style Out fill:#8B0000,color:#fff
```

<br />

<div className="relative w-full aspect-video overflow-hidden rounded-lg shadow-lg mb-8">
  <iframe
    className="absolute top-0 left-0 w-full h-full border-0"
    src="https://www.youtube.com/embed/Fn1lQjC0GO0"
    title="YouTube video player"
    allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
    allowFullScreen
    style={{
  maxWidth: '100vw',
  margin: '0 auto'
}}
  />
</div>

## Integration Options

<AccordionGroup>
  <Accordion title="Ollama Integration">
    ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
    export OPENAI_BASE_URL=http://localhost:11434/v1
    ```
  </Accordion>

  <Accordion title="Groq Integration">
    ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
    export OPENAI_API_KEY=xxxxxxxxxxx
    export OPENAI_BASE_URL=https://api.groq.com/openai/v1
    ```
  </Accordion>

  <Accordion title="Logging Configuration">
    ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
    # Basic logging
    export LOGLEVEL=info

    # Advanced logging
    export LOGLEVEL=debug
    ```
  </Accordion>
</AccordionGroup>

***

## Use Cases

<CardGroup cols={2}>
  <Card title="Customer Service" icon="headset">
    Build intelligent support agents that can handle customer inquiries and resolve issues autonomously.
  </Card>

  <Card title="Data Analysis" icon="chart-line">
    Create agents that can process, analyze, and derive insights from complex datasets.
  </Card>

  <Card title="Content Creation" icon="pen-nib">
    Deploy agents that can generate, edit, and optimize content across various formats.
  </Card>

  <Card title="Process Automation" icon="gears">
    Automate complex workflows with intelligent agents that can coordinate and execute tasks.
  </Card>
</CardGroup>

## Praison AI Package Overall Features

<Frame caption="PraisonAI Features Overview">
  <div className="w-full max-w-4xl mx-auto">
    <img src="https://mintlify.s3.us-west-1.amazonaws.com/praisonai/docs/developers/images/architecture-light.png" alt="PraisonAI Features" className="w-full h-auto rounded-lg shadow-lg block dark:hidden" width="1200" height="800" />

    <img src="https://mintlify.s3.us-west-1.amazonaws.com/praisonai/docs/developers/images/architecture-dark.png" alt="PraisonAI Features" className="w-full h-auto rounded-lg shadow-lg hidden dark:block" width="1200" height="800" />
  </div>
</Frame>

## Features

<CardGroup cols={3}>
  <Card title="Self-Reflection" icon="brain-circuit" href="/docs/features/selfreflection">
    Agents that evaluate and improve their own responses for higher accuracy
  </Card>

  <Card title="Reasoning" icon="gears" href="/docs/features/reasoning">
    Multi-step logical reasoning and autonomous problem solving
  </Card>

  <Card title="Memory & Knowledge" icon="database" href="/docs/features/advanced-memory">
    Persistent memory and RAG-powered knowledge bases for context-aware agents
  </Card>

  <Card title="MCP Integration" icon="plug" href="/docs/mcp/transports">
    Connect to external tools and services via Model Context Protocol
  </Card>

  <Card title="Multimodal Agents" icon="icons" href="/docs/features/multimodal">
    Work with agents that can process text, images, and other data types
  </Card>

  <Card title="Train" icon="graduation-cap" href="/docs/train">
    Train and fine-tune your LLMs for specific tasks and domains. Then use it as an AI Agent.
  </Card>
</CardGroup>

## User Interfaces

<CardGroup cols={3}>
  <Card title="Multi Agents UI" icon="users" href="/docs/ui/ui">
    Visual interface for building and managing multi-agent systems
  </Card>

  <Card title="Chat Interface" icon="comments" href="/docs/ui/chat">
    Chat with 100+ LLMs using a single AI Agent
  </Card>

  <Card title="Code Interface" icon="code" href="/docs/ui/code-ui">
    Interact with your entire codebase
  </Card>
</CardGroup>

<Note>
  Welcome to PraisonAI - Your comprehensive solution for building and managing multi-agent LLM systems with self-reflection capabilities.
</Note>

<div style={{ display: 'flex', flexWrap: 'wrap', gap: '1rem' }}>
  <div className="hover:opacity-80 transition-opacity">
    <img src="https://static.pepy.tech/badge/PraisonAI" alt="Total Downloads" />
  </div>

  <div className="hover:opacity-80 transition-opacity">
    <img src="https://img.shields.io/github/v/release/MervinPraison/PraisonAI" alt="Latest Stable Version" />
  </div>

  <div className="hover:opacity-80 transition-opacity">
    <img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License" />
  </div>

  <div className="hover:opacity-80 transition-opacity">
    <img src="https://img.shields.io/github/stars/MervinPraison/PraisonAI?style=social" alt="GitHub Stars" />
  </div>

  <div className="hover:opacity-80 transition-opacity">
    <img src="https://img.shields.io/github/forks/MervinPraison/PraisonAI?style=social" alt="GitHub Forks" />
  </div>
</div>

## Video Tutorials

| Topic                           | Video                                                                                                             |
| ------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| AI Agents with Self Reflection  | [![Self Reflection](https://img.youtube.com/vi/vLXobEN2Vc8/0.jpg)](https://www.youtube.com/watch?v=vLXobEN2Vc8)   |
| Reasoning Data Generating Agent | [![Reasoning Data](https://img.youtube.com/vi/fUT332Y2zA8/0.jpg)](https://www.youtube.com/watch?v=fUT332Y2zA8)    |
| AI Agents with Reasoning        | [![Reasoning](https://img.youtube.com/vi/KNDVWGN3TpM/0.jpg)](https://www.youtube.com/watch?v=KNDVWGN3TpM)         |
| Multimodal AI Agents            | [![Multimodal](https://img.youtube.com/vi/hjAWmUT1qqY/0.jpg)](https://www.youtube.com/watch?v=hjAWmUT1qqY)        |
| AI Agents Workflow              | [![Workflow](https://img.youtube.com/vi/yWTH44QPl2A/0.jpg)](https://www.youtube.com/watch?v=yWTH44QPl2A)          |
| Async AI Agents                 | [![Async](https://img.youtube.com/vi/VhVQfgo00LE/0.jpg)](https://www.youtube.com/watch?v=VhVQfgo00LE)             |
| Mini AI Agents                  | [![Mini](https://img.youtube.com/vi/OkvYp5aAGSg/0.jpg)](https://www.youtube.com/watch?v=OkvYp5aAGSg)              |
| AI Agents with Memory           | [![Memory](https://img.youtube.com/vi/1hVfVxvPnnQ/0.jpg)](https://www.youtube.com/watch?v=1hVfVxvPnnQ)            |
| Repetitive Agents               | [![Repetitive](https://img.youtube.com/vi/dAYGxsjDOPg/0.jpg)](https://www.youtube.com/watch?v=dAYGxsjDOPg)        |
| Introduction                    | [![Introduction](https://img.youtube.com/vi/Fn1lQjC0GO0/0.jpg)](https://www.youtube.com/watch?v=Fn1lQjC0GO0)      |
| Tools Overview                  | [![Tools Overview](https://img.youtube.com/vi/XaQRgRpV7jo/0.jpg)](https://www.youtube.com/watch?v=XaQRgRpV7jo)    |
| Custom Tools                    | [![Custom Tools](https://img.youtube.com/vi/JSU2Rndh06c/0.jpg)](https://www.youtube.com/watch?v=JSU2Rndh06c)      |
| Firecrawl Integration           | [![Firecrawl](https://img.youtube.com/vi/UoqUDcLcOYo/0.jpg)](https://www.youtube.com/watch?v=UoqUDcLcOYo)         |
| User Interface                  | [![UI](https://img.youtube.com/vi/tg-ZjNl3OCg/0.jpg)](https://www.youtube.com/watch?v=tg-ZjNl3OCg)                |
| Crawl4AI Integration            | [![Crawl4AI](https://img.youtube.com/vi/KAvuVUh0XU8/0.jpg)](https://www.youtube.com/watch?v=KAvuVUh0XU8)          |
| Chat Interface                  | [![Chat](https://img.youtube.com/vi/sw3uDqn2h1Y/0.jpg)](https://www.youtube.com/watch?v=sw3uDqn2h1Y)              |
| Code Interface                  | [![Code](https://img.youtube.com/vi/_5jQayO-MQY/0.jpg)](https://www.youtube.com/watch?v=_5jQayO-MQY)              |
| Mem0 Integration                | [![Mem0](https://img.youtube.com/vi/KIGSgRxf1cY/0.jpg)](https://www.youtube.com/watch?v=KIGSgRxf1cY)              |
| Training                        | [![Training](https://img.youtube.com/vi/aLawE8kwCrI/0.jpg)](https://www.youtube.com/watch?v=aLawE8kwCrI)          |
| Realtime Voice Interface        | [![Realtime](https://img.youtube.com/vi/frRHfevTCSw/0.jpg)](https://www.youtube.com/watch?v=frRHfevTCSw)          |
| Call Interface                  | [![Call](https://img.youtube.com/vi/m1cwrUG2iAk/0.jpg)](https://www.youtube.com/watch?v=m1cwrUG2iAk)              |
| Reasoning Extract Agents        | [![Reasoning Extract](https://img.youtube.com/vi/2PPamsADjJA/0.jpg)](https://www.youtube.com/watch?v=2PPamsADjJA) |
