A simple chatbot that helps students reflect on their projects and build academic portfolios.
Built with Streamlit and OpenAI's GPT-4o.
- π§ GPT-4o chatbot with a custom prompt focused on reflection and identity-building
- π Upload your own project files:
- PDF, DOCX, TXT, CSV, MD, PPTX, XLSX, HTML
- π Uses a shared vector store for reference material (e.g. example portfolios)
- π¬ Maintains full conversation memory within the session
-
Clone the repo:
git clone https://github.com/your-username/portefoljebot.git cd portefoljebot -
Install dependencies:
pip install -r requirements.txt
-
Create a
.streamlit/secrets.tomlfile with your OpenAI API key, your custom prompt and login credentials:OPENAI_API_KEY=sk-... PROMPT_TEXT = """... LOGIN_USERNAME = ... LOGIN_PASSWORD = ... -
Run the app:
streamlit run app.py
PortfolioBot/
βββ src/
β βββ .streamlit/ # Streamlit config and secrets
β β βββ secrets.toml # API key, custom prompt, login credentials
β βββ app.py # Streamlit UI (chat interface, login)
β βββ main.py # Backend logic (file parsing, GPT calls)
β
βββ image.png # Optional visual asset (e.g. for docs)
βββ .gitignore # Ignore secrets, envs, cache, etc.
βββ README.md # Documentation
βββ requirements.txt # Python dependencies
- Python 3.9+
- OpenAI Python SDK
- Streamlit
- PyPDF2, python-docx, python-pptx, openpyxl, beautifulsoup4
- Uploaded files are only used during the active chat session.
- Shared vector store data is static and anonymized.
