Creator to get AI Assist to define geometry

Related products: Transformers

If I ask OpenAI to give me GeoJSON defining a box around a city or a point location I get a pretty good result. It saves looking for a dataset etc. Let's add AI Assist to the transformer.

Hi @bruceharold,

 

I just tried it, too, and it seems to work inside FME through API. Center points work really well. A bounding box for a location seems to be a bit harder. ChatGPT has no problem creating them after I explain I don’t need high accuracy, but the API is afraid to give me wrong coordinates and returns a box for New York as an example. Maybe I should sound more convincingly. I probably can publish something like an OpenAIGeographicCreator.

 

Dmitri


Hi @bruceharold,

 

I just tried it, too, and it seems to work inside FME through API. Center points work really well. A bounding box for a location seems to be a bit harder. ChatGPT has no problem creating them after I explain I don’t need high accuracy, but the API is afraid to give me wrong coordinates and returns a box for New York as an example. Maybe I should sound more convincingly. I probably can publish something like an OpenAIGeographicCreator.

 

Dmitri

Okay, I made it work. We should be generous with the word “approximately” 😀

 


I would be very wary to use something like this, there’s so many implications. Disputed territories to name one, but also overseas dependencies (the bounding box for France is technically huge because several of their overseas regions are departments, same thing for The Netherlands)


I would be very wary to use something like this, there’s so many implications. Disputed territories to name one, but also overseas dependencies (the bounding box for France is technically huge because several of their overseas regions are departments, same thing for The Netherlands)

Yes true, but to quickly stub out say points in cities while you build a workspace is handy.


I would be very wary to use something like this, there’s so many implications. Disputed territories to name one, but also overseas dependencies (the bounding box for France is technically huge because several of their overseas regions are departments, same thing for The Netherlands)

The good thing is, if you know what and how to ask, it works quite well. For example, you can ask “Contiguous US and Hawaii” or “State to the east from Washington State” or not very literate, but concrete “France in South America”. Or, you can make spelling mistakes - “Port Morsby”, or use old names - “Terijoki”, it all works. In general, it would return rather what an average user expects than an a complete inclusion of everything related to a certain name, like France. Of course, we should be aware of potential problems and limitations.


@dmitribagh @bruceharold - Are you guys using the “function calling” I’m not sure how well it will work for returning GeoJSON etc, however, this looks like a great way for forcing the results of a call to adhere to a strict json schema.

I’ve seem some really good examples of extracting structured data from unstructured text. 

for example you could use it for formatting addresses correctly before then sending it off to a Geo Location service - assuming the GeoLocation required specific inputs.

Was looing at the OpenAIReprojector and I think this would be the perfect candidate for using function calling. Function calling - OpenAI API


Hi @virtualcitymatt , I have no idea what I’m using!  I’m sure it isn’t function calling though; here in the office they provide us with a clone of the public ChatGPT bot and I just tried prompts asking for GeoJSON, and they worked.  However, thank you for pointing out function calling, I can see the intersection with JSONTemplater and how you might make POST bodies for APIs described via OpenAPI (gimme a dollar for every time I hear OpenAI confused with OpenAPI).

You mentioned address formatting; I just created a hub idea to support Placekey.io in the Geocoder transformer, it could use addresses and location name standardization.  I’m sure there will be lots of use cases.

Like the great Canadian philosopher (?) said - skate to where the puck is going to be!