An open API service indexing awesome lists of open source software.

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.

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.

![Kubeflow Chatbot UI Screenshot](https://i.imgur.com/nw5jZZj.png)

---

## 🧠 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)

---