How anish-lab-blip/satquery-ai works
SatQuery AI accepts satellite-image questions and routes each request through an advisory intent router and deterministic policy planner to task specialists; the controller dispatches them and assembles a confidence-scored result with evidence and an execution trace. Its documented capabilities include VQA and captioning, grounding, bi-temporal change detection, change-VQA, and optical-SAR fusion. The deployment tree also contains a stateless gateway and inference-serving components. Some runtime modules are unsampled, so the graph shows only documented or excerpt-supported connections and does not infer internal preprocessing or evaluation wiring.
Main entry points: registry.py Specialist registry · controller.py Analysis controller · app.py API gateway · main.py Render proxy
Components 20
API and deployment
- API gateway
gateway/app.py - Render proxy
deploy/render/main.py - Inference server
deploy/codespace/serve.py - Serving adapters
app/serving.py
Request orchestration
- Analysis controller
core/controller.py - Intent router
router/classifier.py - Policy planner
core/planner.py - Specialist registry
core/registry.py
Task specialists
- VQA and caption
specialists/vqa/inference.py - Visual grounding
specialists/grounding/specialist.py - Change detection
specialists/change/specialist.py - Change-VQA
specialists/change/vqa_specialist.py - Optical-SAR fusion
specialists/optical_sar/specialist.py
Shared capabilities
- Image preparation
preprocessing/imagery.py - Geospatial transforms
geospatial/transform.py - Evidence aggregation
evidence/engine.py - Confidence calibration
evidence/confidence.py
Evaluation
- Benchmark evaluation
evaluation/runner.py
Other components
- Questioner
- Static frontend
Connections 18
- Questioner → Static frontend: asks
- Static frontend → API gateway: sends request
- API gateway → Render proxy: proxies request
- Render proxy → Inference server: forwards inference
- Inference server → Serving adapters: serves request
- Serving adapters → Analysis controller: runs analysis
- Analysis controller → Intent router: requests intent
- Analysis controller → Policy planner: requests plan
- Policy planner → Specialist registry: selects specialists
- Analysis controller → Specialist registry: dispatches plan
- Specialist registry → VQA and caption: constructs
- Specialist registry → Visual grounding: constructs
- Specialist registry → Change detection: constructs
- Specialist registry → Change-VQA: constructs
- Specialist registry → Optical-SAR fusion: constructs
- Analysis controller → Evidence aggregation: aggregates results
- Evidence aggregation → Confidence calibration: calibrates scores
- Analysis controller → Static frontend: returns envelope