DS DevShelfHub Projects · AI tools
Open Source Free Python Framework Multi-Agent

Phidata: Build AI Agents with Memory, Knowledge, and Tools

Phidata (now Agno) is an open-source Python framework for building production-grade AI agents that have persistent memory, searchable knowledge bases, and access to tools — with a clean, code-first API that stays out of your way.

Phidata Python AI agents — memory, knowledge bases, and tools

What is Phidata?

Phidata is an open-source Python framework for building AI agents. It differs from LangChain and similar tools by taking a first-principles, code-first approach — agents are plain Python objects with memory, knowledge, and tools as first-class attributes, not tangled chains of callbacks.

The project has been rebranded as Agno but remains widely known as Phidata. It emphasises production readiness: agents can store long-term memory in databases, retrieve information from structured knowledge bases, and use tools like web search, SQL, Python, and REST APIs — all in a clean, readable API.

Key features of Phidata

1

Memory — short and long term

Agents have built-in conversation memory (session context) and long-term memory (persistent storage in PostgreSQL or SQLite) — so they remember preferences and past interactions across sessions.

2

Knowledge bases

Attach a searchable knowledge base — PDFs, URLs, text files, databases — to an agent. Phidata handles chunking, embedding, vector storage, and retrieval automatically.

3

Built-in tools

Phidata ships with ready-to-use tools: DuckDuckGo search, Python REPL, SQL queries, file operations, Exa web search, YFinance for financial data, and dozens more — attach them with a single line.

4

Multi-agent teams

Compose agents into teams — a lead agent can delegate sub-tasks to specialist agents (researcher, writer, coder) and combine their outputs, using any coordination strategy you define.

5

Any LLM backend

Works with OpenAI, Anthropic, Google Gemini, Mistral, Groq, Ollama (local models), and AWS Bedrock — swap models with one parameter change.

6

Agno Playground

Serve your agents locally and interact with them through the hosted Agno Playground UI — useful for testing and debugging without building a custom frontend.

How Phidata works

A basic Phidata agent is just a few lines of Python:

from phi.agent import Agent
from phi.tools.duckduckgo import DuckDuckGo

agent = Agent(tools=[DuckDuckGo()], markdown=True)
agent.print_response("What happened in AI this week?")

Add memory, a knowledge base, or swap the model with additional parameters. The framework handles the tool-calling loop, context window management, and streaming internally.

Real-life use cases of Phidata

Research agents

An agent that searches the web, reads pages, and writes a structured report — all autonomously.

Data analysis agents

Connect a database and let an agent answer natural-language questions by writing and executing SQL.

Personalised assistants

An assistant that remembers your preferences, past conversations, and personal context across sessions.

Pros and cons of Phidata

Pros

  • + Clean, readable Python API — minimal boilerplate
  • + First-class memory and knowledge base support
  • + Rich built-in tool library
  • + Works with any major LLM
  • + Multi-agent teams with simple composition

Cons

  • Python-only — no JavaScript SDK
  • Smaller community than LangChain
  • No visual editor — code-only workflow
  • Rebranding to Agno has caused documentation fragmentation

Phidata pricing

Plan Price Details
Open-source Free Full framework on GitHub under MPL licence
Agno Cloud See agno.com Hosted playground, monitoring, and managed agent infrastructure

Alternatives to Phidata

  • LangChain — broader ecosystem, steeper learning curve
  • CrewAI — role-based multi-agent orchestration
  • AutoGen — Microsoft's conversational multi-agent framework
  • Smolagents — Hugging Face's minimal code-first agent library

Tips for using Phidata

Package renamed from phidata to agno

Import paths changed from from phi.agent import Agent to from agno.agent import Agent. For new projects, install agno.

Use PostgreSQL for persistent memory in production

The default memory backend does not persist between restarts. Configure a PostgreSQL storage backend explicitly (storage=PgAgentStorage(...)) for agents that need to remember users across sessions.

Tool function docstrings are the tool description the LLM sees

The function's docstring becomes the description sent to the model. Missing type annotations or vague docstrings cause the LLM to misuse or skip the tool entirely. Write clear, specific docstrings.

Use async API in web frameworks to avoid blocking

When integrating with async web frameworks like FastAPI, always use the async API — calling the sync agent.run() from an async handler blocks the event loop under load.

Building a web research team in minutes

from phi.agent import Agent
from phi.tools.duckduckgo import DuckDuckGo
from phi.tools.newspaper4k import Newspaper4k

researcher = Agent(name="Researcher", tools=[DuckDuckGo(), Newspaper4k()])
writer = Agent(name="Writer", description="Writes clear summaries")

team = Agent(team=[researcher, writer])
team.print_response("Summarise this week's AI news")

Phidata hits the sweet spot between power and simplicity — agents with real memory and tools in a handful of Python lines, without the ceremony of larger frameworks. Compare with Dify for a visual no-code approach and OpenAI Swarm for a minimal educational multi-agent framework.

Phidata FAQ

Is Phidata free?
Yes. Phidata (now Agno) is open-source and free to use. The framework itself is MIT-licensed. Agno Platform, the hosted monitoring and deployment layer, has a free tier and paid plans for teams needing managed infrastructure.
What is Agno and how is it related to Phidata?
Agno is the new name for Phidata. The company rebranded in 2024 to Agno while maintaining backwards compatibility with the existing API. The framework is the same product — open-source Python for building AI agents with memory, knowledge, and tools.
How does Phidata compare to LangChain?
Phidata has a cleaner, more Pythonic API than LangChain. Where LangChain requires chains, runnables, and multiple abstractions, Phidata centers on one class — the Agent — with straightforward parameters for memory, knowledge, and tools. Less ceremony, faster to production.
Does Phidata support multi-agent systems?
Yes. Phidata supports teams of agents where individual agents are composed into a Team that can route tasks, delegate subtasks, and aggregate results. The Team abstraction keeps multi-agent code as readable as single-agent code.
What LLMs does Phidata support?
Phidata supports OpenAI (GPT-4o), Anthropic (Claude), Google Gemini, Groq, Mistral, and local models via Ollama. Switching between models is a one-line change — pass a different model object to the Agent constructor.
What are the best alternatives to Phidata?
LangChain is the most widely used Python framework with the largest ecosystem. CrewAI focuses on role-based multi-agent workflows. AutoGen is Microsoft's multi-agent framework. OpenAI Swarm is a lightweight experimental alternative. Phidata wins for simplicity and production-readiness with minimal boilerplate.