Skip to content

vanstyagi/policy-llm-decision-engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 

Repository files navigation

πŸ›‘οΈ POLICY-QUERY-SYSTEM

End-to-End LLM Decision Engine for Insurance, Legal & HR Docs
Hackathon-Ready | Gemini-Powered | PDF-to-Decision in Seconds


πŸš€ QUICK DEMO

git clone https://github.com/vanstyagi/policy-llm-decision-engine.git
cd policy-query-system
pip install -r requirement.txt
echo "GEMINI_API_KEY=YOUR_KEY_HERE" > .env
python src/main.py "46-year-old male, knee surgery in Pune, 3-month policy"

βœ”οΈ Output will show in terminal and outputs/final.json like:

{
  "decision": "approved",
  "amount": null,
  "justification": "Knee surgery is covered. Age & location are valid per policy clauses.",
  "clauses": ["data_chunk95.txt", "data4_chunk56.txt", "data_chunk52.txt"]
}

πŸ“¦ PROJECT STRUCTURE

Folder / File Purpose
data/ Input folder for PDF / DOCX / EML
outputs/chunks/ Auto-generated document chunks (300 words)
outputs/final.json Final structured JSON output
src/check_data.py List available documents
src/chunk_docs.py Split documents into chunks
src/load_docs.py Extract raw text
src/load_chunks.py Load all chunk files
src/parse_query.py Parse natural query β†’ structured JSON
src/retrieve.py Semantic search via sentence-transformers
src/decide.py LLM (Gemini) generates decision JSON
src/main.py CLI entry point for full pipeline
.env Store API Key (never commit)
requirement.txt All dependencies
README.md

βš™οΈ INSTALLATION & USAGE

| 🧩 Step | πŸ› οΈ Command | | 1️⃣ Clone | git clone <repo-url> | | 2️⃣ Install Deps | pip install -r requirement.txt | | 3️⃣ Set API Key | echo "GEMINI_API_KEY=YOUR_KEY" > .env | | 4️⃣ Run | python src/main.py "<your query>" | | 5️⃣ Output | cat outputs/final.json |


βœ… FEATURE CHECKLIST

Capability βœ… Status
Natural-language query (free-text) βœ…
Parse age, gender, location, procedure βœ…
Ingest PDF, DOCX, and EML βœ…
Semantic search using embeddings βœ…
Gemini-based approve/reject reasoning βœ…
Clause-level mapping βœ…
JSON output for downstream usage βœ…

πŸ’¬ SAMPLE QUERIES

python src/main.py "46-year-old male, knee surgery in Pune, 3-month policy"
python src/main.py "23-year-old female, cardiac surgery, Mumbai, 6-month policy"
python src/main.py "60-year-old man, hip replacement, Delhi, 1-year policy"

🧠 TECH STACK

  • Python 3.11
  • PyPDF2, python-docx – document ingestion
  • Sentence-Transformers – semantic similarity search
  • Google Gemini 1.5 Flash – final decision reasoning
  • dotenv – key management

πŸ”„ PIPELINE OVERVIEW

🧩 Stage πŸ” Description
parse_query.py Regex / NLP β†’ extract query entities
retrieve.py Embed + semantic search over document chunks
decide.py Gemini generates final structured JSON
final.json Output β†’ usable by any downstream system

🧾 Flow:

Plain-English Query
        ↓
parse_query.py
        ↓
retrieve.py (embedding + search)
        ↓
decide.py (LLM reasoning)
        ↓
final.json

πŸ“œ LICENSE

MIT Β© VANSH TYAGI


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages