> For the complete documentation index, see [llms.txt](https://docs.buildings.ability.abb/collection/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.buildings.ability.abb/collection/german/akademie/building-intelligence-ki-und-maschinelles-lernen-in-buildingpro-suites/agenten/nl2sql.md).

# NL2SQL

Natural Language zu SQL (NL2SQL) ist die Aufgabe, eine natürlichsprachige\
Frage eines Nutzers in eine gültige, ausführbare SQL-Abfrage gegen ein bestimmtes Datenbankschema umzuwandeln.

Die Motivation ist einfach: SQL ist die Standardoberfläche für relationale Datenbanken, aber die meisten Nutzer, insbesondere Fachanwender in operativen Rollen, schreiben kein SQL. \
Sie denken in Domänenkonzepten ("Wie hoch ist der Energieverbrauch in Gebäude A?"), nicht in Joins, Aggregationen und WHERE-Klauseln.

Die Erstellung einer Schnittstelle zur Interaktion mit einer Datenbank in natürlicher Sprache ist ein wichtiger Schritt, um nicht-technischen Nutzern einen einfacheren Zugang zu Daten zu ermöglichen.&#x20;

Es gibt mehrere alternative Ansätze, um nicht-technischen Nutzern Zugang zu strukturierten Daten zu geben:

* **Dashboards und Berichte** decken bekannte, wiederkehrende Fragen gut ab, können aber keine ad-hoc-Erkundung bewältigen. Jede neue Frage erfordert, dass jemand eine neue Ansicht erstellt.
* **Grafische Abfrage-Builder** bieten Flexibilität, erfordern aber dennoch, dass die Nutzer das zugrunde liegende Datenmodell verstehen: welche Tabellen es gibt, wie sie zusammenhängen, was die Felder bedeuten.
* **Tool-Aufrufe** (wobei ein LLM Tool-Aufrufe statt SQL generiert) funktioniert für einfache Abfragen, schränkt den Abfragebereich jedoch auf das ein, was die API-Oberfläche anbietet. Komplexe Aggregationen, Joins über mehrere Entitäten hinweg oder Zeitreihenanalysen mit benutzerdefinierten Buckets lassen sich mit vordefinierten Funktionen und ihren Parametern nur schwer ausdrücken und verringern die Flexibilität erheblich.

NL2SQL beseitigt diese Einschränkungen. Ein gut implementiertes NL2SQL-System ermöglicht es Nutzern,\
beliebige analytische Fragen in natürlicher Sprache zu stellen und Ergebnisse zu erhalten, die auf dem basieren, was die tatsächliche Datenbank enthält, wobei die volle Ausdrucksstärke von SQL im Hintergrund zur Verfügung steht.

Der NL2SQL-Lösungsraum umfasst ein Spektrum von leichtgewichtigem Prompting bis hin zu dediziertem Modelltraining:

| Ansatz                  | So funktioniert es                                                   | Stärken                                                  | Einschränkungen                                                                                                          |
| ----------------------- | -------------------------------------------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| Zero-Shot-Prompting     | Das vollständige Schema im LLM-Prompt bereitstellen; nach SQL fragen | Kein Training erforderlich; funktioniert sofort          | Scheitert bei komplexen oder größeren Schemata; Begrenzungen des Kontextfensters; schwach bei domänenspezifischer Syntax |
| Few-Shot-Prompting      | Beispielhafte Frage->SQL-Paare zum Prompt hinzufügen                 | Verbessert die Musterabdeckung für bekannte Abfragetypen | Durch das Kontextfenster begrenzt; Beispiele generalisieren möglicherweise nicht                                         |
| RAG-ergänzt             | Relevante Schemaausschnitte oder Beispielabfragen dynamisch abrufen  | Skaliert auf größere Schemata; adaptiv                   | Die Qualität der Suche wird zum Engpass; stützt sich weiterhin auf die Fähigkeit des Basismodells zur SQL-Erzeugung      |
| Feinabgestimmtes Modell | Ein Modell mit Frage->SQL-Paaren für das Zielschema trainieren       | Höchste Genauigkeit im Zielbereich                       | Erfordert kuratierte Trainingsdaten; benötigt erneutes Training, wenn sich das Schema erheblich ändert                   |

Kein einzelner Ansatz ist in allen Szenarien überlegen. Die richtige Wahl hängt von der Komplexität des Schemas, der Vielfalt der Abfragen, den Genauigkeitsanforderungen und den betrieblichen Einschränkungen (Latenz, Hosting, Datenschutz) ab.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.buildings.ability.abb/collection/german/akademie/building-intelligence-ki-und-maschinelles-lernen-in-buildingpro-suites/agenten/nl2sql.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
