Stecu-RAG / README.md
firman-ml's picture
Update README.md
e06af59 verified

A newer version of the Gradio SDK is available: 6.3.0

Upgrade
metadata
title: Stecu RAG Chatbot
emoji: πŸƒβ€β™‚οΈ
colorFrom: blue
colorTo: purple
sdk: gradio
sdk_version: 5.35.0
app_file: app.py

πŸƒβ€β™‚οΈ Stecu: Scrum Teaching Chatbot Unit

Live Demo: Try Stecu on Hugging Face Spaces


Welcome to Stecu, your personal AI Scrum coach! Stecu is a specialized chatbot designed to answer your questions about the Scrum framework with high accuracy, drawing its knowledge exclusively from the official Scrum Guide.

Whether you are a beginner learning the basics or an experienced practitioner needing a quick reference, Stecu is here to help you understand Scrum concepts, roles, events, and artifacts.

✨ How It Works: Retrieval-Augmented Generation (RAG)

Stecu is not a general-purpose chatbot. It's built using a Retrieval-Augmented Generation (RAG) architecture to ensure its answers are accurate and trustworthy. This prevents the model from "hallucinating" or providing information from outside its designated knowledge base.

The process is as follows:

  1. Load Knowledge: The official "Scrum Guide.pdf" is loaded and split into small, manageable chunks of text.
  2. Create Embeddings: Each chunk is converted into a numerical representation (a vector embedding) using a sentence-transformer model. These vectors are stored in a Chroma vector database.
  3. Retrieve Context: When you ask a question, Stecu converts your query into a vector and searches the database to find the most semantically relevant chunks from the Scrum Guide.
  4. Generate Answer: The retrieved chunks are passed as context to a large language model (mistralai/Mistral-7B-Instruct-v0.3). The model is explicitly instructed to formulate an answer only using the provided information.

This ensures that every answer is grounded in the official Scrum Guide.

πŸ› οΈ Tech Stack

This project was built using the following key technologies and libraries:

  • Python: The core programming language.
  • Gradio: To create the interactive web UI for the chatbot.
  • LangChain: To orchestrate the RAG pipeline, including document loading and text splitting.
  • Hugging Face: For the InferenceClient to access the Mistral model and HuggingFaceEmbeddings for creating text embeddings.
  • ChromaDB: As the in-memory vector store for efficient similarity search.
  • PyPDFLoader: To load and parse the content from the PDF file.

πŸš€ How to Run Locally

Want to run Stecu on your own machine? Follow these steps.

Prerequisites

  • Python 3.8 or higher
  • The Scrum Guide.pdf file in the project directory.

1. Clone the Repository

First, get the files from the Hugging Face Space repository.

git clone [https://huggingface.co/spaces/firman-ml/Stecu-RAG](https://huggingface.co/spaces/firman-ml/Stecu-RAG)
cd Stecu-RAG

2. Create a Virtual Environment

It's highly recommended to use a virtual environment to manage dependencies.

# Create the virtual environment
python -m venv .venv

# Activate it
# On Windows
.venv\Scripts\activate
# On macOS/Linux
source .venv/bin/activate

3. Install Dependencies

The required libraries are listed in the requirements.txt file.

pip install -r requirements.txt

4. Run the Application

Launch the Gradio app with the following command:

python app.py

A local URL (e.g., http://127.0.0.1:7860) will be displayed in your terminal. Open it in your browser to start chatting with Stecu!

⚠️ Disclaimer

Stecu's knowledge is strictly limited to the contents of the 2020 version of the Scrum Guide. It cannot answer questions outside of this scope or provide opinions. Its purpose is to be a reliable and accurate guide to the Scrum framework as written.