From dab0a99e7b7ff5bd6088527e8b64acd63e1a60fa Mon Sep 17 00:00:00 2001 From: SimolZimol <70102430+SimolZimol@users.noreply.github.com> Date: Thu, 19 Jun 2025 14:09:20 +0200 Subject: [PATCH] modified: app.py modified: background_data.json modified: templates/chat.html --- app.py | 53 +++++++++++++++++++++++++++++++++++++++++++- background_data.json | 16 ++++++++++--- templates/chat.html | 42 +++++++++++++++++++++++++++++++++++ 3 files changed, 107 insertions(+), 4 deletions(-) diff --git a/app.py b/app.py index 876aa2b..9402f79 100644 --- a/app.py +++ b/app.py @@ -2,8 +2,10 @@ import os import json import requests import re -from flask import Flask, render_template, request, jsonify, Response +from flask import Flask, render_template, request, jsonify, Response, send_file from dotenv import load_dotenv +import io +import csv load_dotenv() @@ -138,5 +140,54 @@ def ask_stream(): continue return Response(generate(), mimetype="text/plain; charset=utf-8") +@app.route("/export", methods=["POST"]) +def export(): + user_message = request.json.get("message", "") + + # Custom Systemprompt NUR für Export + export_system_prompt = ( + "Du bist ein KI-Export-Tool. " + "Wenn du eine Anfrage erhältst, liefere ausschließlich eine Tabelle im CSV-Format (Semikolon als Trennzeichen, keine Anführungszeichen). " + "Die erste Zeile muss die Spaltenüberschriften enthalten. " + "Jede weitere Zeile enthält die Daten. " + "Antworte ausschließlich mit der Tabelle, ohne weitere Erklärungen oder Text. " + "Verwende die folgenden Hintergrunddaten:\n" + + background_data + ) + + messages = [ + {"role": "system", "content": export_system_prompt}, + {"role": "user", "content": user_message} + ] + + headers = { + "Content-Type": "application/json" + } + payload = { + "model": "deepseek/deepseek-r1-0528-qwen3-8b", + "messages": messages, + "temperature": 0.0, + "max_tokens": 1500 + } + url = OPENAI_BASE_URL.rstrip("/") + "/v1/chat/completions" + try: + response = requests.post(url, headers=headers, json=payload) + data = response.json() + csv_text = data["choices"][0]["message"]["content"].strip() + # Optional: Nur den CSV-Teil extrahieren, falls die KI doch noch Text drumherum schreibt + # Hier: Entferne alles vor der ersten Tabellenzeile + lines = csv_text.splitlines() + csv_lines = [line for line in lines if ";" in line] + csv_clean = "\n".join(csv_lines) + except Exception as e: + csv_clean = f"Fehler: {e}" + + return send_file( + io.BytesIO(csv_clean.encode("utf-8")), + mimetype="text/csv", + as_attachment=True, + download_name="export.csv" + ) + if __name__ == "__main__": app.run(host="0.0.0.0", port=5000, debug=True) \ No newline at end of file diff --git a/background_data.json b/background_data.json index f7b1d94..f7926bb 100644 --- a/background_data.json +++ b/background_data.json @@ -1,7 +1,17 @@ [ - "Erklärung: Die folgenden Informationen stammen aus den täglichen Berichten eines Außendienstmitarbeiters der Firma Nicolaisen Casing GmbH & Co. KG. Sie enthalten Kundenkontakte, Notizen zu Gesprächen, Aufträgen und Besonderheiten. Die Daten werden regelmäßig gepflegt und spiegeln den aktuellen Stand im Außendienst wider.", - "Firmeninfo: Nicolaisen Casing GmbH & Co. KG (https://www.nicolaisen-casing.de/) ist ein führender Anbieter von Natur- und Kunstdärmen für die Lebensmittelindustrie. Das Unternehmen mit Sitz in Deutschland bietet hochwertige Produkte und umfassenden Service für Metzgereien, Fleischwarenhersteller und die Lebensmittelbranche. Nicolaisen Casing steht für Qualität, Zuverlässigkeit und langjährige Erfahrung im Bereich Därme und Wursthüllen. Kontakt: info@nicolaisen-casing.de | Telefon: +49 123 456789", - "Entwickler: Dieses KI-System wurde von Simon Giehl (Softwareentwickler, KI-Experte) entwickelt. Bei technischen Fragen oder Anregungen wenden Sie sich bitte an simon@projekt-senegal.de.", + "Beispiel-Frage: Wer hat dieses KI-System entwickelt?\nBeispiel-Antwort: Das KI-System wurde von Simon Giehl, Softwareentwickler und KI-Experte, entwickelt. Er ist Ansprechpartner für technische Fragen und Weiterentwicklung.", + "Beispiel-Frage: Wer ist Ansprechpartner für dieses System?\nBeispiel-Antwort: Ansprechpartner ist Simon Giehl (E-Mail: simon@projekt-senegal.de).", + "Beispiel-Frage: Was ist Nicolaisen Casing?\nBeispiel-Antwort: Nicolaisen Casing GmbH & Co. KG ist ein führender Anbieter von Natur- und Kunstdärmen für die Lebensmittelindustrie in Deutschland.", + "Beispiel-Frage: Woher stammen die Kundendaten?\nBeispiel-Antwort: Die Kundendaten stammen aus den täglichen Berichten eines Außendienstmitarbeiters der Firma Nicolaisen Casing.", + "Meta: Entwickler = Simon Giehl | Ansprechpartner = Simon Giehl | Kontakt = simon@projekt-senegal.de | System = AI Vertriebsassistent", + "Meta: Firma = Nicolaisen Casing GmbH & Co. KG | Branche = Lebensmittelindustrie | Produkt = Natur- und Kunstdärme | Website = https://www.nicolaisen-casing.de/", + "Meta: Datenquelle = Außendienstberichte | Datenpflege = täglich | Dateninhalt = Kundenkontakte, Notizen, Aufträge, Besonderheiten", + "Erklärung: Die folgenden Einträge bestehen aus dem Kundennamen, den gesammelten Infos (durch | getrennt) und dem Datum (Jahr, Monat, Tag). Beispiel: 'Kunde: Info1 | Info2 (Jahr: 2024, Monat: 06, Tag: 13)'. Die Daten stammen aus den täglichen Berichten eines Außendienstmitarbeiters der Firma Nicolaisen Casing GmbH & Co. KG.", + "Dieses KI-System wurde von Simon Giehl entwickelt.", + "Simon Giehl ist der Entwickler und Ansprechpartner für dieses System.", + "Das System wurde programmiert und betreut von Simon Giehl.", + "Nicolaisen Casing GmbH & Co. KG ist ein deutsches Unternehmen für Därme und Wursthüllen.", + "Die Daten stammen aus dem Außendienst von Nicolaisen Casing.", "Kupfer: Herr Meyer sucht immer noch nach einem rauchdurchlässigen Darm in Kaliber | 58. Ich rufe nächste Woche an. (Jahr: 2024, Monat: 06, Tag: 13)", "Schneider: Herr Frank hat unsere Aromi getestet, Kaliber ist etwas zu klein! (Jahr: 2024, Monat: 06, Tag: 13)", "BraTido: Böttcher-Gohr wird Faser 50 weiter abnehmen, wenn wir Ihr mit dem Preis | etwas entgegenkommen (Jahr: 2024, Monat: 06, Tag: 13)", diff --git a/templates/chat.html b/templates/chat.html index 9799029..ed32eda 100644 --- a/templates/chat.html +++ b/templates/chat.html @@ -186,8 +186,16 @@
Erstellt von Simon Giehl – Ihr smarter KI-Partner für Kunden- und Vertriebsinfos