GeoBuddy is a geography agent that analyzes images to predict locations based on visible cues such as landmarks, architecture, and cultural symbols.

Key Capabilities

  • Location Identification: Predicts location details from uploaded images
  • Detailed Reasoning: Explains predictions based on visual cues
  • User-Friendly Ul: Built with Streamlit for an intuitive experience

Simple Examples to Try

  • Landscape: A city skyline, a mountain panorama, or a famous landmark
  • Architecture: Distinct buildings, bridges, or unique cityscapes
  • Cultural Clues: Text on signboards, language hints, flags, or unique clothing

Advanced Usage

Try providing images with subtle details, like store signs in different languages or iconic but less globally famous landmarks. GeoBuddy will attempt to reason more deeply about architectural style, environment (e.g. desert vs. tropical), and cultural references.

Code

The complete code is available in the Agno repository.

Usage

1

Clone the repository

git clone https://github.com/agno-agi/agno.git
cd agno
2

Create a Virtual Environment

python3 -m venv .venv
source .venv/bin/activate
3

Install Dependencies

pip install -r cookbook/examples/apps/geobuddy/requirements.txt
4

Set up API Key

GeoBuddy uses the Google PaLM API for advanced image reasoning:

export GOOGLE_API_KEY=***
5

Launch the App

streamlit run cookbook/examples/apps/geobuddy/app.py
6

Open the App

Then, open http://localhost:8501 in your browser to start using GeoBuddy.

Pro Tips

  • High-Resolution Images: Clearer images with visible signboards or landmarks improve accuracy.
  • Variety of Angles: Different angles (e.g. street-level vs. aerial views) can showcase unique clues.
  • Contextual Clues: Sometimes minor details like license plates, local architectural elements or even vegetation can significantly influence the location guess.

Need help? Join our Discourse community for support!