A simple, customizable ChatGPT web app built with Streamlit. Chat, upload documents, set bot personality, and more—all with your own OpenAI API key.
Author: Patrick Peluse / Simsara
Website: https://simsara.com
Repo: https://github.com/simsara-org/streamlit-gpt-chat
If this tool saves you time consider supporting or contributing:
ADA: addr1q9v8ymz760w2a8ja9g0znchgxf42uj27p8cvx6p2jq9dgt672djtjn96uawdpaq2xn54vr6rkd24ej7rcxz29cly55mqm0vjlp
- Chat with available API GPT-3.5/4/5 and every release via your own OpenAI API key (never share your key!)
- Upload documents (PDF, Word, Images, Text) for contextual Q&A
- Multiple bot personalities—choose playful, formal, technical, and more
- Download your chat history as JSON, Markdown, txt
- Resume any session previous session, Use Multiple Models in one chat
- Chunking built in for large bodies of text
- Local-first (no user data stored; all computation in your browser/your API key)
Linux
python3 -m venv .venv
source .venv/bin/activate
Windows Powershell
.\venv\Scripts\Activate.ps1
- Clone the repo:
git clone https://github.com/simsara-org/streamlit-gpt-chat
cd streamlit-gpt-chat
- Install requirements (ideally in a virtualenv):
pip install -r requirements.txt
- Set your OpenAI API key: The app will prompt for it when running, OR set an environment variable:
Linux
export OPENAI_API_KEY="sk-..."
Windows Powershell
[System.Environment]::SetEnvironmentVariable('OPENAI_API_KEY', 'sk-...', 'User')
or (Alternative API Location)
user@user-ms1111:~/streamlit-gpt-chat/.streamlit$
.
└── secrets.toml
- Run the app:
streamlit run main.py
- Open your browser to the local address provided.
git clone https://github.com/simsara-org/streamlit-gpt-chat
cd streamlit-gpt-chat
docker build --no-cache -t gpt-chat .
docker run \
-p 8501:8501 \
-e OPENAI_API_KEY="$OPENAI_API_KEY" \
gpt-chat
Local:
http://localhost:8501
WSL / LAN:
http://0.0.0.0:8501
Ctrl+C
Or list/stop:
docker ps
docker stop <container_id>
docker build --no-cache -t gpt-chat .
MIT
Leave suggestions/bug reports as GitHub issues!










