HEX
Server: LiteSpeed
System: Linux houston.panomity.com 6.8.0-100-generic #100-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 13 16:40:06 UTC 2026 x86_64
User: nudepix (1011)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //opt/PraisonAI/docs/quickstart.mdx
---
title: "Quick Start"
description: "Create AI Agents and make them work for you in just a few lines of code."
icon: "bolt"
---

# Basic

<Tabs>
  <Tab title="Code">
    <Steps>
      <Step title="Install Package">
        Install the PraisonAI Agents package:
        ```bash
        pip install praisonaiagents
        ```
      </Step>

      <Step title="Set API Key">
        ```bash
        export OPENAI_API_KEY=your_openai_key
        ```
        Generate your OpenAI API key from [OpenAI](https://platform.openai.com/api-keys).
        Use other LLM providers like Ollama, Anthropic, Groq, Google, etc. Please refer to the [Models](/models) for more information.
      </Step>

      <Step title="Create Agents">
        Create `app.py`:
    <CodeGroup>
      ```python Single Agent
      from praisonaiagents import Agent, PraisonAIAgents

      # Create a simple agent
      summarise_agent = Agent(instructions="Summarise Photosynthesis")

      # Run the agent
      agents = PraisonAIAgents(agents=[summarise_agent])
      agents.start()
      ```

      ```python Multiple Agents
      from praisonaiagents import Agent, PraisonAIAgents

      # Create agents with specific roles
      diet_agent = Agent(
          instructions="Give me 5 healthy food recipes",
      )

      blog_agent = Agent(
          instructions="Write a blog post about the food recipes",
      )

      # Run multiple agents
      agents = PraisonAIAgents(agents=[diet_agent, blog_agent])
      agents.start()
      ```
    </CodeGroup>
      </Step>

      <Step title="Run Agents">
        Execute your script:
        ```bash
        python app.py
        ```

        You'll see:
        - Agent initialization
        - Task execution progress
        - Final results

        <Tip>
        You have successfully CreatedAI Agents and made them work for you!
        </Tip>
      </Step>
    </Steps>
  </Tab>
  <Tab title="No Code">
    <Steps>
      <Step title="Install Package">
        Install the No Code PraisonAI Package:
        ```bash
        pip install praisonaiagents
        ```
      </Step>

      <Step title="Set API Key">
        ```bash
        export OPENAI_API_KEY=your_openai_key
        ```
      </Step>

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

    <CodeGroup>
      ```yaml Single Agent
      roles:
        summarise_agent:
          instructions: Summarise Photosynthesis
      ```

      ```yaml Multiple Agents
      roles:
        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
praisonai --init "your task description"
```
</Note>

      </Step>

      <Step title="Run Agents">
        Execute your config:
        ```bash
        praisonai agents.yaml
        ```
      </Step>
    </Steps>
  </Tab>
  <Tab title="JavaScript">
    <Steps>
      <Step title="Install Package">
        ```bash
        npm install praisonai
        ```
      </Step>
      <Step title="Set API Key">
        ```bash
        export OPENAI_API_KEY=xxxxxxxxxxxxxxxxxxxxxx
        ```
      </Step>
      <Step title="Create File">
        Create `app.js` file

        ## Code Example

<CodeGroup>
```javascript Single Agent
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 Agents
const { Agent, PraisonAIAgents } = require('praisonai');

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

const agents = new PraisonAIAgents({ agents: [researchAgent, summariseAgent] });
agents.start();
```
</CodeGroup>
      </Step>
      <Step title="Run Script">
        ```bash
        node app.js
        ```
      </Step>
    </Steps>
  </Tab>
  <Tab title="TypeScript">
    <Steps>
      <Step title="Install Package">
        <CodeGroup>
        ```bash npm
        npm install praisonai
        ```
        ```bash yarn
        yarn add praisonai
        ```
        </CodeGroup>
      </Step>
      <Step title="Set API Key">
        ```bash
        export OPENAI_API_KEY=xxxxxxxxxxxxxxxxxxxxxx
        ```
      </Step>
      <Step title="Create File">
        Create `app.ts` file

        ## Code Example

<CodeGroup>
```javascript Single Agent
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 Agents
import { Agent, PraisonAIAgents } 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 PraisonAIAgents({
  agents: [storyAgent, summaryAgent]
});

agents.start()
```
</CodeGroup>
      </Step>
      <Step title="Run Script">
        ```bash
        npx ts-node app.ts
        ```
      </Step>
    </Steps>
  </Tab>
</Tabs>

<Note>
**Prerequisites**
- Python 3.10 or higher
- OpenAI API key (get it [here](https://platform.openai.com/api-keys))
- For other LLM providers, see [Models](/models)
</Note>

## Playground

<iframe 
  id="codeExecutionFrame"
  src="https://code-execution-server-praisonai.replit.app/?code=import%20openai%0A%0Aclient%20%3D%20openai.OpenAI()%0Aresult%20%3D%20client.chat.completions.create(%0A%20%20%20%20model%3D%22gpt-3.5-turbo%22%2C%0A%20%20%20%20messages%3D%5B%0A%20%20%20%20%20%20%20%20%7B%22role%22%3A%20%22user%22%2C%20%22content%22%3A%20%22Hello%20World%22%7D%0A%20%20%20%20%5D%0A)%0A%0Aprint(result.choices%5B0%5D.message.content)" 
  width="100%" 
  height="600px" 
  frameborder="0"
  allow="clipboard-read; clipboard-write"
  scrolling="yes"
  onload="resizeIframe(this)"
></iframe>

# Advanced

## Providing Detailed Tasks to Agents (Optional)

<Tabs>
  <Tab title="Code">
    <Steps>
      <Step title="Install PraisonAI">
        Install the core package:
        ```bash Terminal
        pip install praisonaiagents
        ```
      </Step>

      <Step title="Configure Environment">
        ```bash Terminal
        export OPENAI_API_KEY=your_openai_key
        ```
        Generate your OpenAI API key from [OpenAI](https://platform.openai.com/api-keys)
        Use other LLM providers like Ollama, Anthropic, Groq, Google, etc. Please refer to the [Models](/models) for more information.
      </Step>

      <Step title="Create Agent">
        Create `app.py`:
    <CodeGroup>
      ```python Single Agent
      from praisonaiagents import Agent, Task, PraisonAIAgents

      # Create an agent
      researcher = Agent(
          name="Researcher",
          role="Senior Research Analyst",
          goal="Uncover cutting-edge developments in AI",
          backstory="You are an expert at a technology research group",
          verbose=True,
          llm="gpt-4o"
      )

      # Define a task
      task = Task(
          name="research_task",
          description="Analyze 2024's AI advancements",
          expected_output="A detailed report",
          agent=researcher
      )

      # Run the agents
      agents = PraisonAIAgents(
          agents=[researcher],
          tasks=[task],
          verbose=False
      )

      result = agents.start()
      ```

      ```python Multiple Agents
      from praisonaiagents import Agent, Task, PraisonAIAgents

      # Create multiple agents
      researcher = Agent(
          name="Researcher",
          role="Senior Research Analyst",
          goal="Uncover cutting-edge developments in AI",
          backstory="You are an expert at a technology research group",
          verbose=True,
          llm="gpt-4o",
          markdown=True
      )

      writer = Agent(
          name="Writer",
          role="Tech Content Strategist",
          goal="Craft compelling content on tech advancements",
          backstory="You are a content strategist",
          llm="gpt-4o",
          markdown=True
      )

      # Define multiple tasks
      task1 = Task(
          name="research_task",
          description="Analyze 2024's AI advancements",
          expected_output="A detailed report",
          agent=researcher
      )

      task2 = Task(
          name="writing_task",
          description="Create a blog post about AI advancements",
          expected_output="A blog post",
          agent=writer
      )

      # Run with hierarchical process
      agents = PraisonAIAgents(
          agents=[researcher, writer],
          tasks=[task1, task2],
          verbose=False,
          process="hierarchical",
          manager_llm="gpt-4o"
      )

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

      <Step title="Start Agents">
        Execute your script:
        ```bash Terminal
        python app.py
        ```

        You should see:
        - Agent initialization
        - Agents progress
        - Final results
        - Generated report
      </Step>
    </Steps>
  </Tab>
  <Tab title="No Code">
    <Steps>
      <Step title="Install No Code PraisonAI">
        Install the No Code PraisonAI Package:
        ```bash Terminal
        pip install praisonai
        ```
      </Step>

      <Step title="Set API Key">
        Set your OpenAI API key as an environment variable in your terminal:
        ```bash Terminal
        export OPENAI_API_KEY=your_openai_key
        ```
      </Step>

      <Step title="Create a file">

        Create a new file `agents.yaml` with the basic setup:

```yaml
framework: praisonai
topic: create movie script about cat in mars
roles:
  scriptwriter:
    backstory: Expert in dialogue and script structure, translating concepts into
      scripts.
    goal: Write a movie script about a cat in Mars
    role: Scriptwriter
    tasks:
      scriptwriting_task:
        description: Turn the story concept into a production-ready movie script,
          including dialogue and scene details.
        expected_output: Final movie script with dialogue and scene details.
```

<Note>
You can automatically create `agents.yaml` file using
```bash Terminal
praisonai --init create movie script about cat in mars
```
</Note>

      </Step>

      <Step title="Start Agents">
        Execute your script:
        ```bash Terminal
        praisonai agents.yaml
        ```
      </Step>


    </Steps>
  </Tab>
</Tabs>


## Creating Custom Tool for Agents (Optional)

<Info>
Tools makes the Agent powerful.
</Info>
More information about tools can be found in the [Tools](/concepts/tools) section.

<Tabs>
  <Tab title="Code">
<Steps>
<Step title="Install PraisonAI">
Install the core package and duckduckgo_search package:
```bash Terminal
pip install praisonai duckduckgo_search
```
</Step>
<Step title="Create Tools and Agents">
```python
from praisonaiagents import Agent, Task, PraisonAIAgents
from duckduckgo_search import DDGS
from typing import List, Dict

# 1. Tool
def internet_search_tool(query: str) -> List[Dict]:
    """
    Perform Internet Search
    """
    results = []
    ddgs = DDGS()
    for result in ddgs.text(keywords=query, max_results=5):
        results.append({
            "title": result.get("title", ""),
            "url": result.get("href", ""),
            "snippet": result.get("body", "")
        })
    return results

# 2. Agent
data_agent = Agent(
    name="DataCollector",
    role="Search Specialist",
    goal="Perform internet searches to collect relevant information.",
    backstory="Expert in finding and organising internet data.",
    tools=[internet_search_tool],
    self_reflect=False
)

# 3. Tasks
collect_task = Task(
    description="Perform an internet search using the query: 'AI job trends in 2024'. Return results as a list of title, URL, and snippet.",
    expected_output="List of search results with titles, URLs, and snippets.",
    agent=data_agent,
    name="collect_data",
)

# 4. Start Agents
agents = PraisonAIAgents(
    agents=[data_agent],
    tasks=[collect_task],
    process="sequential"
)

agents.start()
```
</Step>
<Step title="Start Agents">
Run your script:
```bash Terminal
python app.py
```
</Step>
</Steps>
</Tab>

<Tab title="No Code">
<Steps>
<Step title="Install PraisonAI">
Install the core package and duckduckgo_search package:
```bash Terminal
pip install praisonai duckduckgo_search
```
</Step>
<Step title="Create Custom Tool">
<Info>
To add additional tools/features you need some coding which can be generated using ChatGPT or any LLM
</Info>
Create a new file `tools.py` with the following content:
```python
from duckduckgo_search import DDGS
from typing import List, Dict

# 1. Tool
def internet_search_tool(query: str) -> List[Dict]:
    """
    Perform Internet Search
    """
    results = []
    ddgs = DDGS()
    for result in ddgs.text(keywords=query, max_results=5):
        results.append({
            "title": result.get("title", ""),
            "url": result.get("href", ""),
            "snippet": result.get("body", "")
        })
    return results  
```
</Step>
<Step title="Create Agent">

Create a new file `agents.yaml` with the following content:
```yaml
framework: praisonai
topic: create movie script about cat in mars
roles:
  scriptwriter:
    backstory: Expert in dialogue and script structure, translating concepts into
      scripts.
    goal: Write a movie script about a cat in Mars
    role: Scriptwriter
    tools:
      - internet_search_tool # <-- Tool assigned to Agent here
    tasks:
      scriptwriting_task:
        description: Turn the story concept into a production-ready movie script,
          including dialogue and scene details.
        expected_output: Final movie script with dialogue and scene details.
```
</Step>

<Step title="Start Agents">

Execute your script:
```bash Terminal
praisonai agents.yaml
```
</Step>
</Steps>
</Tab>
</Tabs>
## Next Steps

<CardGroup cols={2}>
  <Card
    title="Core Concepts"
    icon="book"
    href="/concepts/agents"
  >
    Learn about agents, tasks, and processes
  </Card>
  <Card
    title="API Reference"
    icon="code"
    href="/api/praisonaiagents/index"
  >
    Explore detailed API documentation
  </Card>
</CardGroup>