Introduction

PraisonAI runs AI agents on your own computers, even fully offline, so private data never has to leave the building. It is built for highly regulated teams, and free and open source for everyone.

PraisonAI runs AI agents on your own computers, even fully offline, so private data never has to leave the building. It is built for highly regulated teams, and free and open source for everyone.

Private AI that earns trust one task at a time.

python
from praisonaiagents import Agent

agent = Agent(instructions="You are a helpful assistant")
agent.start("Write a haiku about AI")

What is PraisonAI?

PraisonAI is an open-source Python framework for building AI agents. It is still a general-purpose framework: build any kind of agent, with any model, in the cloud or on your own computers. Our company focus is private AI for regulated teams, and this framework is the foundation for that work.

Building something else?

Everything works as before. Nothing has been removed, and every feature page is where it was.

Run fully offline

Agents can run on a model on your own computer, with no internet connection and no cloud API key.

Run fully offline

Install, pull a local model, and run an agent with the network turned off.

Early access: task handover

We are building a way to move each task to your own AI only after it passes a test, and move it back if quality slips. It is in early access, and we are taking on our first design partners.

Task handover (early access)

The five steps, and the parts of the open-source framework it builds on.


Core Components

Diagram

🚀 Production

🛠️ Development

🤖 Agent
Single AI worker

👥 AgentTeam
Multi-agent orchestration

🔄 AgentFlow
Step-based pipelines

⚡ AgentOS
Production deployment


When to Use What

Diagram

One agent, one task

Multiple agents collaborate

Complex pipelines

Production API

What do you need?

🤖 Agent

👥 AgentTeam

🔄 AgentFlow

⚡ AgentOS

ScenarioUse This
Chat with one AIAgent
Research → Analyze → WriteAgentTeam or AgentFlow
Route to specialistsAgentFlow + route()
Parallel processingAgentFlow + parallel()
Production APIAgentOS

Use Cases


Getting Started

Python

  1. Install
    bash
    pip install praisonaiagents
  2. Set API Key
    bash
    export OPENAI_API_KEY="${OPENAI_API_KEY:?Set OPENAI_API_KEY in your shell}"
  3. Create Agent
    Single Agent
    from praisonaiagents import Agent
    
    agent = Agent(instructions="You are a helpful assistant")
    agent.start("Write a haiku about AI")
    Multi-Agent Team
    from praisonaiagents import Agent, AgentTeam
    
    researcher = Agent(instructions="Research topics")
    writer = Agent(instructions="Write content")
    
    team = AgentTeam(agents=[researcher, writer])
    team.start()
    AgentFlow Pipeline
    from praisonaiagents import Agent, AgentFlow
    
    researcher = Agent(instructions="Research topics")
    writer = Agent(instructions="Write content")
    
    flow = AgentFlow(steps=[researcher, writer])
    flow.start("Research AI trends")

TypeScript

  1. Install
    bash
    npm install praisonai
  2. Set API Key
    bash
    export OPENAI_API_KEY="${OPENAI_API_KEY:?Set OPENAI_API_KEY in your shell}"
  3. Create Agent
    Single Agent
    import { Agent } from 'praisonai';
    
    const agent = new Agent({ instructions: 'You are a helpful assistant' });
    agent.start('Write a haiku about AI');
    Multi-Agent Team
    import { Agent, AgentTeam } from 'praisonai';
    
    const researcher = new Agent({ instructions: 'Research topics' });
    const writer = new Agent({ instructions: 'Write content' });
    
    const team = new AgentTeam({ agents: [researcher, writer] });
    team.start();

No Code (YAML)

  1. Install
    bash
    pip install praisonai
  2. Create agents.yaml
    yaml
    agents:
      researcher:
        instructions: Research AI trends
      writer:
        instructions: Write content based on research
  3. Run
    bash
    praisonai agents.yaml

Key Features


Why PraisonAI?


How It Works

An Agent receives your instructions, calls the LLM, and returns a result — teams and flows chain multiple agents on top of that.

Diagram
LLMAgentUserLLMAgentUserAgent(instructions=”…”).start(“…”)Send prompt to the selected modelModel responseFinal answer

Best Practices

Pick the right building block

Use Agent for one task, AgentTeam when agents collaborate, and AgentFlow for step-based pipelines with routing, parallel, or loop patterns.

Keep the first example tiny

Start with Agent(instructions="…").start("…"). Add name, role, tools, and Task only as your needs grow.

Set provider keys in the environment

Export OPENAI_API_KEY (or another provider’s key) in your shell. PraisonAI auto-selects a matching default model.

Move to AgentOS for production

Wrap agents in AgentOS when you need an API, webhooks, or a scheduler for production deployment.

Related