# arunht2211-lab/ai-neet-biology-mock-test-generator-llm-rag architecture

> Architecture diagram of the GitHub repository arunht2211-lab/ai-neet-biology-mock-test-generator-llm-rag, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/arunht2211-lab/ai-neet-biology-mock-test-generator-llm-rag
- Repository: https://github.com/arunht2211-lab/ai-neet-biology-mock-test-generator-llm-rag

## Overview

This repository is a NEET Biology mock-test generator. The visible Streamlit workflow loads a prepared question bank, generates a 90-question paper with a fixed difficulty mix, displays analysis, and offers CSV download. Notebook names indicate additional data-cleaning, text-preparation, embedding, vector-search, evaluation, and PDF/multiple-paper capabilities. Their internal wiring is not visible in the sampled source, so those relationships are left unconnected.

Main entry points: [`app.py`](https://github.com/arunht2211-lab/ai-neet-biology-mock-test-generator-llm-rag/blob/main/app.py) (Streamlit interface)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_application["Mock-test app"]
  node_app["Streamlit interface<br/>[app.py]"]
  node_bank["Prepared question bank"]
  node_selection["Difficulty-based selection<br/>[app.py]"]
  node_analysis["Paper analysis<br/>[app.py]"]
  node_csv["CSV download<br/>[app.py]"]
end

subgraph group_preparation["Content preparation"]
  node_cleaning["Data cleaning"]
  node_textprep["Text preparation"]
  node_eda["Exploratory analysis"]
end

subgraph group_retrieval["RAG and retrieval"]
  node_embedding["Embedding generation"]
  node_faiss[("FAISS vector database")]
end

subgraph group_outputs["Paper outputs and evaluation"]
  node_generator["Mock-test generation"]
  node_multiple["Multiple paper generation"]
  node_pdf["PDF generation"]
  node_evaluation["Evaluation"]
end

node_student(("Test creator"))

node_student -->|"uses"| node_app
node_app -->|"loads CSV"| node_bank
node_app -->|"invokes"| node_selection
node_selection -->|"provides paper"| node_analysis
node_app -->|"offers download"| node_csv

click node_app "https://github.com/arunht2211-lab/ai-neet-biology-mock-test-generator-llm-rag/blob/main/app.py"
click node_selection "https://github.com/arunht2211-lab/ai-neet-biology-mock-test-generator-llm-rag/blob/main/app.py"
click node_analysis "https://github.com/arunht2211-lab/ai-neet-biology-mock-test-generator-llm-rag/blob/main/app.py"
click node_csv "https://github.com/arunht2211-lab/ai-neet-biology-mock-test-generator-llm-rag/blob/main/app.py"
click node_cleaning "https://github.com/arunht2211-lab/ai-neet-biology-mock-test-generator-llm-rag/blob/main/Data_cleaning%20(1).ipynb"
click node_textprep "https://github.com/arunht2211-lab/ai-neet-biology-mock-test-generator-llm-rag/blob/main/Text_Preparation.ipynb"
click node_embedding "https://github.com/arunht2211-lab/ai-neet-biology-mock-test-generator-llm-rag/blob/main/Embedding_Generation.ipynb"
click node_faiss "https://github.com/arunht2211-lab/ai-neet-biology-mock-test-generator-llm-rag/blob/main/FAISS_Vector_Database%20(1).ipynb"
click node_generator "https://github.com/arunht2211-lab/ai-neet-biology-mock-test-generator-llm-rag/blob/main/Mock_Test_Generator%20(1).ipynb"
click node_multiple "https://github.com/arunht2211-lab/ai-neet-biology-mock-test-generator-llm-rag/blob/main/08_Multiple_Paper_Generator.ipynb.ipynb"
click node_pdf "https://github.com/arunht2211-lab/ai-neet-biology-mock-test-generator-llm-rag/blob/main/PDF_Generator%20(1).ipynb"
click node_eda "https://github.com/arunht2211-lab/ai-neet-biology-mock-test-generator-llm-rag/blob/main/Exploratory_Data_Analysis.%20(1).ipynb"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_app,node_bank,node_selection,node_analysis,node_csv toneBlue
class node_cleaning,node_textprep,node_eda toneAmber
class node_embedding,node_faiss toneMint
class node_generator,node_multiple,node_pdf,node_evaluation toneRose
class node_student toneIndigo
```

## Components

### Mock-test app

- [Streamlit interface](https://github.com/arunht2211-lab/ai-neet-biology-mock-test-generator-llm-rag/blob/main/app.py): `app.py`
- **Prepared question bank**
- [Difficulty-based selection](https://github.com/arunht2211-lab/ai-neet-biology-mock-test-generator-llm-rag/blob/main/app.py): `app.py`
- [Paper analysis](https://github.com/arunht2211-lab/ai-neet-biology-mock-test-generator-llm-rag/blob/main/app.py): `app.py`
- [CSV download](https://github.com/arunht2211-lab/ai-neet-biology-mock-test-generator-llm-rag/blob/main/app.py): `app.py`

### Content preparation

- [Data cleaning](https://github.com/arunht2211-lab/ai-neet-biology-mock-test-generator-llm-rag/blob/main/Data_cleaning%20(1).ipynb): `Data_cleaning (1).ipynb`
- [Text preparation](https://github.com/arunht2211-lab/ai-neet-biology-mock-test-generator-llm-rag/blob/main/Text_Preparation.ipynb): `Text_Preparation.ipynb`
- [Exploratory analysis](https://github.com/arunht2211-lab/ai-neet-biology-mock-test-generator-llm-rag/blob/main/Exploratory_Data_Analysis.%20(1).ipynb): `Exploratory_Data_Analysis. (1).ipynb`

### RAG and retrieval

- [Embedding generation](https://github.com/arunht2211-lab/ai-neet-biology-mock-test-generator-llm-rag/blob/main/Embedding_Generation.ipynb): `Embedding_Generation.ipynb`
- [FAISS vector database](https://github.com/arunht2211-lab/ai-neet-biology-mock-test-generator-llm-rag/blob/main/FAISS_Vector_Database%20(1).ipynb): `FAISS_Vector_Database (1).ipynb`

### Paper outputs and evaluation

- [Mock-test generation](https://github.com/arunht2211-lab/ai-neet-biology-mock-test-generator-llm-rag/blob/main/Mock_Test_Generator%20(1).ipynb): `Mock_Test_Generator (1).ipynb`
- [Multiple paper generation](https://github.com/arunht2211-lab/ai-neet-biology-mock-test-generator-llm-rag/blob/main/08_Multiple_Paper_Generator.ipynb.ipynb): `08_Multiple_Paper_Generator.ipynb.ipynb`
- [PDF generation](https://github.com/arunht2211-lab/ai-neet-biology-mock-test-generator-llm-rag/blob/main/PDF_Generator%20(1).ipynb): `PDF_Generator (1).ipynb`
- **Evaluation**

### Other components

- **Test creator**

## Connections

- Test creator → Streamlit interface: uses
- Streamlit interface → Prepared question bank: loads CSV
- Streamlit interface → Difficulty-based selection: invokes
- Difficulty-based selection → Paper analysis: provides paper
- Streamlit interface → CSV download: offers download
