> 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-ai-and-machine-learning-in-buildingpro-suites/agents/nl2sql.md).

# NL2SQL

Natural Language to SQL (NL2SQL) ist die Aufgabe, die Klartextfrage eines Benutzers in eine gültige, ausführbare SQL-Abfrage gegen ein bestimmtes Datenbankschema umzuwandeln.

Die Motivation ist einfach: SQL ist die Standard-Schnittstelle für relationale Datenbanken, aber die meisten Nutzer, insbesondere Business-Anwender 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.

Das Erstellen einer Schnittstelle, um in natürlicher Sprache mit einer Datenbank zu interagieren, ist ein wichtiger Schritt, um nicht-technischen Nutzern einen leichteren Zugang zu Daten zu bieten.

Mehrere alternative Ansätze existieren, um nicht-technischen Nutzern Zugriff auf strukturierte 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 Nutzer das zugrunde liegende Datenmodell verstehen: welche Tabellen es gibt, wie sie miteinander zusammenhängen, was die Felder bedeuten.
* **Tool-Aufrufe** (wobei ein LLM Tool-Aufrufe statt SQL generiert) funktioniert für einfache Abfragen, schränkt aber den Abfrageraum auf das ein, was die API-Oberfläche freigibt. Komplexe Aggregationen, Joins über mehrere Entitäten hinweg oder Zeitreihenanalysen mit benutzerdefinierter Bucket-Einteilung sind schwer über vordefinierte Funktionen und ihre Parameter auszudrücken und reduzieren 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 den tatsächlichen Daten der Datenbank basieren, wobei die volle Ausdrucksstärke von SQL im Hintergrund verfügbar ist.

Der NL2SQL-Lösungsraum reicht von leichtgewichtigem Prompting bis hin zu speziell trainierten Modellen:

| Ansatz                  | Wie es funktioniert                                                             | Stärken                                                        | Einschränkungen                                                                                                                |
| ----------------------- | ------------------------------------------------------------------------------- | -------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| Zero-Shot-Prompting     | Stellen Sie das vollständige Schema im Prompt des LLM bereit; bitten Sie um SQL | Keine Trainingsdaten erforderlich; funktioniert sofort         | Bricht bei komplexen oder größeren Schemata zusammen; Begrenzungen des Kontextfensters; schwach bei domänenspezifischer Syntax |
| Few-Shot-Prompting      | Fügen Sie dem Prompt Beispielpaare aus Frage -> SQL hinzu                       | Verbessert die Abdeckung von Mustern für bekannte Abfragetypen | Durch das Kontextfenster begrenzt; Beispiele generalisieren möglicherweise nicht                                               |
| RAG-unterstützt         | Dynamisches Abrufen relevanter Schemaausschnitte oder Beispielabfragen          | Skaliert auf größere Schemata; adaptiv                         | Die Abrufqualität wird zum Engpass; verlässt sich weiterhin auf die SQL-Generierungsfähigkeit des Basismodells                 |
| Feinabgestimmtes Modell | Trainieren Sie ein Modell auf Frage -> SQL-Paaren für das Zielschema            | Höchste Genauigkeit für die Zieldomäne                         | Erfordert kuratierte Trainingsdaten; benötigt erneutes Training, wenn sich das Schema erheblich ändert                         |

Kein einzelner Ansatz dominiert in allen Szenarien. Die richtige Wahl hängt von der Schema-Komplexität, der Vielfalt der Abfragen, den Genauigkeitsanforderungen und den betrieblichen Randbedingungen (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-ai-and-machine-learning-in-buildingpro-suites/agents/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.
