Generative KI in Geodaten: Eine Pyramide zunehmender Komplexität
Florent Gravin
Large Language Models (LLMs) wie GPT haben die Art und Weise, wie wir mit Technologie interagieren, Prozesse automatisieren und Inhalte generieren, grundlegend verändert. Sie brachten zahlreiche Ideen mit, wie diese Revolution in Geodatenanwendungen angewendet werden könnte. Das wahre Potenzial dieser Modelle liegt jedoch nicht nur in ihren sofort einsatzbereiten Fähigkeiten, sondern auch in der komplexeren Art und Weise, wie sie genutzt werden können, um spezifische Herausforderungen zu meistern.
Die Beherrschung der generativen KI erfordert eine Weiterentwicklung von einfachen Interaktionen hin zu komplexeren und maßgeschneiderten Anwendungen. Wir schlagen vor, diesen Weg als eine Pyramide des Wissens darzustellen, die die zunehmende Komplexität der Systeme veranschaulicht, die an der Lösung Ihrer Probleme im Bereich der Standortintelligenz beteiligt sind, und Ihren Entscheidungsprozess unterstützt.
1. Grundlegende Interaktion (Chat mit GPT)
Die erste Interaktionsebene und wahrscheinlich die häufigste Verwendung von LLMs ist die Nutzung eines bestehenden Chat-Dienstes, der auf einem ausgeklügelten Large Language Model (LLM) wie ChatGPT basiert.
Arbeitnehmer haben solche Dienste in ihre täglichen Routinen integriert, um Texte zu übersetzen, Dokumente zusammenzufassen oder Inhalte zu generieren.
Für die Analyse von Geodaten kannst du GPT Data Analyst verwenden und beliebige CSV- oder GeoJSON-Dateien hochladen. Das LLM liest deine Daten und beantwortet deine Fragen zu deren Inhalt. Es kann Text generieren oder sogar Diagramme erstellen, indem es Berechnungen auf der Grundlage deiner verschiedenen Eingaben durchführt.
Anwendungsfall: Mehr über georchestrale Instanzen erfahren
Lade die GeoJSON-Datei auf der GeoBretagne-Plattform herunter.
Stelle einige Fragen zum Datensatz:
- Wie viele geOrchestra-Instanzen haben wir?
- Wo befinden sie sich?
Diese Interaktionen sind recht einfach und werden sehr eingeschränkt, wenn man eine spezifischere Frage erhalten oder solche Funktionen in die eigene Anwendung integrieren möchte.
2. Fortgeschrittenes Prompt-Design (Prompt-Engineering)
Die nächste Interaktionsstufe umfasst die Erstellung und Verfeinerung von Eingabeaufforderungen, um spezifische Ergebnisse zu erzielen. Diese Bemühungen bieten eine Kontextualisierung für die LLMs und ermöglichen es, genau zu formulieren, was und wie sie antworten sollen. Du kannst dein Ziel und das Format der Ausgabe klarstellen oder Beispiele und andere wertvolle Informationen bereitstellen.
In der Regel definieren Anwendungsentwickler eine Eingabeaufforderungsvorlage auf der Grundlage der Anforderungen, und die Benutzeranfrage wird dann in diese Vorlage integriert. Deine Anwendung ist eine Art Proxy, der die Benutzeranfrage in eine besser angepasste Eingabeaufforderung umformuliert.
Anwendungsfall: Anzeige von OpenStreetMap-Daten auf einer Karte, basierend auf einer Anfrage in natürlicher Sprache.
Menschliche Anfrage: Anzeige von allen vegetarischen Restaurants in Basel
Hier sind die verschiedenen Aspekte, die die Eingabeaufforderungsvorlage verarbeiten muss:
- Extrahieren von Informationen: Das LLM muss extrahieren, was der Benutzer anzeigen möchte – in diesem Fall vegetarische Restaurants – und wo, in Basel.
- Generieren einer API-Anfrage: Das LLM muss eine OverPass-Anfrage (eine kostenlose Online-API zum Abrufen von OSM-Daten) basierend auf diesen Parametern generieren. Es sollte eine Begrenzungsbox (bbox) für den Standort und die richtigen OverPass-Filter für die erwarteten Standorttypen generieren.
- Rückgabe der API-Anfrage: Das LLM darf nur die API-Anfrage ohne zusätzlichen Text zurückgeben.
- Bereitstellung von Beispielen: Du kannst in der Eingabeaufforderung einige Beispiele angeben, um dem LLM bei der Generierung der richtigen URL zu helfen.
Die erwartete Ausgabe lautet:
Dieser Ansatz funktioniert nur, wenn das LLM, auf das du dich verlässt, die OverPass-API-Syntax kennt, d. h. es wurde mit OverPass-Spezifikationen trainiert. Dies ist in der Regel bei den wichtigsten Modellen der Fall.
Wenn du mit deinen eigenen Daten, auf die das Modell nicht trainiert wurde, die gleichen Ergebnisse erzielen möchtest, musst du zur nächsten Stufe übergehen und ein RAG-System (Retrieval-Augmented Generation) einrichten.
3. Verbesserte kontextbezogene Antworten (Retrieval-Augmented Generation)
Retrieval-Augmented Generation (RAG) ist eine Technik zur Verbesserung der Genauigkeit und Zuverlässigkeit generativer KI-Modelle durch die Einbeziehung von Fakten, die aus externen Quellen abgerufen werden. Da SaaS-LLMs keinen Zugriff auf Ihre spezifischen Geodaten haben, müssen Sie eine Abrufphase hinzufügen, um Ihre Daten abzurufen und sie als Kontext an das LLM zu übergeben.
Von der Benutzeranfrage bis zur Antwort umfasst RAG in der Regel mehrere Schritte, die die Genauigkeit der Ergebnisse verbessern sollen. Diese Schritte basieren oft auf der Interaktion mit einem Sprachmodell (LM), d. h. während des gesamten Prozesses werden mehrere Anfragen an die LMs gestellt.
In der Regel werden die folgenden Techniken zur Gestaltung und Verbesserung von RAG-Systemen eingesetzt:
- Benutzeranfrage: Der Benutzer beginnt mit einer Frage oder einer Anfrage.
- Umformulierung der Anfrage: Die KI kann die Frage umformulieren, um sicherzustellen, dass sie richtig verstanden wird oder dem für die weitere Verarbeitung erforderlichen Format entspricht.
- Auswahl der Datenquelle: Je nach Art der Anfrage bestimmt die KI, welche externen Datenquellen verwendet werden sollen (z. B. Datenbanken, APIs).
- Datenabruf: Das System erstellt eine Abrufanforderung, um relevante Informationen abzurufen. Dies kann semantische Suchen, API-Aufrufe oder andere Methoden umfassen.
- Dokumentenranking: Abgerufene Dokumente oder Daten werden nach ihrer Relevanz für die Abfrage eingestuft.
- Kontextintegration: Die relevantesten Daten werden dem Kontext hinzugefügt, wodurch das Verständnis der KI erweitert wird, bevor eine Antwort generiert wird.
- Endgültige Antwortgenerierung: Die KI generiert dann eine Antwort, wobei sowohl die Abfrage des Benutzers als auch die abgerufenen Daten verwendet werden.
Anwendungsfall
Standortinformationen zu eigenen Daten –
Wann wird in meinem Viertel in Paris 8ème der Müll abgeholt?
Angenommen, Sie haben einen Datensatz mit Müllabfuhrplänen für Paris, aber das LLM wurde nicht auf diese Daten trainiert. So kann RAG helfen:
- Datenindexierung: Zunächst müssen Ihre Daten in einer Vektordatenbank indexiert werden, um eine schnelle und genaue Abfrage zu ermöglichen.
- Abfrageextraktion: Das RAG-System identifiziert die Schlüsselkomponenten Ihrer Abfrage – wonach Sie fragen (Müllabfuhrzeiten), den Datensatz, der diese Informationen enthält, und den Standort (Paris 8ème).
- Geokodierung: Das System ruft die geografische Geometrie für Paris 8ème mithilfe eines Geokodierungsdienstes ab.
- Semantische Suche: Das System führt eine semantische Suche durch, um den relevanten Datensatz zu finden, z. B. den Müllabfuhrplan. Die Suche gibt nur die Metadaten zurück.
- Datensatzabruf: Aus den Metadateninformationen ruft das RAG die Datensatzmerkmale ab.
- Räumliche Schnittmenge: Das System ruft die Geodatenmerkmale ab (z. B. die Grenzen von Paris 8ème) und führt eine räumliche Schnittmenge mit dem Datensatz durch, um den spezifischen Zeitplan für deine Nachbarschaft zu finden.
- Endgültige Antwort: Die relevanten Informationen werden an das LLM weitergeleitet, das die Daten interpretiert und dir den genauen Zeitpunkt der Müllabfuhr mitteilt.
4. Entwicklung benutzerdefinierter Modelle (Feinabstimmung von Modellen)
Alle vorherigen Techniken können mithilfe vorhandener LM-Dienste (GPT, Claude, Mistral usw.) implementiert werden. Diese Dienste stellen LLMs, Einbettungsmodelle und andere dedizierte Modelle bereit, die während des gesamten RAG-Prozesses neben dem endgültigen LLM-Aufruf verwendet werden können. Diese Dienste sind jedoch nicht kostenlos und werden nie auf deine spezifischen Daten trainiert. Wenn du über RAG hinausgehst, um die Modell-Feinabstimmung zu nutzen, kannst du Modelle erstellen, die viel stärker auf deine Daten und Anwendungsfälle zugeschnitten sind. Mit der Feinabstimmung kannst du ein Allzweckmodell nehmen und es auf deine eigenen spezifischen Geodaten trainieren.
Anwendungsfälle:
Trainiere ein LLM auf deine Geodaten-Features:
Du kannst ein Modell auf deinen Geodatensätzen so feinabstimmen, dass das Modell deine Fragen direkt beantworten kann, ohne dass Informationen abgerufen werden müssen. Für diesen Anwendungsfall wird jedoch im Allgemeinen RAG bevorzugt, da die Feinabstimmung und das Hosting eines LLM sehr komplex und kostspielig sein können.Trainiere ein Einbettungsmodell auf deinen Metadaten (oder Daten):
Im RAG-Prozess ist die Abrufphase auf der Grundlage der semantischen Suche von entscheidender Bedeutung. In unserem Anwendungsfall ist es für eine relevante Antwort unerlässlich, den richtigen Datensatz zu finden, der der Benutzeranfrage entspricht. Da die semantische Suche auf Vektordaten basiert, die durch Einbettungsmodelle generiert werden, und Einbettungsmodelle relativ klein sind, ist es möglich, sie zu optimieren und sie auf die Struktur Ihrer Geodaten-Metadatensätze, insbesondere auf Ihren Metadatenkatalog, zu trainieren.Trainiere ein Text-to-SQL-Modell, um PostGIS SQL zu generieren:
Viele Modelle können Text in SQL-Abfragen umwandeln, wenn sie die Struktur Ihres Datensatzes kennen (um die richtigen Spalten für die Abfrage zu verwenden). Wir könnten ein Modell trainieren, um räumliche Abfragen, wie z. B. PostGIS-SQL-Abfragen, zu erstellen, um Standortinformationen durch Verknüpfung, Aggregation und Berechnung von Geodatenindikatoren zu verarbeiten. Wir könnten uns auch andere Modelle wie Text-to-OSM, Text-to-OGC-API usw. vorstellen, die Ihrem RAG helfen können, direkt mit offenen Geo-Standards zu interagieren.
Wie wir sehen können, gibt es viele Möglichkeiten, generative KI und LLMs in Ihre Geodatenanwendungen zu integrieren. Durch das Verständnis und die Nutzung jeder Ebene dieser Pyramide können Organisationen das volle Potenzial der generativen KI ausschöpfen und von allgemeinen Lösungen zu hochgradig maßgeschneiderten Anwendungen übergehen, die Innovation und Effizienz fördern.
Karriere
Sie sind daran interessiert, in einer inspirierenden Umgebung zu arbeiten und sich unseren motivierten und multikulturellen Teams anzuschliessen?