> ## Documentation Index
> Fetch the complete documentation index at: https://docs.phidata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> **Build agents and workflows to automate intelligent work.**

<Info>
  Phidata is now Agno! We've moved! Check out our new home at [Agno
  AGI](https://github.com/agno-agi/agno)
</Info>

## What is Phidata?

**Phidata is a framework for building multi-modal agents and workflows.**

* **Build agents with memory, knowledge, tools and reasoning.**
* **Build teams of agents that can work together to solve problems.**
* **Interact with your agents and workflows using a beautiful Agent UI.**

## Key Features

* [Simple & Elegant](#simple-and-elegant)
* [Powerful & Flexible](#powerful-and-flexible)
* [Multi-Modal by default](#multi-modal-by-default)
* [Multi-Agent orchestration](#multi-agent-orchestration)
* [A beautiful Agent UI to chat with your agents](/agent-ui)
* [Agentic RAG built-in](/more-examples#agentic-rag)
* [Structured outputs](/more-examples#structured-outputs)
* [Reasoning built-in](/more-examples#reasoning-agent)
* [Monitoring & Debugging built-in](/monitoring)

## Install

```shell theme={null}
pip install -U phidata
```

## Simple & Elegant

Phidata Agents are simple and elegant, resulting in minimal, beautiful code.

For example, you can create a web search agent in 10 lines of code.

```python web_search.py theme={null}
from phi.agent import Agent
from phi.model.openai import OpenAIChat
from phi.tools.duckduckgo import DuckDuckGo

web_agent = Agent(
    name="Web Agent",
    model=OpenAIChat(id="gpt-4o"),
    tools=[DuckDuckGo()],
    instructions=["Always include sources"],
    show_tool_calls=True,
    markdown=True,
)
web_agent.print_response("Tell me about OpenAI Sora?", stream=True)
```

### Setup

<Steps>
  <Step title="Setup your virtual environment">
    <CodeGroup>
      ```bash Mac theme={null}
      python3 -m venv ~/.venvs/aienv
      source ~/.venvs/aienv/bin/activate
      ```

      ```bash Windows theme={null}
      python3 -m venv aienv
      aienv/scripts/activate
      ```
    </CodeGroup>
  </Step>

  <Step title="Install libraries">
    <CodeGroup>
      ```bash Mac theme={null}
      pip install -U phidata openai duckduckgo-search
      ```

      ```bash Windows theme={null}
      pip install -U phidata openai duckduckgo-search
      ```
    </CodeGroup>
  </Step>

  <Step title="Export your OpenAI key">
    Phidata works with most model providers but for these examples let's use OpenAI.

    <CodeGroup>
      ```bash Mac theme={null}
      export OPENAI_API_KEY=sk-***
      ```

      ```bash Windows theme={null}
      setx OPENAI_API_KEY sk-***
      ```
    </CodeGroup>

    <Tip>
      You can get an API key from [here](https://platform.openai.com/account/api-keys).
    </Tip>
  </Step>

  <Step title="Run the agent">
    ```shell theme={null}
    python web_search.py
    ```
  </Step>
</Steps>

## Powerful & Flexible

Phidata agents can use multiple tools and follow instructions to achieve complex tasks.

For example, you can create a finance agent with tools to query financial data.

<Steps>
  <Step title="Create a finance agent">
    ```python finance_agent.py theme={null}
    from phi.agent import Agent
    from phi.model.openai import OpenAIChat

    finance_agent = Agent(
        name="Finance Agent",
        model=OpenAIChat(id="gpt-4o"),
        instructions=["Use tables to display data"],
        show_tool_calls=True,
        markdown=True,
    )
    finance_agent.print_response("Summarize analyst recommendations for NVDA", stream=True)
    ```
  </Step>

  <Step title="Run the agent">
    Install libraries

    ```shell theme={null}
    pip install openai
    ```

    Run the agent

    ```shell theme={null}
    python finance_agent.py
    ```
  </Step>
</Steps>

## Multi-Modal by default

Phidata agents support text, images, audio and video.

For example, you can create an image agent that can understand images and make tool calls as needed

<Steps>
  <Step title="Create an image agent">
    ```python image_agent.py theme={null}
    from phi.agent import Agent
    from phi.model.openai import OpenAIChat
    from phi.tools.duckduckgo import DuckDuckGo

    agent = Agent(
        model=OpenAIChat(id="gpt-4o"),
        tools=[DuckDuckGo()],
        markdown=True,
    )

    agent.print_response(
        "Tell me about this image and give me the latest news about it.",
        images=["https://upload.wikimedia.org/wikipedia/commons/b/bf/Krakow_-_Kosciol_Mariacki.jpg"],
        stream=True,
    )
    ```
  </Step>

  <Step title="Run the agent">
    ```shell theme={null}
    python image_agent.py
    ```
  </Step>
</Steps>

## Multi-Agent orchestration

Phidata agents can work together as a team to achieve complex tasks.

<Steps>
  <Step title="Create an agent team">
    ```python agent_team.py theme={null}
    from phi.agent import Agent
    from phi.model.openai import OpenAIChat
    from phi.tools.duckduckgo import DuckDuckGo

    web_agent = Agent(
        name="Web Agent",
        role="Search the web for information",
        model=OpenAIChat(id="gpt-4o"),
        tools=[DuckDuckGo()],
        instructions=["Always include sources"],
        show_tool_calls=True,
        markdown=True,
    )

    finance_agent = Agent(
        name="Finance Agent",
        role="Get financial data",
        model=OpenAIChat(id="gpt-4o"),
        instructions=["Use tables to display data"],
        show_tool_calls=True,
        markdown=True,
    )

    agent_team = Agent(
        team=[web_agent, finance_agent],
        instructions=["Always include sources", "Use tables to display data"],
        show_tool_calls=True,
        markdown=True,
    )

    agent_team.print_response("Summarize analyst recommendations and share the latest news for NVDA", stream=True)
    ```
  </Step>

  <Step title="Run the agent team">
    Run the agent team

    ```shell theme={null}
    python agent_team.py
    ```
  </Step>
</Steps>

## Continue reading

* Chat with your Agents using a beautiful [Agent UI](/agent-ui).
* [More examples](/more-examples)
* [Monitoring & Debugging](/monitoring)
