Building a Single Agent
Learn how to create and configure a single AI agent
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
- Install
bash pip install praisonaiagents export OPENAI_API_KEY=your_api_key - Create your first agent
python 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 praisonaiagentsSet 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
| Parameter | Type | Description | |
|---|---|---|---|
name | str | Agent name | |
role | str | Agent’s role description | |
goal | str | What the agent aims to achieve | |
backstory | str | Background context for the agent | |
instructions | str | System instructions | |
model | str | LLM model to use (default: gpt-4o-mini) | |
tools | list | List of tools available to the agent | |
memory | Memory | Memory instance for persistence | |
output | `str \ | OutputConfig` | Output mode ("silent", "verbose", "stream", …) or OutputConfig(...) for fine-grained control |
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
Write specific instructions
Clear, specific instructions lead to more consistent and useful agent behavior.
Add tools for external capabilities
Use tools to extend what your agent can do – search, code execution, file operations, and more.
Enable memory for context
Add memory=True for agents that need to remember information across multiple turns.
Use gpt-4o-mini for cost efficiency
Start with llm='gpt-4o-mini' for testing – switch to gpt-4o when you need more capability.
Next Steps
- Multi-Agent Systems – Build systems with multiple agents
- Adding Tools – Extend agent capabilities
- Agent Module Reference – Full API reference