This repository contains Study Buddy AI, an automated LLM-powered quiz generator built with Streamlit and LangChain. The project is designed to demonstrate a complete AIOps lifecycle, featuring containerization, a robust CI/CD pipeline, and GitOps deployments on a Cloud Virtual Machine.
- Application Framework: Streamlit (Python)
- AI Engine: LangChain, Groq API (Llama-3 models)
- Containerization: Docker
- CI/CD Pipeline: Jenkins
- GitOps Delivery: ArgoCD
- Infrastructure: Kubernetes (Cloud VM)
- Frontend/Backend Engine: The
application.pyStreamlit app takes user queries. It connects to the Groq API utilizing LangChain schemas and prompts to securely output validated JSON-based interactive quizzes (MCQs and Fill-in-the-Blanks). - Jenkins Pipeline (CI): The
Jenkinsfileorchestrates the build process. UPON a code push to themainbranch, Jenkins automatically triggers, pulls the code, builds theDockerfileimage, pushes the updated container to Docker Hub, updates the deployment YAML file with the new tag, and commits that change back to Git. - ArgoCD GitOps (CD): ArgoCD constantly monitors the
manifests/directory in this GitHub repository. Once the Jenkins pipeline updates thedeployment.yamlwith the newest Docker Hub tag, ArgoCD detects the change and automatically synchronizes the state, pulling the new image and rolling out the update into the live Kubernetes cluster running on the Cloud VM.
If you want to run the application locally outside of Kubernetes:
# Clone the repository
git clone https://github.com/MhdAsker/Learning_Assistant_Jenkins_ArgoCD.git
cd Learning_Assistant_Jenkins_ArgoCD
# Install dependencies (ensure you have a venv initialized)
pip install -r requirements.txt
# Run the UI locally
streamlit run application.pyNote: Ensure your
.envcontains the required Groq API tokens.