In diesem Build erstellen wir ein Tool, das für die Logistikbranche entwickelt wurde. Dieses Tool automatisiert die Extraktion strukturierter Daten aus PDF-Anhängen (z. B. Angebotsanfragen oder Versandinformationsblättern) in E-Mails, sodass diese Daten an anderer Stelle im Workflow verwendet werden können.
Zum besseren Verständnis nehmen wir Nova Logistics als Beispiel – ein fiktives Unternehmen, das sich auf den Transport zerbrechlicher Elektronik durch verschiedene Städte spezialisiert hat.
Bei Nova Logistics wenden sich Kunden per E-Mail an uns, um Angebote für den Versand von Artikeln zwischen Städten anzufordern. Normalerweise fügen sie ein PDF mit allen erforderlichen Versanddetails bei. Derzeit ist der Prozess manuell: Jemand bei Nova muss jede E-Mail öffnen, das angehängte PDF herunterladen, es durchlesen und wichtige Informationen wie Artikelnamen und Mengen extrahieren, bevor die Versandkosten berechnet werden.
Dies kann Stunden dauern, insbesondere wenn mehrere E-Mails pro Tag mit jeweils langen PDF-Dokumenten eingehen.
In diesem Artikel gehen wir Schritt für Schritt durch die Entwicklung eines Tools zur Automatisierung dieses gesamten Prozesses – vom Abrufen der E-Mails und Extrahieren der PDF-Daten bis zum Senden der extrahierten Informationen an Google Sheets.
Wie es funktioniert
- Umfrage-E-Mails: Zunächst richten wir ein System ein, um regelmäßig nach neuen E-Mails im Posteingang zu suchen. Sobald eine E-Mail gefunden wird, laden wir den PDF-Anhang herunter und versehen die E-Mail mit einem Etikett, damit sie in Zukunft nicht erneut abgefragt wird.
- Daten mit Documind extrahieren: Wir übergeben das PDF als URL an Documind, ein Open-Source-Paket, das KI nutzt, um strukturierte Daten aus Dokumenten zu extrahieren. Dadurch erhalten wir Informationen wie Artikelnamen, Mengen, Versanddetails, Gewicht und mehr.
- Speichern und verwenden Sie die Daten: Abschließend senden wir die extrahierten Daten an Google Sheets, sodass sie einfach angezeigt, verfolgt und für weitere Berechnungen verwendet werden können.
Was wir brauchen werden
Um dieses Tool zu erstellen, benötigen wir die folgenden Pakete:
- Gmail-API: Zum Abrufen von E-Mails aus dem Posteingang.
- Supabase: Zum Hochladen und Speichern der PDFs.
- Documind: Zum Extrahieren strukturierter Daten aus den PDFs.
- Google Sheets API: Zum Speichern der extrahierten Daten und zum Berechnen von Angeboten.
- Nango: Zur Verwaltung der Benutzerauthentifizierung
Schritt 1: Ersteinrichtung
Bevor wir mit dem Schreiben des Codes beginnen, müssen wir ein paar Dinge einrichten. Mach dir keine Sorge; Ich werde Sie durch jeden Schritt führen.
1.1 Node.js installieren
Wir werden Node.js verwenden, um unseren Code auszuführen. Wenn Sie Node.js nicht installiert haben, gehen Sie zur Node.js-Website und laden Sie die neueste Version herunter.
1.2 Erforderliche Bibliotheken installieren
Sobald Node.js installiert ist, müssen wir die Pakete installieren, die uns bei der Interaktion mit Gmail, Google Sheets, Supabase und Documind helfen.
- Öffnen Sie ein Terminal oder eine Eingabeaufforderung.
-
Erstellen Sie einen neuen Ordner für Ihr Projekt, indem Sie Folgendes ausführen:
mkdir nova cd nova
-
Initialisieren Sie das Projekt:
npm init -y
-
Installieren Sie die erforderlichen Pakete:
npm install googleapis @supabase/supabase-js documind dotenv @nangohq/node
1.3 API-Anmeldeinformationen abrufen
Bevor wir mit dem Schreiben des Codes beginnen können, müssen Sie alle Anmeldeinformationen einrichten und erhalten, um die Google APIs (Gmail und Google Sheets), Supabase und Documind zu verwenden. Hier ist jeweils eine Kurzanleitung:
Google APIs
- Gehen Sie zur Google Cloud Console.
- Wählen Sie in der Projektliste ein Projekt aus oder erstellen Sie ein neues
- Aktivieren Sie die Gmail-API und die Google Sheets-API für Ihr Projekt:
- Gehen Sie zur API-Bibliothek in der Cloud Console und suchen Sie nach „Gmail API“ und „Google Sheets API“. Klicken Sie auf die einzelnen Elemente und aktivieren Sie sie.
- Konfigurieren Sie Ihren Einwilligungsbildschirm:
- Gehen Sie zu APIs & Dienste > OAuth-Zustimmungsbildschirm.
- Geben Sie Ihrer App einen Namen.
- Wählen Sie „Extern“ als Zielgruppentyp.
- Füllen Sie alle weiteren erforderlichen Felder aus.
- Erstellen Sie OAuth 2.0-Anmeldeinformationen:
- Gehen Sie zu APIs & Dienste > Anmeldeinformationen.
- Klicken Sie auf Anmeldeinformationen erstellen und wählen Sie OAuth-Client-ID.
- Wählen Sie „Webanwendung“ als Anwendungstyp.
- Kopieren Sie Ihre Kunden-ID und Ihr Geheimnis.
- Um Benutzer-OAuth auf mehreren Plattformen einfach zu verwalten, verwende ich Nango. Sie können sich die Dokumentation zu den ersten Schritten ansehen:
- Melden Sie sich bei Nango an und klicken Sie auf Neue Integration konfigurieren.
- Suchen Sie in der Liste der Integrationen nach Google Mail.
- Fügen Sie die Client-ID und das Geheimnis hinzu, die Sie kopiert haben.
- Fügen Sie im Feld für Bereiche https://www.googleapis.com/auth/gmail.readonly, https://www.googleapis.com/auth/gmail.modify und https://www.googleapis hinzu. com/auth/gmail.labels
- Kopieren Sie die Rückruf-URL für die Integration und speichern Sie.
- Gehen Sie zurück zu „Anmeldeinformationen“ in Ihrer Google-Konsole und fügen Sie die Rückruf-URL als autorisierten Weiterleitungs-URI hinzu.
Da wir auch die Google Sheets API verwenden, können Sie einfach Schritt 6 ausführen, um eine weitere Integration auf Nango zu erstellen. Suchen Sie nach der Google Sheets-Integration und verwenden Sie dieselbe Client-ID und dasselbe Geheimnis, die Sie kopiert haben. Fügen Sie im Bereich für Bereiche https://www.googleapis.com/auth/spreadsheets
hinzuUm Ihre App zu veröffentlichen, gehen Sie zum OAuth-Zustimmungsbildschirm in der Google-Konsole und klicken Sie auf die Schaltfläche „Veröffentlichen“.
Supabase
- Eröffnen Sie ein kostenloses Konto bei Supabase.
- Erstellen Sie ein neues Projekt und einen Bucket zum Speichern von PDFs.
- Rufen Sie die API-URL und den API-Schlüssel aus Ihren Projekteinstellungen ab.
Schritt 2: Schreiben Sie den Code
Jetzt schreiben wir den Code in kleinen Schritten.
2.1 Umgebungsvariablen hinzufügen
Erstellen Sie eine .env-Datei, um alle wichtigen Variablen zu speichern, die im gesamten Code verwendet werden. Hier ist ein Beispiel:
mkdir nova cd nova
Wir werden im weiteren Verlauf des Codes erläutern, wie diese Variablen abgerufen und verwendet werden.
2.2 Gmail-API einrichten und E-Mails abrufen
Wir beginnen mit der Verwendung der Gmail-API, um E-Mails abzurufen, die nicht das Label „Verarbeitet“ haben und Anhänge enthalten.
Um das erforderliche Zugriffstoken abzurufen, verwenden wir Nango, das automatisch Token-Aktualisierungen durchführt, wenn diese ablaufen, sodass Sie sich nicht selbst um die Verwaltung der Token-Lebenszyklen kümmern müssen.
Alles was Sie brauchen sind:
- Die Integrations-ID aus dem Gmail-Setup in Nango.
- Die Verbindungs-ID für den Benutzer, dessen Zugriffstoken benötigt wird.
- Ihr Nango-Geheimschlüssel.
Mit Ihrem eigenen Gmail-Konto können Sie ganz einfach eine neue Verbindung direkt über die Nango-Benutzeroberfläche hinzufügen. Ihren geheimen Schlüssel finden Sie im Abschnitt „Umgebungseinstellungen“ des Nango-Dashboards.
npm init -y
Der Einfachheit halber beschränken wir die Ergebnisse auf jeweils nur fünf E-Mails und filtern speziell, um nur E-Mails mit PDF-Anhängen abzurufen. Von diesen rufen wir nur den ersten Anhang zur Verarbeitung ab. Nachdem wir den Anhang heruntergeladen haben, kennzeichnen wir die E-Mail mit einem Etikett als verarbeitet und stellen so sicher, dass sie in zukünftigen Abfragezyklen nicht erneut abgerufen wird.
2.2 Auf Supabase hochladen
Als nächstes müssen wir die heruntergeladenen PDFs auf Supabase hochladen. Stellen Sie sicher, dass Sie den Bucket-Namen im Code durch Ihren ersetzen.
npm install googleapis @supabase/supabase-js documind dotenv @nangohq/node
2.3 Daten mit Documind extrahieren
Sobald das PDF in Supabase gespeichert ist, verwenden wir Documind, um die relevanten Daten zu extrahieren. Da es OpenAI für die Verarbeitung nutzt, stellen Sie sicher, dass Ihr API-Schlüssel zur .env-Datei hinzugefügt wird.
Documind arbeitet mit Schemata, die Sie definieren, um die benötigten strukturierten Daten zu extrahieren. Wir werden uns in Kürze mit der Schemadefinition befassen, aber Sie können auch gerne die Dokumentation für weitere Details durchsehen.
SUPABASE_API_KEY=<supabase api key> SUPABASE_URL=<supabase url> OPENAI_API_KEY=<open ai api key> NANGO_KEY=<nango secret key> </nango></open></supabase></supabase>
2.4 Senden Sie die extrahierten Daten an Google Sheets
Nachdem wir die Daten aus dem PDF extrahiert haben, senden wir sie an Google Sheets.
Bevor Sie fortfahren, stellen Sie sicher, dass Ihre Google Sheets eingerichtet sind und Sie über Nango eine Verbindung mit Ihrem Konto hergestellt haben. Falls Sie es noch nicht getan haben, finden Sie hier eine Vorlage, mit der Sie loslegen können.
mkdir nova cd nova
Schritt 3: Alles zusammenfügen
Nachdem wir die einzelnen Funktionen geschrieben haben, müssen wir alles zusammenbringen.
In diesem Schritt definieren wir das Schema, das Documind zum Extrahieren der erforderlichen Daten verwendet. Dieses Schema unterstützt die KI bei der Identifizierung und Strukturierung der relevanten Informationen aus den PDFs.
npm init -y
Testen Sie den Code
Der vollständige Quellcode ist auf GitHub verfügbar, zusammen mit einer Beispiel-PDF zum Testen. Sie können aber auch gerne eigene Dokumente erstellen und verwenden. Klonen Sie einfach das Repository, ändern Sie den Code entsprechend Ihren Anforderungen und probieren Sie ihn für Ihren eigenen Anwendungsfall aus.
Das obige ist der detaillierte Inhalt vonVerwandeln Sie unstrukturierte E-Mails in umsetzbare Daten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Zu den Anwendungen von JavaScript in der realen Welt gehören die serverseitige Programmierung, die Entwicklung mobiler Anwendungen und das Internet der Dinge. Die serverseitige Programmierung wird über node.js realisiert, die für die hohe gleichzeitige Anfrageverarbeitung geeignet sind. 2. Die Entwicklung der mobilen Anwendungen erfolgt durch reaktnative und unterstützt die plattformübergreifende Bereitstellung. 3.. Wird für die Steuerung von IoT-Geräten über die Johnny-Five-Bibliothek verwendet, geeignet für Hardware-Interaktion.

Ich habe eine funktionale SaaS-Anwendung mit mehreren Mandanten (eine EdTech-App) mit Ihrem täglichen Tech-Tool erstellt und Sie können dasselbe tun. Was ist eine SaaS-Anwendung mit mehreren Mietern? Mit Multi-Tenant-SaaS-Anwendungen können Sie mehrere Kunden aus einem Sing bedienen

Dieser Artikel zeigt die Frontend -Integration mit einem Backend, das durch die Genehmigung gesichert ist und eine funktionale edtech SaaS -Anwendung unter Verwendung von Next.js. erstellt. Die Frontend erfasst Benutzerberechtigungen zur Steuerung der UI-Sichtbarkeit und stellt sicher, dass API-Anfragen die Rollenbasis einhalten

JavaScript ist die Kernsprache der modernen Webentwicklung und wird für seine Vielfalt und Flexibilität häufig verwendet. 1) Front-End-Entwicklung: Erstellen Sie dynamische Webseiten und einseitige Anwendungen durch DOM-Operationen und moderne Rahmenbedingungen (wie React, Vue.js, Angular). 2) Serverseitige Entwicklung: Node.js verwendet ein nicht blockierendes E/A-Modell, um hohe Parallelitäts- und Echtzeitanwendungen zu verarbeiten. 3) Entwicklung von Mobil- und Desktop-Anwendungen: Die plattformübergreifende Entwicklung wird durch reaktnative und elektronen zur Verbesserung der Entwicklungseffizienz realisiert.

