How mihirr-source/trial works
BIS is a decision-support web application that maps procurement language to Indian Standards and helps users check tender specifications. The main workflow is query or document intake, standard retrieval, allied-reference and compliance analysis, then a report or specification clauses. The graph also includes catalogue browsing, certification alerts, the multilingual assistant, and the documented offline catalogue-import capability. Some endpoint wiring and clause-generation details are not present in the sampled source, so those links are limited to documented relationships.
Main entry points: main.py FastAPI application · retriever.py Standards retriever · index.html BIS web UI · catalog.py Seed standards catalogue
Components 16
Web interface
- BIS web UI
bis_engine/static/index.html - Tender analyzer UI
bis_engine/static/js/analyzer.js - Assistant UI
bis_engine/static/js/chat.js - Language switcher
bis_engine/static/js/i18n.js
API workflows
- FastAPI application
bis_engine/main.py - Document text extraction
bis_engine/engine/extract.py - Tender analyzer
bis_engine/engine/analyzer.py - Clause generator
bis_engine/engine/clauses.py - Standards assistant
bis_engine/engine/assistant.py
Recommendation engine
- Query normalization
bis_engine/engine/normalize.py - Standards retriever
bis_engine/engine/retriever.py - Optional embeddings
bis_engine/engine/embeddings.py
Catalogue data
- Seed standards catalogue
bis_engine/data/catalog.py - Snapshot importer
bis_engine/data/importers/bis_snapshot.py
Other components
- Procurement user
- Optional LLM service
Connections 19
- Procurement user → BIS web UI: enters query
- BIS web UI → FastAPI application: requests standards
- Tender analyzer UI → FastAPI application: submits analysis
- Assistant UI → FastAPI application: sends question
- FastAPI application → BIS web UI: serves pages
- FastAPI application → Document text extraction: extracts upload
- FastAPI application → Tender analyzer: analyzes text
- FastAPI application → Clause generator: generates clauses
- FastAPI application → Standards assistant: answers question
- FastAPI application → Seed standards catalogue: lists standards
- Tender analyzer → Standards retriever: retrieves candidates
- Tender analyzer → Seed standards catalogue: checks references
- Standards assistant → Standards retriever: searches standards
- Standards retriever → Query normalization: normalizes query
- Standards retriever → Seed standards catalogue: reads standards
- Standards retriever → Optional embeddings: encodes documents
- Standards assistant → Optional LLM service: refines response
- Snapshot importer → Seed standards catalogue: checks existing codes
- Language switcher → BIS web UI: translates interface