Why phidata

Problem: LLMs have limited context and cannot take actions.
Solution: Add memory, knowledge and tools.

  • Memory: Enables LLMs to have long-term conversations by storing chat history in a database.
  • Knowledge: Provides LLMs with business context by storing information in a vector database.
  • Tools: Enable LLMs to take actions like pulling data from an API, sending emails or querying a database.

Memory & knowledge make LLMs smarter while tools make them autonomous.

How it works

  • Step 1: Create an Assistant
  • Step 2: Add Tools (functions), Knowledge (vectordb) and Storage (database)
  • Step 3: Serve using Streamlit, FastApi or Django to build your AI application

LLM = Large Language Model



Create a virtual environment

Open the Terminal and create a python virtual environment.

python3 -m venv ~/.venvs/aienv
source ~/.venvs/aienv/bin/activate

Install phidata

pip install -U phidata

Create an Assistant

Create a file with an Assistant that can search the web using DuckDuckGo.
from phi.assistant import Assistant
from import DuckDuckGo

assistant = Assistant(tools=[DuckDuckGo()], show_tool_calls=True)
assistant.print_response("Whats happening in France?", markdown=True)

Run the Assistant

Assistants use OpenAI by default. Set your OPENAI_API_KEY (you can get one from here).

export OPENAI_API_KEY=sk-***

Install openai & duckduckgo

pip install openai duckduckgo-search

Run the Assistant



Checkout the following AI Applications built using phidata:

  • PDF AI summarizes and answers questions from PDFs.
  • ArXiv AI answers questions about ArXiv papers using the ArXiv API.
  • HackerNews AI summarize stories, users and shares what’s new on HackerNews.

Next Steps

  1. Read the basics to learn more about phidata.
  2. Read about Assistants and how to customize them.
  3. Checkout the cookbook for in-depth examples and code.

Looking to build an AI product?

We’ve helped many companies build AI products, the general workflow is:

  1. Build an Assistant with proprietary data to perform tasks specific to your product.
  2. Connect your product to the Assistant via an API.
  3. Monitor and Improve your AI product.

We also provide dedicated support and development, book a call to get started.