POSEIDON is a multi-agent oceanographic analysis system for Argo float data.
It supports natural language querying, retrieval, analysis, validation, and rich interactive visualization.
- Multi-agent orchestration (
query_understanding -> data_retrieval -> analysis -> validation) - Natural language query parsing (location, depth, time range, variables)
- Argo ERDDAP data retrieval + SQLite-backed analytics
- Validation with confidence scoring, time-window checks, and outlier-rate checks
- Streamlit app with:
- live execution progress events
- diagnostics cards
- Plotly interactive visualizations (trends, depth profile, geo view, correlations)
- FastAPI endpoints including
/v1/queryand/v1/stream/{conversation_id}
- Python 3.11+
- OpenAI API key
git clone https://github.com/adi9336/POSEIDON.git
cd POSEIDON
python -m venv .venv
.\.venv\Scripts\Activate.ps1
.\.venv\Scripts\pip3.exe install -r requirements.txtCreate .env in project root:
OPENAI_API_KEY=your_openai_api_key_here
GOOGLE_MAPS_API_KEY=your_google_maps_api_key_here.\.venv\Scripts\Activate.ps1
streamlit run app.pyApp URL:
http://localhost:8501
.\.venv\Scripts\Activate.ps1
uvicorn src.api.server:app --reloadAPI URLs:
- Docs:
http://127.0.0.1:8000/docs - OpenAPI:
http://127.0.0.1:8000/openapi.json - Health:
http://127.0.0.1:8000/health
-
POST /query
Legacy compatibility endpoint. -
POST /v1/query
Multi-agent orchestrator response (status,result,confidence,trace_id). -
WS /v1/stream/{conversation_id}
Execution event streaming.
{
"query": "Analyze temperature, salinity, and nitrate near Arabian Sea from 2024-05-01 to 2024-06-30 and give key insights.",
"mode": "multi"
}.\.venv\Scripts\python.exe -m pytest -qPOSEIDON/
├── app.py
├── config/
├── docs/
├── src/
│ ├── agent/
│ ├── agents/
│ ├── api/
│ ├── memory/
│ ├── orchestrator/
│ ├── skills/
│ ├── state/
│ └── tools/
├── tests/
├── requirements.txt
└── pyproject.toml
argo_data.dbis runtime state and should generally not be committed.- If you see OpenAI
401 invalid_api_key, rotate/update your key in.env.