multi

Goal: Build an LLM-based RAG App

Here is the MVP Implementation Plan.

5 stars

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/mvp/SKILL.md --create-dirs "https://raw.githubusercontent.com/Harmeet10000/skills/main/skills/product-management/mvp/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/mvp/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How Goal: Build an LLM-based RAG App Compares

Feature / AgentGoal: Build an LLM-based RAG AppStandard Approach
Platform SupportmultiLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Here is the MVP Implementation Plan.

Which AI agents support this skill?

This skill is compatible with multi.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

Goal: Build an LLM-based RAG App
Here is the MVP Implementation Plan.

MVP Scope
A "second brain" application that leverages Retrieval Augmented Generation (RAG) to integrate external knowledge and data with LLM capabilities. This MVP will allow users to upload their files as a knowledge base and perform natural language queries against that data using LM Studio.

Technical Stack
Frontend: Streamlit
Backend: FastAPI
LLM Integration: LM Studio

Core Features
1. File Upload
Users can upload documents (PDFs, text files, etc.) into the system.
Extract key information from the uploaded files and store them in a vector database or simple on-disk index.
2. Basic Search
Natural language search, powered by LM Studio.
In-context learning approach with few-shot learning to enhance responses.
RAG flow:
Retrieve relevant segments from the knowledge base.
Combine retrieved segments with user query.
Generate a context-enriched answer.

Data Structure
Document Schema
class Document:
    id: str           # Unique identifier
    title: str        # File title or name
    content: str      # Extracted text
    metadata: dict    # Any additional metadata (e.g., upload date, tags)

Index/Vector Embeddings
Depending on the chosen approach (vector DB vs. local embeddings):
Vector Database: Each Document (or chunk of a document) will have an embedding vector.
Local Index: Store embeddings in a local file or simple database.

Implementation Plan
1. Backend Setup with FastAPI
File Upload Endpoint


Accept file uploads (PDF, TXT, etc.).
Extract and preprocess text (OCR if necessary).
Split text into chunks for indexing.
Generate embeddings via LM Studio or a compatible embedding model.
Store the embeddings and metadata in a vector store local index.
Search Endpoint


Accept natural language queries.
Use embeddings to find the most relevant chunks from the knowledge base.
Construct context from these chunks.
Send context + query to LM Studio for final RAG-based answer.
Data Storage


For MVP, consider a simple JSON or SQLite-based storage for metadata and a local or cloud-based vector index.
Add basic error handling (invalid file format, missing data, etc.).
CORS Setup


Configure CORS in FastAPI to allow calls from the Streamlit frontend.

2. Frontend Development (Streamlit)
File Upload Interface


Simple file upload widget.
On submission, call the FastAPI file upload endpoint.
Provide feedback on success/failure.
Search Interface


Text input for queries.
On submission, call the FastAPI search endpoint.
Display the AI-generated response and (optionally) the top retrieved chunks.
UX & Basic Layout


Show a list of previously uploaded files (titles, metadata, etc.).
Simple and intuitive design with minimal clutter.
Provide error messages or success confirmations.
Error Handling & User Feedback


Show relevant messages for file upload errors, incomplete data, etc.
Display a loading indicator while the system is querying or processing.

API Endpoints
POST /api/files/upload


Description: Upload and store documents.
Payload: File(s) + optional metadata.
Response: Success message with document ID(s).
GET /api/files


Description: List all uploaded documents.
Response: A JSON array of documents with basic metadata.
GET /api/files/{id}


Description: Fetch the details of a specific document by ID.
Response: Document details (title, content if needed, metadata).
POST /api/search


Description: Search the knowledge base with a natural language query.
Payload: { "query": "Your question here" }
Response: RAG-based answer and possibly the top chunks or references.

Future Enhancements (Beyond MVP)
Authentication & Authorization for secure file sharing.
Advanced File Parsing (OCR for scanned PDFs, docx parsing).
Versioning & Revision History for uploaded documents.
UI Improvements such as advanced filtering, summarization, or highlight features.