Views
No views yet
RaiyanKhaan/KrishokChat-Advisory-System/
├── README.md # Main Model Card & Usage Guide
├── vision/ # Ultralytics YOLO Crop & Disease Vision Models
│ ├── crop_classifier/
│ │ ├── model.pt # 9-Crop Root Classifier (11.96 MB)
│ │ └── class_names.json # Crop class mapping
│ ├── brassica_disease/
│ │ ├── model.pt # Brassica Disease Classifier (10.54 MB)
│ │ ├── class_names.json # Disease labels (Alternaria, Black Rot, Downy Mildew, etc.)
│ │ └── disease_details.json # Symptoms & remedy metadata
│ ├── corn_disease/
│ │ ├── model.pt # Corn / Maize Disease Classifier (10.52 MB)
│ │ ├── class_names.json # Labels (Common Rust, Gray Leaf Spot, Northern Leaf Blight, Healthy)
│ │ └── disease_details.json
│ ├── potato_disease/
│ │ ├── model.pt # Potato Disease Classifier (10.52 MB)
│ │ ├── class_names.json # Labels (Early Blight, Late Blight, Healthy)
│ │ └── disease_details.json
│ ├── rice_disease/
│ │ ├── model.pt # Rice Disease Classifier (3.06 MB)
│ │ ├── class_names.json # Labels (Bacterial Blight, Brown Spot, Blast, Rice Hispa, Sheath Blight)
│ │ └── disease_details.json
│ ├── wheat_disease/
│ │ ├── model.pt # Wheat Disease Classifier (9.00 MB)
│ │ ├── class_names.json # Labels (Wheat Blast, Leaf Rust, Stem Rust, Stripe Rust, etc.)
│ │ ├── disease_details.json
│ │ └── metadata.json
│ ├── verification_report.json # Benchmark accuracies & test validation outputs
│ └── verification_report_live.md
├── gemma_llm/ # Bengali Agricultural Domain Language Models
│ ├── krishokchat.f16.gguf # 16-bit GGUF model for fast CPU/GPU inference via llama.cpp/Ollama (1.29 GB)
│ └── checkpoint-4020/ # Stage-1 SFT Fine-Tuned LoRA Adapter Weights & Tokenizer
│ ├── adapter_model.safetensors # LoRA weights (266.2 MB)
│ ├── adapter_config.json # LoRA hyperparameter configuration
│ ├── tokenizer.json # Bengali-extended SentencePiece tokenizer (30.68 MB)
│ ├── tokenizer_config.json
│ ├── processor_config.json
│ ├── chat_template.jinja # Jinja2 chat template for conversation turns
│ ├── trainer_state.json # Training history & loss curves
│ └── training_args.bin
├── rag_knowledge_index/ # Hybrid Dense (FAISS) + Sparse (BM25) Knowledge System
│ ├── indexes/
│ │ ├── nodes.faiss # FAISS FlatIP index (BGE-M3 1024-dim dense embeddings) (8.34 MB)
│ │ ├── embeddings.npy # Dense embedding matrix
│ │ ├── bm25_index.pkl # Sparse BM25 Okapi retrieval index (16.23 MB)
│ │ ├── bm25_corpus_tok.pkl # Tokenized BM25 corpus (4.47 MB)
│ │ ├── node_ids.json # Node identifier lookup table
│ │ ├── term_map.json # Domain taxonomy, pesticide brand mapping & disease synonyms
│ │ └── phase4_dialect_map.json # 6-Region Dialect normalization map (Barisal, Chittagong, Sylhet, etc.)
│ ├── processed/
│ │ ├── knowledge_nodes_clean.jsonl # 2,135 Clean Knowledge Nodes (BARC, BARI, BRRI, CABI, DAE) (11.99 MB)
│ │ └── knowledge_nodes_refined.jsonl # Refined multi-turn grounded knowledge nodes (9.95 MB)
│ ├── eval/
│ │ ├── farmer_benchmark_1000.jsonl # 1,000 real-world Bengali farmer benchmark queries
│ │ ├── coverage_gaps_v1.json # Coverage gap audit report
│ │ └── dialect_map_derivation_audit_v1.json
│ ├── provenance/
│ │ ├── manifest_md_to_qa.json # Literature-to-QA audit trail (9.98 MB)
│ │ └── manifest_node_to_qa.json # Node-to-QA audit trail (2.78 MB)
│ ├── manifest.json # Build manifest with version hashes
│ └── README.md
└── advisory_engine/ # Structured Advisory Mapping
├── disease_knowledge_map.json # Disease-to-remedy & dosage structured dictionary
├── generated_knowledge_nodes.jsonl # Multi-step expert verified advisory nodes
├── generation_tasks.json # Advisory evaluation tasks
└── test_cases.md # Clinical test cases & expected responsesBrassica, Corn, Potato, Rice, Wheat, Solanacea, etc.).1from ultralytics import YOLO
2from PIL import Image
3
4# 1. Classify Crop
5crop_model = YOLO("vision/crop_classifier/model.pt")
6crop_result = crop_model("leaf.jpg")[0]
7predicted_crop = crop_model.names[crop_result.probs.top1]
8print(f"Detected Crop: {predicted_crop}")
9
10# 2. Classify Disease (e.g., Rice)
11if predicted_crop.lower() == "rice":
12 disease_model = YOLO("vision/rice_disease/model.pt")
13 disease_result = disease_model("leaf.jpg")[0]
14 predicted_disease = disease_model.names[disease_result.probs.top1]
15 print(f"Diagnosis: {predicted_disease}")1from transformers import AutoModelForCausalLM, AutoTokenizer
2from peft import PeftModel
3import torch
4
5base_model_id = "google/gemma-2-2b-it" # or 4B base
6tokenizer = AutoTokenizer.from_pretrained("gemma_llm/checkpoint-4020")
7base_model = AutoModelForCausalLM.from_pretrained(
8 base_model_id,
9 torch_dtype=torch.float16,
10 device_map="auto"
11)
12model = PeftModel.from_pretrained(base_model, "gemma_llm/checkpoint-4020")
13
14prompt = "<start_of_turn>user\nধানের ব্লাস্ট রোগের লক্ষণ ও প্রতিকার কী?<end_of_turn>\n<start_of_turn>model\n"
15inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
16outputs = model.generate(**inputs, max_new_tokens=300, temperature=0.2)
17print(tokenizer.decode(outputs[0], skip_special_tokens=True))1from llama_cpp import Llama
2
3llm = Llama(
4 model_path="gemma_llm/krishokchat.f16.gguf",
5 n_ctx=2048,
6 n_threads=6
7)
8output = llm(
9 "<start_of_turn>user\nআলুর লেট ব্লাইট কীভাবে প্রতিরোধ করব?<end_of_turn>\n<start_of_turn>model\n",
10 max_tokens=256,
11 temperature=0.2
12)
13print(output["choices"][0]["text"])BAAI/bge-m3 multilingual embeddings across 2,135 curated agricultural knowledge nodes.1import faiss
2import numpy as np
3import pickle
4import json
5
6# 1. Load FAISS index and metadata
7index = faiss.read_index("rag_knowledge_index/indexes/nodes.faiss")
8with open("rag_knowledge_index/indexes/node_ids.json", "r", encoding="utf-8") as f:
9 node_ids = json.load(f)
10
11# 2. Load BM25 index
12with open("rag_knowledge_index/indexes/bm25_index.pkl", "rb") as f:
13 bm25 = pickle.load(f)
14
15print(f"FAISS index loaded with {index.ntotal} vectors.")suggested-questions.tsx)suggested-questions.tsx connects directly to this model suite:predicted_crop, predicted_disease) are mapped via CROP_LABELS and DISEASE_LABELS to dynamically generate targeted Bengali advisory prompts.DialectSelector triggers regional dialect queries normalized by phase4_dialect_map.json into the hybrid RAG retrieval pipeline.