-
Notifications
You must be signed in to change notification settings - Fork 6
Description
Background
This is a Labs project where we experiment with creating LLM interfaces to various geospatial tools and APIs. We will then run experiments to combine these different "tools", to attempt to ask complex geospatial questions in natural language and see what we learn from how an LLM performs when given access to a range of geospatial data and data processing functions.
Further context in the following (private) Labs tickets:
- https://github.com/developmentseed/labs/issues/320
- https://github.com/developmentseed/labs/issues/297
Goals
As a first iteration:
- Create a set of LangChain tools for various geospatial "backends" - these could be APIs like Overpass for OpenStreetMap data, and STAC for satellite imagery data, or geospatial data processing tools like
mercantile
,rasterio
,shapely
, etc. - Create LangChain
agents
to combine different tools, and experiment with prompts geared toward specific geospatial use-cases. - Create Jupyter notebooks to be able to easily test the outputs and performance of these various agents and tools.
- Develop a logging and testing methodology for this kind of code that produces non-deterministic outputs.
The goal of the first iteration would be to learn as much as we can about how this pattern works, and how useful is this in practice in getting answers for complex geospatial questions asked in natural language.
If this seems like it can be useful in practice, it would be great to think of interesting applications and user interfaces to build on top of these LLM tools.
Documents
Prior Art:
- ChatGeoGPT by Earth Genome
- Internal experiments with querying the STAC API via ChatGPT: https://github.com/developmentseed/labs-gpt-stac
Also read:
- Language Models can Teach Themselves to Use Tools: https://arxiv.org/abs/2302.04761#6