How vinayaka-29/vyomix works
SatQuery AI is a web platform for asking natural-language questions about remote-sensing imagery. Users upload sensor or time-paired images, submit a query, and receive an automatically routed analysis with evidence, visual overlays, confidence and an auditable trace; reports can be downloaded. The README documents the controller stages and major specialist capabilities. Some backend excerpts are partial, so links among unsampled implementation details are omitted; the frontend client excerpt also shows a different endpoint from the documented upload/query flow.
Main entry points: routes.py Upload and Query API · executor.py Plan Executor · index.tsx Analysis Workspace · satquery.ts API Client
Components 28
User Interface
- Analysis Workspace
frontend/src/routes/index.tsx - Image Upload
frontend/src/components/UploadPanel.tsx - Query Input
frontend/src/components/QueryBox.tsx - API Client
frontend/src/lib/satquery.ts - Results and Overlays
frontend/src/components/ResultsDashboard.tsx - Trace Viewer
frontend/src/components/ExecutionTracePanel.tsx
API and Controller
- FastAPI Service
backend/main.py - Upload and Query API
backend/api/routes.py - Raster Validation
backend/validation/file_validator.py - Modality Detection
backend/validation/modality_detector.py - Query Interpreter
backend/agent/query_interpreter.py - Task Compatibility
backend/agent/task_classifier.py - Execution Planner
backend/agent/planner.py - Plan Executor
backend/agent/executor.py
Analysis Specialists
- Image VQA
backend/models/vqa_model.py - Scene Captioning
backend/models/captioning_model.py - Text Grounding
backend/models/grounding_model.py - Change Detection
backend/models/change_detection.py - Change VQA
backend/models/change_vqa_model.py - Optical-SAR Fusion
backend/models/optical_sar_fusion.py - VLM Inference
backend/models/model_server.py
Evidence and Reporting
- Evidence Fusion
backend/agent/evidence_fusion.py - Confidence and Conflicts
backend/agent/confidence.py - Execution Trace
backend/agent/execution_trace.py - Mission PDF Report
backend/reporting/report_generator.py
Model Adaptation
- LoRA Fine-Tuning
backend/training/lora_finetune_vlm.py
Other components
- Analyst
- BigEarthNet and VRSBench
Connections 27
- Analyst → Analysis Workspace: uses
- Analysis Workspace → Image Upload: presents
- Analysis Workspace → Query Input: presents
- Analysis Workspace → API Client: submits analysis
- API Client → FastAPI Service: requests analysis
- FastAPI Service → Upload and Query API: registers routes
- Upload and Query API → Raster Validation: validates uploads
- Upload and Query API → Modality Detection: detects modality
- Upload and Query API → Query Interpreter: interprets query
- Query Interpreter → Task Compatibility: provides intent
- Task Compatibility → Execution Planner: checks compatibility
- Execution Planner → Plan Executor: dispatches plan
- Plan Executor → Image VQA: runs specialist
- Plan Executor → Scene Captioning: runs specialist
- Plan Executor → Text Grounding: runs specialist
- Plan Executor → Change Detection: runs specialist
- Plan Executor → Change VQA: runs specialist
- Plan Executor → Optical-SAR Fusion: runs specialist
- Image VQA → VLM Inference: uses inference
- Text Grounding → VLM Inference: uses inference
- Plan Executor → Evidence Fusion: submits evidence
- Evidence Fusion → Confidence and Conflicts: scores disagreement
- Upload and Query API → Execution Trace: records execution
- Upload and Query API → Mission PDF Report: generates report
- Upload and Query API → Results and Overlays: returns analysis
- Upload and Query API → Trace Viewer: returns trace
- LoRA Fine-Tuning → BigEarthNet and VRSBench: adapts on