it-at-m / mucgpt

MIT License
21 stars 1 forks source link

Generated code is not completely displayed in the frontend #67

Closed Meteord closed 2 months ago

Meteord commented 2 months ago

Describe the bug Certain lines seem to be removed from the generated text. I noticed this when I tried to generate a docker-compose with health checks. The part of the health check with test is generated and output first, but as soon as it is finished, it is removed again. It is about the following line https://github.com/it-at-m/refarch-templates/blob/main/stack/docker-compose.yml#L35. Instructions for replication were:

To Reproduce

  1. Goto Chat
    Generate me a docker-compose with Elasticsearch, Kibabana, postgres and pg-admin
    Add health checks
Meteord commented 2 months ago

Another example:

Prompt

Erstelle mir eine PowerQuery Abfrage, die folgendes Kann:

ob Spalte B den Inhalt "2024" hat und gleichzeitig Spalte C die letzten 4 Zeichen von Spalte D enthält. Wenn dies der Fall ist, soll der Inhalt von Spalte A zurückgegeben werden, ansonsten null.

Die Antwort enthält auch eine einigermaßen brauchbare Formel (d.h. man müsste die Frage noch präzisieren), wenn man davon absieht, dass die Spaltennamen fehlen:

ob Spalte B den Inhalt "2024" hat und gleichzeitig Spalte C die letzten 4 Zeichen von Spalte D enthält. Wenn dies der Fall ist, soll der Inhalt von Spalte A zurückgegeben werden, ansonsten null.

Die Antwort enthält auch eine einigermaßen brauchbare Formel (d.h. man müsste die Frage noch präzisieren), wenn man davon absieht, dass die Spaltennamen fehlen:

Answer from LLM

 Hier ist ein Beispiel für eine PowerQuery-Abfrage, die deinem Szenario entspricht. Ich gehe davon aus, dass die Spalten A, B, C und D entsprechend benannt sind. Du kannst die Spaltennamen nach Bedarf anpassen.\n\n```m\nlet\n  // Datenquelle, z.B. eine Excel-Tabelle oder eine CSV-Datei\n  Quelle = Excel.CurrentWorkbook(){[Name=\DeineTabelle\][Content],\n \n  // Hinzufügen einer neuen Spalte mit der gewünschten Logik\n  NeueSpalte = Table.AddColumn(Quelle, \Ergebnis\, each \n  if [B] = \\ and Text.End([D], ) = [C] \n  then [A] \n  else null)\nin\n  NeueSpalte\n```\n\n### Erklärung:\n\n. **Quelle**: Hier wird die Datenquelle festgelegt. Ersetze `\DeineTabelle\` durch den Namen deiner tatsächlichen Tabelle.\n \n. **NeueSpalte**: Eine neue Spalte wird hinzugefügt, die die Logik implementiert:\n  - Überprüft, ob der Wert in Spalte B \\ ist.\n  - Überprüft, ob die letzten  Zeichen von Spalte D gleich dem Wert in Spalte C sind.\n  - Gibt den Wert von Spalte A zurück, wenn beide Bedingungen erfüllt sind, andernfalls wird `null` zurückgegeben.\n\nFüge diese Abfrage in den Power Query Editor ein, passe sie an deine Bedürfnisse an und lade die Daten zurück in Excel oder deine gewünschte Anwendung.

Answer in UI

Hier ist ein Beispiel für eine PowerQuery-Abfrage, die deinem Szenario entspricht. Ich gehe davon aus, dass die Spalten A, B, C und D entsprechend benannt sind. Du kannst die Spaltennamen nach Bedarf anpassen.

\`\`\`m
let
    // Datenquelle, z.B. eine Excel-Tabelle oder eine CSV-Datei
    Quelle = Excel.CurrentWorkbook(){},

    // Hinzufügen einer neuen Spalte mit der gewünschten Logik
    NeueSpalte = Table.AddColumn(Quelle, "Ergebnis", each 
        if  = "2024" and Text.End(, 4) =  
        then  
        else null)
in
    NeueSpalte
\`\`
### Erklärung:

1. **Quelle**: Hier wird die Datenquelle festgelegt. Ersetze `"DeineTabelle"` durch den Namen deiner tatsächlichen Tabelle.

2. **NeueSpalte**: Eine neue Spalte wird hinzugefügt, die die Logik implementiert:
   - Überprüft, ob der Wert in Spalte B "2024" ist.
   - Überprüft, ob die letzten 4 Zeichen von Spalte D gleich dem Wert in Spalte C sind.
   - Gibt den Wert von Spalte A zurück, wenn beide Bedingungen erfüllt sind, andernfalls wird `null` zurückgegeben.

Füge diese Abfrage in den Power Query Editor ein, passe sie an deine Bedürfnisse an und lade die Daten zurück in Excel oder deine gewünschte Anwendung.

what is wrong:

data in [ ] is not displayed correctly