Documind adalah alat pemrosesan dokumen canggih yang memanfaatkan AI untuk mengekstrak data terstruktur dari PDF. Ini dibangun untuk menangani konversi PDF, mengekstrak informasi yang relevan, dan memformat hasil sebagaimana ditentukan oleh skema yang dapat disesuaikan.
Repo ini dibangun di atas Zerox - https://github.com/getomni-ai/zerox. Lisensi MIT dari Zerox termasuk dalam folder inti dan juga disebutkan dalam file lisensi root.
Demo versi yang di -host Documind akan segera tersedia untuk Anda coba! Versi yang di -host memberikan pengalaman yang mulus dengan API yang dikelola sepenuhnya, sehingga Anda dapat melewatkan pengaturan dan mulai mengekstraksi data segera.
Untuk akses penuh ke layanan yang di -host, silakan minta akses dan kami akan membuat Anda siap.
Sebelum menggunakan documind , pastikan dependensi perangkat lunak berikut diinstal:
documind bergantung pada Ghostscript untuk menangani operasi PDF tertentu.Instal keduanya di sistem Anda sebelum melanjutkan:
# On macOS
brew install ghostscript graphicsmagick
# On Debian/Ubuntu
sudo apt-get update
sudo apt-get install -y ghostscript graphicsmagick
Pastikan Node.js (v18+) dan NPM diinstal pada sistem Anda.
Anda dapat menginstal documind melalui NPM:
npm install documind
documind memerlukan file .env untuk menyimpan informasi sensitif seperti kunci API openai Anda.
Buat file .env di direktori proyek Anda dan tambahkan yang berikut:
OPENAI_API_KEY=your_openai_api_key Pertama, impor documind dan tentukan skema Anda. Skema menguraikan informasi apa yang harus dicari documind di setiap dokumen. Berikut pengaturan singkat untuk memulai.
Skema ini adalah array objek di mana setiap objek mendefinisikan:
"string" , "number" , "array" , "object" ).Contoh skema untuk pernyataan bank:
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 Gunakan documind untuk memproses PDF dengan melewati URL file dan skema.
import { extract } from 'documind' ;
const runExtraction = async ( ) => {
const result = await extract ( {
file : 'https://bank_statement.pdf' ,
schema
} ) ;
console . log ( "Extracted Data:" , result ) ;
} ;
runExtraction ( ) ;Berikut adalah contoh dari seperti apa hasil yang diekstraksi:
{
"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 hadir dengan templat bawaan untuk mengekstraksi data dari jenis dokumen populer seperti faktur, laporan bank, dan banyak lagi. Template ini memudahkan untuk memulai tanpa mendefinisikan skema Anda sendiri.
Daftar template yang tersedia
Anda dapat mendaftarkan semua templat yang tersedia menggunakan fungsi templates.list .
import { templates } from 'documind' ;
const templates = templates . list ( ) ;
console . log ( templates ) ; // Logs all available template namesGunakan template
Untuk menggunakan templat, cukup berikan namanya ke fungsi extract bersama dengan file yang ingin Anda ekstrak dari data. Inilah contohnya:
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 ( ) ;Baca dokumentasi template untuk detail lebih lanjut tentang templat dan cara berkontribusi Anda.
Kontribusi dipersilakan! Harap kirimkan permintaan tarik dengan perbaikan atau fitur apa pun.
Proyek ini dilisensikan di bawah lisensi AGPL v3.0.