A smart food and beverages bot that uses SOPs/policies to give response on user query and gives managers to the get dashboard access for completion, competency, and adherence.
Design and prototype an internal-facing digital training solution—centered on a Document Intelligence Bot (docbot)—that:
- Converts existing SOPs/policies into just-in-time, stepwise guidance (e.g., “Deep fryer safety: step 1… step 2…”).
- Delivers microlearning (short lessons + quizzes), supports spaced repetition, and tracks progress & compliance.
- Gives managers dashboards for completion, competency, and adherence (audit-ready).
- Works on low-friction devices used in F&B (shared tablets, kiosk mode, mobile BYOD).
- Docbot Chat that only answers from provided SOPs/policies (no hallucinations; must show citations).
- Procedure Mode (step-by-step, with checkboxes and “show me how” snippets/images if available).
- Quiz Engine (MCQ/true-false) + spaced repetition (e.g., Leitner).
- Manager Dashboard with: completion %, average score, last trained date, checklist adherence.
- User roles (Crew vs Manager) and basic auth (okta/email+otp/mock SSO acceptable).
- Content versioning: responses display “SOP vX.Y, date”.
- Frontend: ReactJs
- Backend: Appwrite and Python with FastAPI
- Vector Search: faiss
- Authentication: Appwrite Auth
- AI Integration: Groq AI
- Development: uvicorn for hot reloading
- Python
- Groq API Key
-
Clone the repository
git clone <repository-url> cd backend
-
Install dependencies
python3 -m venv ./venv
source venv/Scripts/activatepip install --no-cache-dir -r ./requirements.txt
-
Environment Setup Create a
.envfile in the root directory with the following variables:# AI (Groq) GROK_API_KEY=your_groq_api_key
-
Start the main server
uvicorn run main:app --reload
-
Start the frotend application
npm run dev
POST /api/inngest- upload a new fileGET /api/query- query to get response
-
Response Creation
- User submits a file and a group of file
- System creates a temp file
-
RAG Processing
- Inngest triggers and creates vector embeddings based on that temp file
- Then Query triggers it also creates vector embeddings
- And then perform vector search or similarity search on them
-
AI Response
- And based on that search results AI responds to that query
-
Port Conflicts If you see "address already in use" error:
# Find process using port: 8000 lsof -i :3000 # Kill the process kill -9 <PID>
-
AI Processing Errors
- Verify GROK_API_KEY in .env
- Check API quota and limits
- Validate request format
- Groq AI for AI processing
- Appwrite for authentication
