Note: This is more of a proof-of-concept than a production-ready app. At this point, for example, I haven't added any testing. Use at your own risk! Also note that I haven't done QA on the instructions for installation below. If you run into any issues, please let me know.
This is an LLM-powered chat app that uses a Streamlit UI. It builds upon the standard Streamlit chat experience with the following:
- Streaming responses
- Function calling
- Chat history
- Memory (using embeddings)
- Chat sharing (warning: any user with access to your app can enter a URL at .com?shared_chat_id=<chat_id> to see a chat; chats are public by default)
- Get an OpenAI API key
- Create a Supabase account, project, and database
- Run
setup.sql
on your Supabase database - Clone or download this repo
- Change
.streamlit/secrets_example.toml
to.streamlit/secrets.toml
and add values for your OpenAI API key and Supabase URL and key
Once you complete the above, you can navigate to the directory of this README file and run this in terminal:
streamlit run streamlit_app.py