Sebagai proyek yang agak cepat, repositori ini menyediakan aplikasi streamLit yang memungkinkan pengguna untuk mengunggah tangkapan layar yang akan ditanyai terhadap database dokumen PDF. Baik struktur gambar maupun teks yang disertakan (mungkin) digunakan untuk menemukan dokumen yang cocok untuk set yang ditentukan sendiri.
Ketika pengguna mengunggah tangkapan layar, dua aliran dipicu. Pertama, kami membangun gambar embedding dari dua potongan tangkapan layar. Potongan-potongan dibangun karena embedding gambar VIT-G-14 dilatih pada input persegi. Slide power-point atau dokumen A4 biasanya memiliki hubungan samping lebih dekat ke 2: 1, itulah sebabnya chunking harus mendukung kualitas kueri keseluruhan. Embeddings gambar (2 x 1024dim) kemudian ditanyai dengan penyimpanan vektor potongan yang diketahui. Aliran kedua pertama mengekstrak teks dari tangkapan layar menggunakan mesin Tesseract OCR Google. Setelah itu Embeddings Teks (1024DIM) dibangun menggunakan salah satu model multi-bahasa berkinerja terbaik, E5-Large. Pada langkah terakhir hasilnya digabungkan kembali, menggunakan sistem ID bersama antara toko vektor, dan mengirim ke pengguna.
Ini adalah tempat di mana saya membagikan beberapa pemikiran saya.
Idenya adalah untuk menyediakan alat yang cepat digunakan. Asumsikan Anda memiliki slide presentasi dan ingin tahu jika Anda membuat sesuatu yang serupa sebelumnya. Jika Anda mengunggah seluruh dokumen, akan ada persyaratan untuk bidang input nomor halaman tambahan, Anda perlu menemukan dokumen di sistem file Anda dan jenis file perlu didukung. Hanya mengambil tangkapan layar lebih cepat (ada jalan pintas yang praktis di semua OS) dan hanya mengunggah satu gambar satu lurus ke depan.
Cepat mengumpulkan aplikasi kecil dan saya lebih menyukai antarmuka visual daripada alat berbasis CLI.
Sebagian besar melalui papan peringkat pelukan. Karena ini adalah proyek kecil, saya juga ingin secara eksklusif menggunakan model pra-terlatih.
Script pdf_to_db.py adalah iterasi sederhana atas semua dokumen dalam pdfs/ yang menggunakan kelas lain untuk mengisi toko vektor.
Ini bukan proyek yang dikembangkan secara aktif dan sebagian besar digunakan untuk melakukan proyek dengan teknologi bekas. Jika Anda memiliki pertanyaan, jangan ragu untuk menghubungi saya.