Skip to content
 
 

Latest commit

 

History

18 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

StreetVibes 🏙️

DOI

StreetVibes is a CLI tool that automatically analyses the 'vibe' of any street using AI. It combines OpenStreetMap data, Mapillary imagery, and local Large Language Models (LLMs) to generate urban planning summaries.

Just type the street name + city, and (if there are Mapillary images), get the summary!

Workflow overview

🛠️ Prerequisites

Before installing, make sure you have the following:

  1. Ollama, installed and running (ollama serve)
  2. AI models: pull the required models:
ollama pull llava
ollama pull llama3.1
  1. Mapillary client token: You need a free developer token to use Mapillary API.

📦 Installation (dev)

Clone the repository and perform an editable install. This allows you to modify the code and see changes instantly without reinstalling.

git clone https://github.com/ilyankou/streetvibes.git
cd streetvibes

# Install in editable mode
pip install -e .

🚀 Usage

First, set your Mapillary token as an environment variable (e.g., for Macs, add to your ~/.zshrc):

export MAPILLARY_TOKEN="your_token_here"

Then, run the tool with a location query:

$ streetvibes "Shoot-up Hill, London"

Advanced Options

You can customise the image sampling density, image output directory, and models used:

streetvibes "shoot-up hill, london" \
    --points 5 \
    --per-point 1 \
    --dir street_images \
    --v-model llava \
    --v-prompt "You are an elderly woman with mobility issues. Focus on sidewalks, crossings, and safety." \
    --t-model llama3.1 \
    --t-prompt "Summarize the overall street vibe in 3-4 sentences, highlighting livability and safety." \
    --json-keys "summary,land_use,walkability,traffic,greenery,safety,maintenance,socio_economic,variations" \
    --no-structured

Flags:

  • --points: Number of locations to sample along the street (default: 5)
  • --per-point: Number of images to download per location (default: 1)
  • --dir: Folder to save downloaded images (default: street_images)
  • --v-model: Vision model for image analysis (default: llava)
  • --v-prompt: Override the vision prompt for persona-based analysis (default: built-in urban planner prompt)
  • --t-model: Text model for summary synthesis (default: llama3.1)
  • --t-prompt: Override the text prompt used to summarize VLM descriptions (default: built-in urban planner prompt)
  • --json-keys: Comma-separated JSON keys for structured output (default: summary, land_use, walkability, traffic, greenery, safety, maintenance, socio_economic, variations)
  • --structured/--no-structured: Toggle structured JSON output (default: --structured)

License

MIT

About

[GISRUK 2026] StreetVibes is a CLI tool that automatically analyses the 'vibe' of any street using AI

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages