Documind ist ein erweitertes Dokumentenverarbeitungstool, mit dem AI zum Extrahieren strukturierter Daten aus PDFs nutzt. Es ist für PDF -Konvertierungen erstellt, relevante Informationen extrahieren und Ergebnisse formatieren, wie durch anpassbare Schemas angegeben.
Dieses Repo wurde auf Zerox gebaut - https://github.com/getomni-ai/zerox. Die MIT -Lizenz von Zerox ist im Kernordner enthalten und wird auch in der Root -Lizenzdatei erwähnt.
Eine Demo der Hosted -Version der Documind wird in Kürze verfügbar sein, damit Sie es ausprobieren können! Die gehostete Version bietet ein nahtloses Erlebnis mit vollständig verwalteten APIs, sodass Sie das Setup überspringen und sofort mit dem Extrahieren von Daten beginnen können.
Für den vollen Zugriff auf den gehosteten Service fordern Sie bitte den Zugriff an und wir können Sie einrichten.
Stellen Sie vor der Verwendung documind sicher, dass die folgenden Softwareabhängigkeiten installiert sind:
documind stützt sich auf Ghostscript für die Behandlung bestimmter PDF -Operationen.Installieren Sie beide auf Ihrem System, bevor Sie fortfahren:
# On macOS
brew install ghostscript graphicsmagick
# On Debian/Ubuntu
sudo apt-get update
sudo apt-get install -y ghostscript graphicsmagick
Stellen Sie sicher, dass Node.js (v18+) und NPM in Ihrem System installiert sind.
Sie können documind über npm installieren:
npm install documind
documind benötigt eine .env -Datei, um vertrauliche Informationen wie Ihren OpenAI -API -Schlüssel zu speichern.
Erstellen Sie eine .env -Datei in Ihrem Projektverzeichnis und fügen Sie Folgendes hinzu:
OPENAI_API_KEY=your_openai_api_key Importieren Sie zunächst documind und definieren Sie Ihr Schema. Das Schema skizziert, nach welchen Informationen documind in jedem Dokument achten sollten. Hier ist ein kurzes Setup, um loszulegen.
Das Schema ist eine Reihe von Objekten, in denen jedes Objekt definiert:
"string" , "number" , "array" , "object" ).Beispielschema für eine Bankaussage:
const schema = [
{
name : "accountNumber" ,
type : "string" ,
description : "The account number of the bank statement."
} ,
{
name : "openingBalance" ,
type : "number" ,
description : "The opening balance of the account."
} ,
{
name : "transactions" ,
type : "array" ,
description : "List of transactions in the account." ,
children : [
{
name : "date" ,
type : "string" ,
description : "Transaction date."
} ,
{
name : "creditAmount" ,
type : "number" ,
description : "Credit Amount of the transaction."
} ,
{
name : "debitAmount" ,
type : "number" ,
description : "Debit Amount of the transaction."
} ,
{
name : "description" ,
type : "string" ,
description : "Transaction description."
}
]
} ,
{
name : "closingBalance" ,
type : "number" ,
description : "The closing balance of the account."
}
] ;documind Verwenden Sie documind , um ein PDF zu verarbeiten, indem Sie die Datei -URL und das Schema übergeben.
import { extract } from 'documind' ;
const runExtraction = async ( ) => {
const result = await extract ( {
file : 'https://bank_statement.pdf' ,
schema
} ) ;
console . log ( "Extracted Data:" , result ) ;
} ;
runExtraction ( ) ;Hier ist ein Beispiel dafür, wie das extrahierte Ergebnis aussehen könnte:
{
"success" : true ,
"pages" : 1 ,
"data" : {
"accountNumber" : " 100002345 " ,
"openingBalance" : 3200 ,
"transactions" : [
{
"date" : " 2021-05-12 " ,
"creditAmount" : null ,
"debitAmount" : 100 ,
"description" : " transfer to Tom "
},
{
"date" : " 2021-05-12 " ,
"creditAmount" : 50 ,
"debitAmount" : null ,
"description" : " For lunch the other day "
},
{
"date" : " 2021-05-13 " ,
"creditAmount" : 20 ,
"debitAmount" : null ,
"description" : " Refund for voucher "
},
{
"date" : " 2021-05-13 " ,
"creditAmount" : null ,
"debitAmount" : 750 ,
"description" : " May's rent "
}
],
"closingBalance" : 2420
},
"fileName" : " bank_statement.pdf "
}
Documind verfügt über integrierte Vorlagen zum Extrahieren von Daten aus beliebten Dokumenttypen wie Rechnungen, Bankaussagen und mehr. Diese Vorlagen erleichtern es einfacher, loszulegen, ohne Ihr eigenes Schema zu definieren.
Listen Sie die verfügbaren Vorlagen auf
Sie können alle verfügbaren Vorlagen mit der Funktion der templates.list auflisten.
import { templates } from 'documind' ;
const templates = templates . list ( ) ;
console . log ( templates ) ; // Logs all available template namesVerwenden Sie eine Vorlage
Um eine Vorlage zu verwenden, übergeben Sie einfach ihren Namen zusammen mit der extract , aus der Sie Daten extrahieren möchten. Hier ist ein Beispiel:
import { extract } from 'documind' ;
const runExtraction = async ( ) => {
const result = await extract ( {
file : 'https://bank_statement.pdf' ,
template : 'bank_statement'
} ) ;
console . log ( "Extracted Data:" , result ) ;
} ;
runExtraction ( ) ;Lesen Sie die Vorlagendokumentation für weitere Informationen zu Vorlagen und wie Sie Ihren Beitrag leisten.
Beiträge sind willkommen! Bitte senden Sie eine Pull -Anfrage mit Verbesserungen oder Funktionen.
Dieses Projekt ist unter der Lizenz der AGPL v3.0 lizenziert.