mirror of
https://github.com/dataforcanada/d4c-service-geo-assistant.git
synced 2026-06-13 14:31:01 +02:00
be8affaa6c
* Add docs to download overture places data & ollama model * Hit local overture parquet files * Add osx gitignore * Add .env.example * Make overture data source selectable using .env * Add pytest marker to set right ENV vars during CI --------- Co-authored-by: Daniel Wiesmann <yellowcap@users.noreply.github.com>
82 lines
1.8 KiB
Markdown
82 lines
1.8 KiB
Markdown
# Geo Assistant
|
|
|
|
A geographic assistant that helps answer questions and perform tasks related to locations and geographic data.
|
|
|
|
## Environment Setup
|
|
|
|
The project uses environment variables for configuration. Copy `.env.example` to `.env` and customize as needed:
|
|
|
|
```bash
|
|
cp .env.example .env
|
|
```
|
|
|
|
Edit `.env` to set your configuration:
|
|
|
|
- `OLLAMA_MODEL`: Model name (default: `llama3.2`)
|
|
- `OLLAMA_BASE_URL`: Ollama server URL (default: `http://localhost:11434`)
|
|
- `API_BASE_URL`: API base URL for the frontend (default: `http://localhost:8000`)
|
|
|
|
The application will automatically load these variables from the `.env` file.
|
|
|
|
## Ollama Setup
|
|
|
|
Install [Ollama](https://ollama.ai/) and download the required models:
|
|
|
|
```bash
|
|
ollama pull ministral-3:14b-cloud
|
|
ollama pull gpt-oss:20b-cloud
|
|
```
|
|
|
|
These models are used for agent and satellite image analysis.
|
|
|
|
## Data Setup
|
|
|
|
Download Overture Maps place data locally:
|
|
|
|
```bash
|
|
mkdir -p data/overture/places
|
|
aws s3 sync s3://overturemaps-us-west-2/release/2025-11-19.0/theme=places/type=place/ data/overture/places/
|
|
```
|
|
|
|
## Development Setup
|
|
|
|
### Pre-commit Hooks
|
|
|
|
This project uses pre-commit hooks to ensure code quality. To set up pre-commit:
|
|
|
|
1. Install dependencies (including pre-commit):
|
|
|
|
```bash
|
|
uv sync
|
|
```
|
|
|
|
1. Install the git hooks:
|
|
|
|
```bash
|
|
uv run pre-commit install
|
|
```
|
|
|
|
Pre-commit will now automatically run ruff linting and formatting checks before each commit.
|
|
|
|
To manually run pre-commit on all files:
|
|
|
|
```bash
|
|
uv run pre-commit run --all-files
|
|
```
|
|
|
|
## Running the API
|
|
|
|
```bash
|
|
uv run uvicorn geo_assistant.api.app:app --reload
|
|
```
|
|
|
|
The API will be available at `http://localhost:8000`.
|
|
|
|
## Running the Frontend
|
|
|
|
```bash
|
|
streamlit run src/geo_assistant/frontend/app.py
|
|
```
|
|
|
|
The frontend will be available at `http://localhost:8501`.
|