Als ziemlich schnelles Projekt bietet dieses Repository eine streamlit -Anwendung, mit der ein Benutzer einen Screenshot hochladen kann, der an einer Datenbank mit PDF -Dokumenten abgefragt wird. Sowohl die Bildstruktur als auch der (möglicherweise) enthaltene Text werden verwendet, um übereinstimmende Dokumente für einen selbst definierten Satz zu finden.
Wenn ein Benutzer einen Screenshot hochladen, werden zwei Flows ausgelöst. Zuerst erstellen wir ein Bild, in dem zwei Stücke des Screenshots ausgebettet werden. Die Stücke sind gebaut, da das Einbettung von Vit-G-14 auf quadratischen Eingängen trainiert wird. Power-Point-Slide oder A4-Dokumente haben normalerweise eine Nebenbeziehung von näher zu 2: 1. Aus diesem Grund sollte das Knacken die Gesamtquery-Qualität unterstützen. Das Bildbettdings (2 x 1024dim) werden dann gegen einen Vektorspeicher bekannter Stücke abgefragt. Der zweite Fluss extrahiert zuerst Text aus dem Screenshot mit der Tesseract OCR -Engine von Google. Anschließend werden die Texteinbettungen (1024DIM) unter Verwendung eines der multisprachigen Modelle mit Multisprachlern, E5-Large, erstellt. In einem letzten Schritt werden die Ergebnisse wieder zusammengeführt, wobei ein gemeinsam genutztes ID -System zwischen den Vektorspeichern verwendet wird und an den Benutzer gesendet wird.
Dies ist der Ort, an dem ich einige meiner Gedanken teile.
Die Idee war, ein schnelles Werkzeug zu bieten. Nehmen wir an, Sie haben eine Präsentations Folie und möchten wissen, ob Sie zuvor etwas Ähnliches erstellt haben. Wenn Sie das gesamte Dokument hochladen würden, wäre eine Anforderung für ein Feld zusätzlicher Seitenzahlen -Eingabebereich erforderlich. Sie müssen das Dokument in Ihrem Dateisystem finden und der Type -Typ müsste unterstützt werden. Nur ein Screenshot zu machen ist schneller (es gibt praktische Verknüpfungen in allen Betriebssystemen) und das Hochladen eines einzelnen Bildes ist einfach.
Es ist schnell, eine kleine App zusammenzustellen, und ich mag visuelle Schnittstellen viel mehr als CLI -basierte Tools.
Meistens durch Umarmung. Da dies ein kleines Projekt ist, wollte ich auch ausschließlich vorgebrachte Modelle verwenden.
Das Skript pdf_to_db.py ist eine einfache Iteration über alle Dokumente in pdfs/ , in dem die anderen Klassen die Vektorspeicher füllen.
Dies ist kein aktiv entwickeltes Projekt und wurde hauptsächlich für ein praktisches Projekt mit den gebrauchten Technologien verwendet. Wenn Sie Fragen haben, können Sie mich gerne kontaktieren.