UNIVERSAL INTERFACE

So/Se 2025 - Ivo Hartwig

Respository

WHAT IS A LLM ?

An LLM (Large Language Model) is an advanced AI system trained on large-scale text data using the Transformer architecture, which allows it to process and generate human-like language. It works by analyzing the context of a given input and predicting the most likely next word or sequence of words. Through this process, it can generate coherent text, answer questions, translate languages, and more. While it captures complex patterns and relationships in language, it does not possess real understanding or consciousness.

WHAT IS AN API ?

An API (Application Programming Interface) is a standardized interface that allows different software systems to communicate with each other. In my case, the API is used to retrieve information from OpenStreetMap and present it in a format that the LLM can understand — such as address data or geographical distances.

IDEA

My original idea was to develop a chat interface with a Large Language Model (LLM) that could assist me with location and navigation questions. To make this possible, I needed to transmit my current location to the model. However, I quickly realized that an LLM can't do much with raw coordinates, like those retrieved from a browser. It lacks direct access to external maps or geodata services that would allow it to translate this information into understandable text. To solve this, I integrated an interface to the OpenStreetMap API for what is known as "reverse geocoding." In this process, the coordinates are sent to OpenStreetMap, and the API converts them into readable addresses or location descriptions. These details are then provided to the LLM in advance. Additionally, I implemented another API that gives the model access to map data. This allows the chat interface to answer questions about distances and directions — for example, "How do I get to a specific place?"

PROBLEMS / SOLUTIONS / THOUGHTS

The biggest problem with this project was the sheer amount of technical details that, in my opinion, were necessary. It wasn't necessarily about the technical implementation, which worked very well after some time, but rather about the fact that I got too caught up in these details and neglected the playful aspect. This course offers the opportunity to implement experimental projects. However, for this project, I focused purely on functionality. In the end, I reluctantly decided to include a small playful feature. I don't think it's wrong to focus purely on the technical side. My goal was to create something practical for everyday life, and in my opinion, that doesn't require any frills. Ultimately, I built an LLM chatbot that is both very practical and playful. I was truly surprised by how well it worked in the end; it's almost a little spooky. And that's exactly what I found so fascinating: How far can you push an LLM until it becomes uncomfortable for the user?