Zu den neuesten Trends im JavaScript gehören der Aufstieg von Typenkripten, die Popularität moderner Frameworks und Bibliotheken und die Anwendung der WebAssembly. Zukunftsaussichten umfassen leistungsfähigere Typsysteme, die Entwicklung des serverseitigen JavaScript, die Erweiterung der künstlichen Intelligenz und des maschinellen Lernens sowie das Potenzial von IoT und Edge Computing.

JavaScript ist der Eckpfeiler der modernen Webentwicklung. Zu den Hauptfunktionen gehören eine ereignisorientierte Programmierung, die Erzeugung der dynamischen Inhalte und die asynchrone Programmierung. 1) Ereignisgesteuerte Programmierung ermöglicht es Webseiten, sich dynamisch entsprechend den Benutzeroperationen zu ändern. 2) Die dynamische Inhaltsgenerierung ermöglicht die Anpassung der Seiteninhalte gemäß den Bedingungen. 3) Asynchrone Programmierung stellt sicher, dass die Benutzeroberfläche nicht blockiert ist. JavaScript wird häufig in der Webinteraktion, der einseitigen Anwendung und der serverseitigen Entwicklung verwendet, wodurch die Flexibilität der Benutzererfahrung und die plattformübergreifende Entwicklung erheblich verbessert wird.

Python eignet sich besser für Datenwissenschaft und maschinelles Lernen, während JavaScript besser für die Entwicklung von Front-End- und Vollstapel geeignet ist. 1. Python ist bekannt für seine prägnante Syntax- und Rich -Bibliotheks -Ökosystems und ist für die Datenanalyse und die Webentwicklung geeignet. 2. JavaScript ist der Kern der Front-End-Entwicklung. Node.js unterstützt die serverseitige Programmierung und eignet sich für die Entwicklung der Vollstapel.

JavaScript erfordert keine Installation, da es bereits in moderne Browser integriert ist. Sie benötigen nur einen Texteditor und einen Browser, um loszulegen. 1) Führen Sie sie in der Browser -Umgebung durch, indem Sie die HTML -Datei durch Tags einbetten. 2) Führen Sie die JavaScript -Datei nach dem Herunterladen und Installieren von node.js nach dem Herunterladen und Installieren der Befehlszeile aus.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

WebStorm-Mac-Version
Nützliche JavaScript-Entwicklungstools

MantisBT
Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor