How anurag07-crypto/grasp works
This repository builds a Kubernetes learning knowledge graph from PDF corpora: documents are chunked, an LLM extracts concepts and prerequisite relationships, and a graph builder serializes those relationships. A separate embedding path generates concept vectors; a Chroma-backed storage helper is present, but the sampled code does not show it being wired into that path. The FastAPI entry point is empty, so no user-facing serving workflow is evidenced. The README is empty, and some source excerpts are incomplete.
Main entry points: extracter.py Concept extractor · embedder.py Concept embedding pipeline · extracted_chunks.json Extracted concepts · builder.py Prerequisite graph builder
Components 15
Corpus ingestion
- PDF corpus
corpora - PDF chunker
backend/ingestion/chunker.py - Text chunks
data/chunks/chunks.json
Knowledge modeling
- Concept extractor
backend/ingestion/extracter.py - Extraction prompt
backend/ingestion/prompt.py - Extracted concepts
data/extracted/extracted_chunks.json - Prerequisite graph builder
backend/graph/builder.py
Concept embeddings
- Concept embedding pipeline
backend/ingestion/embedder.py - Local embedding wrapper
backend/vector/embedder.py - Concept vectors
data/extracted/concept_embeddings.json
Persistence
- Serialized graph
data/graph/graph.pkl - Chroma store helper
backend/graph/store.py - Persistent vector store
Other components
- Groq LLM
- SentenceTransformer model
Connections 13
- PDF corpus → PDF chunker: loads PDFs
- PDF chunker → Text chunks: writes chunks
- Concept extractor → Text chunks: reads chunks
- Concept extractor → Extraction prompt: formats prompt
- Concept extractor → Groq LLM: requests extraction
- Concept extractor → Extracted concepts: writes concepts
- Prerequisite graph builder → Extracted concepts: reads concepts
- Prerequisite graph builder → Serialized graph: serializes graph
- Concept embedding pipeline → Extracted concepts: reads concepts
- Concept embedding pipeline → Local embedding wrapper: requests embeddings
- Local embedding wrapper → SentenceTransformer model: encodes concepts
- Concept embedding pipeline → Concept vectors: writes vectors
- Chroma store helper → Persistent vector store: initializes collection