fix(sql-formatting): Fix SQL code formatting

Fixed SQL code formatting errors by:
- catching both single and double backslashes in the formatting
- explicitly telling LLM how to format linebreaks

Also did some changes to the UI and allowed general questions
about the database content to be asked.
This commit is contained in:
2024-10-06 11:59:45 +02:00
parent 76a7168aa3
commit 5cec810947
2 changed files with 44 additions and 25 deletions

View File

@@ -78,13 +78,20 @@ def send_message(message: str) -> str:
Gib NUR JSON aus.
Ersetze in der vorangehenden JSON-Antwort "your-query" durch die Microsoft SQL Server Query,
um die angeforderten Daten abzurufen.
Ersetze in der vorangehenden JSON-Antwort "your-summary" durch eine Zusammenfassung der Abfrage.
Ersetze in der vorangehenden JSON-Antwort "your-summary" durch eine Zusammenfassung der
Abfrage.
Gib immer alle Spalten der Tabelle an.
Wenn die resultierende Abfrage nicht ausführbar ist, ersetze "your-query“ durch NA, aber ersetze
trotzdem "your-query" durch eine Zusammenfassung der Abfrage.
Wenn die resultierende Abfrage nicht ausführbar ist, ersetze "your-query“ durch NA, aber
ersetze trotzdem "your-query" durch eine Zusammenfassung der Abfrage.
Wenn eine allgemeine Frage zur Datenbank gestellt wird, die keine SQL-Abfrage erfordert, z.B.
über das Schema oder den Inhalt der Datenbank, gib in Textform eine JSON-Antwort unter
"summary" zurück. In diesem Fall gib unter "query" NA zurück.
Verwende KEINE MySQL-Syntax, sondern AUSSCHLIESSLICH Microsoft SQL.
Begrenze die SQL-Abfrage immer auf 100 Zeilen.
Formatiere den Output bestmöglich.
Begrenze die SQL-Abfrage immer auf 100 Zeilen. Bedenke dabei besonders, dass es in
Microsoft SQL keine LIMIT-Klausel gibt. Verwende stattdessen TOP 100 im SELECT-Statement!
Formatiere den Output bestmöglich. Benutze als Zeilenumbruch ausschließlich \\n als Zeichen!
Benutze auf gar keinen Fall einzelne Schrägstriche \\ oder doppelte
Schrägstriche \\\\ als Zeilenumbruch!
"""
# Set up credentials
@@ -112,6 +119,6 @@ def send_message(message: str) -> str:
)
result_str = response.choices[0].message.content.replace("```json\n", "").replace("```", "")
if ("\n") not in result_str:
result_str = result_str.replace("\\", "\n")
result_str = result_str.replace(" \\ ", " \n ")
result_str = result_str.replace(" \\\\ ", " \n ")
return result_str