https://github.com/kacemmathlouthi/kubeflow-demo
full-stack Retrieval-Augmented Generation (RAG) chatbot designed as a PoC for GSoC 2025 (Project 12) with Kubeflow. It combines GitHub-based documentation ingestion, vector search, and LLM-powered responses into an interactive real-time assistant.
https://github.com/kacemmathlouthi/kubeflow-demo
chatbot documentation kubeflow langchain llms rag reactjs retrieval-augmented-generation weaviate
Last synced: about 2 months ago
JSON representation
full-stack Retrieval-Augmented Generation (RAG) chatbot designed as a PoC for GSoC 2025 (Project 12) with Kubeflow. It combines GitHub-based documentation ingestion, vector search, and LLM-powered responses into an interactive real-time assistant.
- Host: GitHub
- URL: https://github.com/kacemmathlouthi/kubeflow-demo
- Owner: KacemMathlouthi
- Created: 2025-03-20T03:08:53.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-06-09T00:38:48.000Z (5 months ago)
- Last Synced: 2025-06-09T01:27:57.525Z (5 months ago)
- Topics: chatbot, documentation, kubeflow, langchain, llms, rag, reactjs, retrieval-augmented-generation, weaviate
- Language: TypeScript
- Homepage: https://kubeflow.kacem-mathlouthi.tn/
- Size: 1.73 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# π€ Kubeflow Documentation Assistant (GSoC 2025 PoC)
> π§ͺ **Proof of Concept** for [Kubeflow GSoC Project 12 β βEmpowering Kubeflow Documentation with LLMsβ]
π **Live Demo:** [kubeflow.kacem-mathlouthi.tn](https://kubeflow.kacem-mathlouthi.tn)
---
## π Project Overview
This is a **full-stack Retrieval-Augmented Generation (RAG)** chatbot designed as a **PoC for GSoC 2024 (Project 12)** with Kubeflow. It combines GitHub-based documentation ingestion, vector search, and LLM-powered responses into an interactive real-time assistant.

---
## π§ How It Works
```mermaid
graph TD;
A[User Question] --> B[Similarity Search];
B --> C[Prompt + Docs];
C --> D[LLM via GROQ API];
D --> E[Chatbot Response];
```
1. π§ User submits a question
2. π Similar documents are retrieved using vector search
3. π§Ύ Retrieved chunks are passed as context to an LLM
4. π€ Final response is generated and streamed back to the frontend
---
## π§° Tech Stack
### π Backend (FastAPI)
- FastAPI + WebSockets
- Azure OpenAI & GROQ for LLM & embeddings
- Weaviate (local or remote) for vector storage
- LangChain for text chunking & prompt formatting
- Docker & Poetry
### π Frontend (React)
- React + TypeScript + Vite
- TailwindCSS + ShadCN UI for design
- WebSocket-based real-time chat
- Docker + NGINX for serving
- Markdown rendering with syntax highlighting
---
## π¦ Repo Structure
```
kacemmathlouthi-kubeflow-demo/
βββ backend/ # FastAPI, RAG logic, Weaviate, Gitingest integration
βββ frontend/ # Chat UI, WebSocket client, Tailwind
βββ docker-compose.yml
βββ README.md # β You're here
```
---
## π Getting Started
### π³ Run with Docker Compose (recommended)
```bash
# From the root directory
docker-compose up --build
```
- Frontend available at: `http://localhost`
- Backend API at: `http://localhost:8000`
### π» Run locally
#### Backend
```bash
cd backend
poetry install
poetry run uvicorn app.main:app --reload
```
#### Frontend
```bash
cd frontend
npm install
npm run dev
```
---
## π Live Demo
The application is deployed via **NGINX on Azure**, and available here:
π **[kubeflow.kacem-mathlouthi.tn](https://kubeflow.kacem-mathlouthi.tn/)**
---
## β
Implemented Features
- π Full RAG pipeline with LLM response generation
- π GitHub repo ingestion via Gitingest
- π§ Embedding + vector search with Weaviate
- π Real-time WebSocket chat
- βοΈ Configurable LLM model, temperature, max tokens
- π§Ύ Markdown support in replies
- π Dockerized & deployed to Azure
More info in [`frontend/src/components/implemented-features.tsx`](frontend/src/components/implemented-features.tsx)
---
## π§ͺ Planned Features
- π§ Multi-turn memory and session tracking
- π Ingest all Kubeflow repos, issues, articles, StackOverflow, etc.
- 𧬠RAG pipeline benchmarking & rerankers
- π§ Fine-tuning with Kubeflow Trainer
- βοΈ Modular pipeline with Kubeflow Pipelines
- π User feedback & prompt engineering
See [`frontend/src/components/upcoming-features.tsx`](frontend/src/components/upcoming-features.tsx)
---