CHATPDF-GPT ist ein innovatives Projekt, das die Kraft des Langchain-Frameworks nutzt, ein transformatives Tool für die Entwicklung von Anwendungen, die von Sprachmodellen betrieben werden. Diese einzigartige Anwendung verwendet Langchain, um eine Chat -Schnittstelle anzubieten, die mit PDF -Dokumenten kommuniziert, die von den Funktionen der Sprachmodelle von OpenAI angetrieben werden.
In diesem Projekt ist das Sprachmodell mit anderen Datenquellen verbunden und ermöglicht die Interaktion mit seiner Umgebung, wodurch die Prinzipien des Langchain -Frameworks verkörpert werden. Benutzer können ein PDF -Dokument hochladen, das dann in PineCone, einer Vektor -Datenbank und Supabase -Speicher gespeichert und gespeichert wird. Benutzer können dann mit dem hochgeladenen PDF chatten, wobei die KI den Inhalt des Dokuments verwendet, um sich an ein sinnvolles Gespräch zu führen.
Das Projekt basiert auf dem nächsten.js-Framework, einer führenden Auswahl für robuste, vollständige Webanwendungen. Die UI -Komponenten werden mit der Radix UI -Bibliothek wunderschön gefertigt und mit Rückenwind -CSS gestaltet, basierend auf der eleganten Vorlage von Shadcn/UI.
CHATPDF-GPT ist mit Beispielen ausgestattet, die verschiedene Operationen veranschaulichen, wie z. B.:
Um die Funktionalität dieses Projekts mithilfe der Demo zu testen, müssen Sie Ihre eigenen Anmeldeinformationen für OpenAI, Supabase und Tinecone bereitstellen. Für Supabase können Sie die nachstehend bereitgestellte Schritt-für-Schritt-Anleitung folgen, um die erforderlichen Anmeldeinformationen einzurichten und abzurufen. Um Anmeldeinformationen für OpenAI und Pinecone zu erwerben, konsultieren Sie bitte die entsprechende Dokumentation, da eine Schritt-für-Schritt-Anleitung möglicherweise nicht verfügbar ist. Stellen Sie immer sicher, dass Sie die neuesten Anweisungen der jeweiligen Dienste befolgen.
Openai
Erstellen eines neuen Projekts in Supabase :
Abrufen der Datenbankverbindungs -URL :
Diese Verbindungszeichenfolge wird für die Umgebungsvariable DATABASE_URL in Ihrer Anwendung verwendet.
Diese URL wird für die DIRECT_URL -Umgebungsvariable in Ihrer Anwendung verwendet.
SUPABASE_URL und SUPABASE_KEY . Kopieren Sie diese Werte. Die SUPABASE_URL ist die URL für Ihr Projekt, während SUPABASE_KEY der öffentliche anonyme Schlüssel für Ihr Projekt ist.
Einrichten des Supabase -Eimers :
SUPABASE_BUCKET verwendet.Einrichten von Umgebungsvariablen in Ihrer Anwendung :
DATABASE_URLDIRECT_URLSUPABASE_KEYSUPABASE_URLSUPABASE_BUCKETMit diesen Schlüssel kann Ihre Anwendung mit den Supabase -Diensten interagieren.
Bitte beachten Sie, dass es zwar möglich ist, eine Richtlinie festzulegen, die Ihren Speicherkorb öffentlich zugänglich macht, dies jedoch mit Vorsicht tun sollte. Wenn Sie Ihren Eimer öffentlich zugänglich machen, kann jeder mit der URL zu einem Objekt darauf zugreifen. Dies kann zum Testen nützlich sein, aber für Produktionsanwendungen sollten Sie restriktivere Richtlinien in Betracht ziehen, um die Sicherheit Ihrer Daten zu gewährleisten. Konsultieren Sie immer die Supabase -Dokumentation oder einen Sicherheitsexperten, um die Auswirkungen verschiedener Richtlinien zu verstehen.
Damit sollten Sie Supabase für Ihr Projekt einrichten und Speicherrichtlinien gemäß Ihren Anforderungen verwalten.
Tannenzapfen
Befolgen Sie die folgenden Schritte:
Klonen Sie das Projektrepository:
git clone https://github.com/anis-marrouchi/chatpdf-gpt.git
Navigieren Sie in das Projektverzeichnis und installieren Sie die Abhängigkeiten mit PNPM:
cd chatpdf-gpt
pnpm install
Erstellen Sie eine .env -Datei im Stammverzeichnis und füllen Sie Ihre Anmeldeinformationen (OpenAI, Pinecone, Supabase) aus, wie in der Datei .env.example angegeben.
Erstellen Sie das Datenbankschema mit Prisma. Sie müssen Sie dazu bringen, das Prisma -Erzeugungs -Befehl prisma generate lassen
npx prisma migrate dev --name init
Starten Sie den Server:
npm run dev
CHATPDF-GPT ist ein Open-Source-Projekt, und wir begrüßen Beiträge von allen herzlich. Weitere Informationen zum Einstieg finden Sie in unserem Beitragsführer.
Dieses Projekt steht auf den Schultern der Riesen. Unsere Arbeit wäre ohne die große Auswahl an Bibliotheken, Frameworks und Tools, die die Open -Source -Community produziert hat, nicht möglich. Insbesondere möchten wir unsere Wertschätzung zum Ausdruck bringen:
Das Langchain -Team für ihren bahnbrechenden Rahmen für Anwendungen, die von Sprachmodellen betrieben werden.
Öffnen Sie für ihre hochmodernen Sprachmodelle, die die Chat-Funktionalität ermöglichen.
Supabase für ihre Open-Source Firebase-Alternative, mit der wir sichere und leistungsfähige Backends aufgebaut haben.
Pinecone für ihre Vektor -Datenbank, die eine einfache und effiziente Speicherung und das Abrufen von Vektoreinbettungen ermöglicht.
Weiter.js und Vercel für ihren umfassenden Framework, mit dem wir diese Vollstack-Webanwendung problemlos erstellen konnten.
Shadcn für ihre eleganten UI-Komponenten, auf denen wir eine schöne und benutzerfreundliche Schnittstelle erstellen.
Radix UI für ihre robuste, zugängliche und anpassbare Komponentenbibliothek, die das Rückgrat unserer Benutzeroberfläche bildet.
@React-PDF-Viewer für ihre leistungsstarke React-Komponente, mit der die Benutzer das tatsächliche PDF-Dokument, mit dem sie interagieren, eine Vorschau von PDF-Dokument ermöglicht.
Und alle anderen aufgelisteten und nicht aufgeführten Abhängigkeiten, die zur Verwirklichung dieses Projekts beigetragen haben. Unser Beitrag ist im Vergleich zu ihrer kollektiven Anstrengung bescheiden.
CHATPDF-GPT ist Open-Source-Software, die unter der MIT-Lizenz lizenziert wurde.