Bradley Charles
Rae Maffei
Livan Hagi Osman
Mark Yosinao
We are designing a prototype for a secure, in-house chatbot system with the focus on compliance, security, data privacy, and protecting intellectual property that are typically at risk with AI chatbots. Our proposed solution will include research, a detailed project report, and a final deliverable of a simple, working prototype. If possible, we wanted it to have multilingual capabilities.
- Compliance with HIPAA, FERPA, etc.
- Protection for Intellectual Property
- Run on internal, in-house infrastructure
- Provide articulate and helpful responses based on approved knowledge
- Use authentication tools to secure interactions
- Maintain audit logs as per compliance regulations
- Frontend
- TypeScript
- Next.js
- Backend
- Python
- FastAPI
- LLM
- Hugging Face (TinyLlama-1.1B-Chat)
- Authentication
- Basic token support (WIP)
- Python 3.11
- Node.js 18+ (with npm)
- Git
git clone https://github.com/OC-Chatbot/Secure-Internal-Chatbot-Design.git
cd Secure-Internal-Chatbot-DesignBackend setup:
python3.11 -m venv .venv
source .venv/bin/activate
pip install -r backend/requirements.txtFrontend setup:
npm installRun both services (recommended single command):
./.venv/bin/python start_services.pyThis starts uvicorn backend.main:app on port 8000 and next dev on port 3000. It also sets NEXT_PUBLIC_API_URL to http://localhost:8000/api if unset.
Manual alternative:
source .venv/bin/activate
export NEXT_PUBLIC_API_URL=http://localhost:8000/api
uvicorn backend.main:app --reload --host 0.0.0.0 --port 8000
# New terminal
npm run dev -- --port 3000Backend setup:
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r backend\requirements.txtFrontend setup:
npm installRun both services (recommended single command):
.\.venv\Scripts\python.exe .\start_services.pyManual alternative:
.\.venv\Scripts\Activate.ps1
$env:NEXT_PUBLIC_API_URL="http://localhost:8000/api"
uvicorn backend.main:app --reload --host 0.0.0.0 --port 8000
# New PowerShell window
npm run dev -- --port 3000- Frontend: http://localhost:3000 (chat UI at
/chat) - Backend docs: http://localhost:8000/docs
- The backend loads the TinyLlama model from Hugging Face; first run requires network access or a pre-cached model in your HF cache.
- Configure
NEXT_PUBLIC_API_URLif your backend runs on a different host/port. You can export it beforenpm run devor set it in.env.local.