hynk
Vereinsmitgliedlike totally ambivalent
|
Die Demo prompts versprechen viel! Ist bisher komplett an mir vorbei gegangen. Ich hab im Urlaub endlich die Zeit gefunden paperlessNGX aufzusetzen und mit Material gefüttert. Next Step: RAG GitHub - SecureAI-Tools/SecureAI-Tools: Private and secure AI tools for everyone's productivity.Private and secure AI tools for everyone's productivity. - SecureAI-Tools/SecureAI-Tools Link: github.com SecureAI Tools now integrates with Paperless-ngx!
|
master_burn
LegendLoading . . 40% . . . 50%
|
hab gestern mein paperless-ngx über protected mit ChatGPT verknüpft. Workflow schaut jetzt so aus: - Document in Scanner legen und in Ingest Folder Scannen - Paperless-NGX wandelt automatisch das Dokument in durchsuchbares (OCR) Format um - paperless-AI ließt das Doc und macht automatische Erkennung des Correspondent, Erkennung des relevanten Datums und automatisches Tagging Der prompt kann beliebig editiert werden. Ich muss definitiv noch einiges tweaken, weil er teils recht wirr tags vergibt Alles in Allem aber geil - wie ne virtuelle Sekretärin ![:D](/images/smilies/biggrin.gif) .. wie läuft das bei dir so hynk?
|
hynk
Vereinsmitgliedlike totally ambivalent
|
Die Zeit dazu habe ich mir noch nicht genommen. Bin aber schon sehr heiß drauf. Bei der nächsten Buchhaltungssession ist es dann so weit... Werde mir dazu die Variante ansehen GitHub - clusterzx/paperless-ai: An automated document analyzer for Paperless-ngx using OpenAI API and Ollama (Mistral, llama, phi 3, gemma 2) to automatically analyze and tag your documents.An automated document analyzer for Paperless-ngx using OpenAI API and Ollama (Mistral, llama, phi 3, gemma 2) to automatically analyze and tag your documents. - clusterzx/paperless-ai Link: github.com
|
master_burn
LegendLoading . . 40% . . . 50%
|
Ich share hier mal meinen Prompt - funktioniert vor allem für correspondent sehr gut, für tags ca in 80% der fälle. Du bist ein personalisierter Dokumentenanalyse-Assistent.
Deine Aufgabe besteht darin, Dokumente zu analysieren und ein strukturiertes JSON-Objekt mit den wichtigsten Informationen auszugeben:
1. title
Erstelle einen prägnanten, aussagekräftigen Titel ohne Adressdaten.
Wenn das Dokument eine Rechnungs- oder Bestellnummer hat, integriere sie kurz (sofern sinnvoll).
Die Ausgabesprache entspricht der im Dokument verwendeten Sprache (z. B. Deutsch oder Englisch).
Vermeide zu allgemeine oder zu spezifische Titel. Nutze nur die wichtigsten Informationen.
2. correspondent
Identifiziere den Absender bzw. die Institution in der kürzestmöglichen Form (z. B. „Amazon“ statt „Amazon EU SARL“).
Überprüfe zuerst, ob ein passender Korrespondent bereits existiert:
Falls ja, verwende exakt die bestehende Schreibweise (keine Duplikate).
Lege nur dann einen neuen Korrespondenten an, wenn es keinen bestehenden Eintrag gibt und eindeutig ein anderer Absender vorliegt.
3. tags
Wichtig: Vergib immer mindestens 3 und höchstens 4 Tags pro Dokument.
Genau 1 Haupt-Tag (Pflicht) – wähle eines aus der folgenden Liste (die 4 Tags dürfen niemals 2 Haupt-Tags enthalten):
Wohnen
Gesundheit
Auto
Arbeit
Finanzen
Versicherungen
Behörden / Amtliches
Verträge / Rechtliches
Einkaufen
Genau 1 Unter-Tag (Pflicht) – passend zum gewählten Haupt-Tag.
Verwende nur die Unter-Tags, die unter dem jeweiligen Haupt-Tag in der Liste aufgeführt sind (keine Mischungen, z. B. nicht „Wohnen“ + „Arzt“).
Prüfe zuerst, ob einer der genannten Unter-Tags passt oder ob ein bereits existierender Unter-Tag sinnvoll ist.
Erstelle nur im Ausnahmefall maximal einen neuen Unter-Tag, wenn gar nichts Passendes existiert.
Liste der Unter-Tags:
Wohnen
Betriebskosten
Strom
Wärme
Internet / TV / Telefon
Wohnungseigentümergemeinschaft
Bauen / Sanieren
Gesundheit
Befund
Arzt
Überweisung
Krankenkasse
Auto
Kauf & Leasing
Reparatur & Wartung
Pickerl & Inspektion
Arbeit
Gehaltsabrechnung
Bewerbung
Weiterbildung
Arbeitsvertrag
Mitarbeitergespräch / Vereinbarungen
Finanzen
Kontoauszüge
Steuern
Bank
Versicherungen
KFZ
Rechtsschutz
Haushalt
Skipper
Behörden / Amtliches
Ausweise
Urkunden
Genehmigungen & Anträge
Verträge / Rechtliches
Kaufverträge
Mahnungen
Rechtsstreit/Gericht
Einkaufen
Rechnungen
Gutscheine
Umtausch / Gutschrift
Garantie
Genau 1 Dokumentenart (Pflicht) – aus dieser Liste:
Rechnung
Vertrag
Dokument
Korrespondenz
Bescheid / Schreiben
Quittung / Nachweis / Bestätigung
Optional: 1 Zusatz-Tag (max. 1)
Vergib diesen Tag nur, wenn Haupt-Tag, Unter-Tag und Dokumentenart das Dokument noch nicht eindeutig genug beschreiben.
Dieses Zusatz-Tag darf nie ein zweiter Haupt-Tag sein.
Die 4 Tags dürfen also nie zwei Tags aus der Liste der Haupt-Tags enthalten.
Beispiel: Ein Dokument einer Versicherung mit Schadensfall könnte zum Beispiel diese Tags haben:
Haupt-Tag: „Versicherungen“
Unter-Tag: „KFZ“
Dokumentenart: „Rechnung“
Zusatz-Tag: z. B. „Mahnungen“ (falls es sich wirklich um eine Mahnung handelt).
Hinweis: Die maximale Anzahl an Tags beträgt 4 (1 Haupt-Tag, 1 Unter-Tag, 1 Dokumentenart, 1 optionaler Zusatz-Tag).
4. document_date
Extrahiere das relevante Dokumentdatum im Format YYYY-MM-DD (z. B. Rechnungsdatum).
Bei mehreren Daten wähle das wichtigste (kein Scan-Datum, wenn ein offizielles Ausstellungsdatum vorhanden ist).
5. language
Bestimme die Sprache des Dokuments (z. B. „de“ oder „en“).
Wenn die Sprache nicht klar ermittelbar ist, verwende „und“ (unbestimmt).
Konsistenz- und Qualitätsregeln
Keine Duplikate
Verwende vorhandene Tags und Korrespondenten, anstatt leicht abgewandelte Varianten neu anzulegen (z. B. „KFZ“ vs. „Kfz“).
Einheitliche Schreibweisen
Achte auf die im System bereits hinterlegten Schreibweisen (Groß-/Kleinschreibung, Singular/Plural).
Sprachliche Konsistenz
Der Titel soll in der Dokumentsprache formuliert sein (z. B. Deutsch, wenn das Dokument auf Deutsch ist).
Tags bleiben immer auf Deutsch.
Ausgabeformat
Bitte gib deine Analyse ausschließlich in folgendem JSON-Format zurück:
{
"title": "...",
"correspondent": "...",
"tags": ["..."],
"document_date": "YYYY-MM-DD",
"language": "de"
}
Beachte alle obigen Richtlinien, damit eine konsistente und eindeutige Zuordnung gewährleistet ist.
Bearbeitet von master_burn am 31.01.2025, 10:16
|
hynk
Vereinsmitgliedlike totally ambivalent
|
Danke! Werde es Mal testen, sobald ich die Zeit finde es aufzusetzen ![;)](/images/smilies/wink.gif) Ohne Extension funktioniert es ja auch schon Recht gut. Bin sehr auf den Unterschied gespannt.
|
liltan0x
Bloody Newbie
|
Hab ja noch nie so einen langen (Pre)Prompt in freier Wildbahn gesehn oder verwendet - d.h. aber das deine Daten in den Dokumenten doch erst wieder an OpenAI leaken, oder? Wärs dann nicht schlau, das mit einem lokalen Deepseek zB zu verbandeln?
|
master_burn
LegendLoading . . 40% . . . 50%
|
Ja idealerweise hätt ich ein lokales LLM mit einer leistungsstarken Grafikkarte, das das verarbeitet. Ist aber ein Kostenfaktor (Anschaffungskosten, Stromkosten, ...). Mit dem nächsten Serverupgrade kommt mir wegen Plex Transcoding eine Quadro P5000 rein, dann schau ich mal..
Bei Strom, Werkstattrechnungen oder Kaufbelegen für Consumer Elektronik haben ich aber generell wenig Sorgen wegen meiner Daten - sollte ein sensibler Arztbefund oder so dabei sein kann ich den ja händisch eintragen.
Außerdem gibt OpenAI an, dass Daten, die über die API geschickt werden, nicht für das Training verwendet werden.
Grundsätzlich stellt sich mir aber die Frage inwiefern sowas überhaupt in Trainingsdaten einfließt. So ein LLM is ja bis zu einem gewissen Grad eine Blackbox, wenn ich die nach bestimmten Dingen frage sagt ja jeder - "aber schaub obs plausibel ist". So gesehen dürfte es ja nicht möglich sein diese spezifische Information verlässlich abzufragen.
Kannst ja mal versuchen: Was hat Dominik Bergthaler aus XYZ letztes Jahr an Strom verbraucht. Da wird nix rauskommen. Aber kann auch sein dass ich das massiv unterschätze.
Bearbeitet von master_burn am 03.02.2025, 12:41
|