Published: 2024-09-30T19:01:37+02:00
The 1.0.0 release of the OpenStreetMap tool for OpenWebUI has arrived!
https://openwebui.com/t/projectmoon/open_street_map/The 1.0.0 release has the following changes that make the tool a powerful map searching solution OpenWebUI, allowing users to find points of interest (POIs) near any place:
Along with calculating travel distance to nearby destinations, and various other bug fixes over the past weeks, I feel like it's time for a 1.0 release.
The biggest announcement is the breaking change of the Nominatim URL valve setting for the tool. This used to point directly to Nominatim's search endpoint. But now the setting must point to the root URL of the Nominatim instance, because it's now using two different Nominatim endpoints.
If you need to change the setting, your LLM will refuse to search OpenStreetMap and warn you about this.
The two most important changes are caching and nameless entity handling. The public OSM services are available for free to everyone, and the data does not change THAT often. By caching address lookup data, extra POI information, and navigation travel distance, a lot queries against the OSM servers can be avoided. This is particularly important for the common scenario of the user searching from their house, school, work: "What's the closest X near me?" Instead of hitting Nominatim every time to resolve the user's location, it is now simply pulled from the cache.
Additionally, many entities in OpenStreetMap do not have names. This is either because of lack of proper tagging, or the place may not actually have a name at all. This is very common with things like playgrounds in neighborhoods, small green spaces in cities, and so on.
Sending the results as a citation is just a nice bonus that gives some insight into what the OSM tool is doing when it searches for the user.
The tool is rapidly approaching feature completion. Releases in the immediate future are going to focus on:
The code is a bit of a mess at the moment because of OpenWebUI's requirement to have all the Python code in one file. I am considering ways to deal with this, ranging from moving a lot of the code to a PyPI module, or simply just having a simple build file that concats the code together into one Python module.
License: CC-BY-SA-4.0.
‗‗‗‗‗‗‗‗‗‗‗‗‗‗‗‗‗‗‗‗
⤴️ [/posts] 🏠 Home