Skip to main content
Create one focused agent with instructions, tools, and memory—then iterate from a single prompt.
from praisonaiagents import Agent

agent = Agent(
    name="Assistant",
    instructions="You are a helpful assistant.",
)
agent.start("Say hello in one sentence.")
The user sends a prompt; the agent calls the model (and tools if configured) and returns text. This guide walks you through creating your first AI agent with PraisonAI.

Quick Start

1

Install

pip install praisonaiagents
export OPENAI_API_KEY=your_api_key
2

Create your first agent

from praisonaiagents import Agent

agent = Agent(
    name="Assistant",
    instructions="You are a helpful assistant.",
)

result = agent.start("Hello! What can you help me with?")
print(result)

Prerequisites

pip install praisonaiagents
Set your API key:
export OPENAI_API_KEY="your-api-key"

Basic Agent

from praisonaiagents import Agent

# Create a simple agent
agent = Agent(
    name="Assistant",
    instructions="You are a helpful assistant."
)

# Run the agent
result = agent.start("Hello! What can you help me with?")
print(result)

Agent with Custom Role

from praisonaiagents import Agent

agent = Agent(
    name="Researcher",
    role="Senior Research Analyst",
    goal="Provide accurate and comprehensive research",
    backstory="You are an experienced researcher with expertise in AI and technology.",
    instructions="Always cite sources and provide balanced perspectives."
)

result = agent.start("What are the latest trends in AI?")
print(result)

Agent with Tools

from praisonaiagents import Agent
from praisonaiagents import internet_search

agent = Agent(
    name="Web Researcher",
    instructions="Search the web to find accurate information.",
    tools=[internet_search]
)

result = agent.start("Find the latest news about OpenAI")
print(result)

Agent with Memory

from praisonaiagents import Agent, Memory

# Create memory instance
memory = Memory()

agent = Agent(
    name="Assistant",
    instructions="You are a helpful assistant with memory.",
    memory=memory
)

# First conversation
agent.start("My name is Alice")

# Agent remembers the name
result = agent.start("What's my name?")
print(result)  # "Your name is Alice"

Agent Configuration Options

ParameterTypeDescription
namestrAgent name
rolestrAgent’s role description
goalstrWhat the agent aims to achieve
backstorystrBackground context for the agent
instructionsstrSystem instructions
modelstrLLM model to use (default: gpt-4o-mini)
toolslistList of tools available to the agent
memoryMemoryMemory instance for persistence
verboseboolEnable verbose logging

Using Different Models

from praisonaiagents import Agent

# OpenAI
agent = Agent(name="GPT Agent", llm="gpt-4o")

# Anthropic
agent = Agent(name="Claude Agent", llm="claude-3-5-sonnet-20241022")

# Ollama (local)
agent = Agent(name="Local Agent", llm="ollama/llama3.2")

# Google
agent = Agent(name="Gemini Agent", llm="gemini/gemini-2.0-flash")

Chat Mode

from praisonaiagents import Agent

agent = Agent(
    name="ChatBot",
    instructions="You are a friendly chatbot."
)

# Multi-turn conversation
messages = [
    {"role": "user", "content": "Hi!"},
    {"role": "assistant", "content": "Hello! How can I help?"},
    {"role": "user", "content": "Tell me a joke"}
]

result = agent.chat(messages)
print(result)

Best Practices

Clear, specific instructions lead to more consistent and useful agent behavior.
Use tools to extend what your agent can do - search, code execution, file operations, and more.
Add memory=True for agents that need to remember information across multiple turns.
Start with llm='gpt-4o-mini' for testing - switch to gpt-4o when you need more capability.

Next Steps

Multi-Agent Systems

Orchestrate multiple agents working together

Tools

Extend your agent with tools