Build a Streamlit App
Streamlit is a great tool for building micro front-ends. You can use it to build user interfaces, internal dashboards or tools for internal use.
The streamlit-app
template provides codebase with Streamlit & PostgreSQL, a stack we love for its simplicity. Its simple but not to be underestimated.
Setup
Create a virtual environment
Install phidata
Install docker
Install docker desktop to run your app locally
Export your OpenAI key
You can get an API key from here.
Create your codebase
Create your codebase using the streamlit-app
template
This will create a folder streamlit-app
with the following structure:
Set OpenAI Key
Set your OPENAI_API_KEY
as an environment variable. You can get one from OpenAI.
Local Streamlit App
Streamlit allows us to build micro front-ends and is an extremely useful tool for building basic applications in pure python. Start your workspace using:
Press Enter to confirm and give a few minutes for the image to download (only the first time). Verify container status and view logs on the docker dashboard.
Follow these steps to only run Streamlit without Postgres.
Add your data
The PDF Agent uses the pdf_knowledge_base
defined in the ai/knowledge_base.py
file. To add your own PDFs:
Create a folder with your data
Create a folder data/pdfs
in the root directory of your app
Add your data
Add your files to the data/pdfs
folder
Update Knowledge Base
Click on the Update Knowledge Base
button to load the knowledge base.
Checkout the ai/knowledge_base.py
file for more information.
How this App works
The streamlit apps are defined in the app
folder and the Agents
powering these apps are defined in the ai/agents
folder. Checkout the files in the ai/agents
folder for more information.
Delete local resources
Play around and stop the workspace using:
Next
Congratulations on running your Streamlit App locally. Next Steps:
- Run your Streamlit App on AWS
- Read how to update workspace settings
- Read how to create a git repository for your workspace
- Read how to manage the development application
- Read how to format and validate your code
- Read how to add python libraries
- Chat with us on discord
Was this page helpful?