PraisonAI

raw JSON →
4.6.33 verified Fri May 01 auth: no python

PraisonAI is an AI Agents Framework with Self Reflection. It combines PraisonAI Agents, AutoGen, and CrewAI into a low-code solution for building and managing multi-agent LLM systems, focusing on simplicity, customization, and efficient human-agent collaboration. The current version is 4.6.33, with frequent releases.

pip install praisonai
error ModuleNotFoundError: No module named 'praisonai.agents'
cause Old import path from v3.x documentation.
fix
Use 'from praisonai import Agent' instead of 'from praisonai.agents import Agent'.
error AttributeError: 'Crew' object has no attribute 'kickoff'
cause Using an older version (<4.0.0) where the method was 'run'.
fix
Upgrade to >=4.0.0 and use 'crew.kickoff()'. If stuck on old version, use 'crew.run()'.
error pydantic.errors.PydanticUserError: Invalid type for field 'llm'
cause Passing an unexpected type (e.g., an object) instead of a string.
fix
Pass a string like 'gpt-4' or 'claude-opus-4' to the 'llm' parameter.
breaking From v4.x, the API has changed significantly. Old v3.x code using 'PraisonAIAgent' (singular) and nested modules will break. Use top-level imports.
fix Update imports to use 'from praisonai import PraisonAIAgents, Agent, Task, Crew'.
deprecated The 'process' parameter in Crew may be deprecated in future versions. Use 'execution_mode' instead.
fix Replace 'process="sequential"' with 'execution_mode="sequential"'.
gotcha If you omit the 'llm' parameter, PraisonAI may try to use the OpenAI default (GPT-4) without asking. Set it explicitly to avoid unexpected API costs.
fix Always pass an 'llm' string (e.g., 'gpt-4', 'gpt-3.5-turbo') to Agent().

Basic creation of an agent, task, and crew, then kickoff the process.

import os
from praisonai import PraisonAIAgents, Agent, Task, Crew

agent = Agent(
    name="Researcher",
    role="Research Analyst",
    goal="Provide accurate summaries",
    backstory="Expert in research",
    llm="gpt-4"
)
task = Task(
    description="Summarize the latest AI news",
    expected_output="A brief summary"
)
crew = Crew(
    agents=[agent],
    tasks=[task],
    process="sequential"
)
result = crew.kickoff()
print(result)