Dieses Projekt baut eine Wissensbasis (Medical Abruf-Augmented Generation) mit Next.js , Langchain und Pinecone als Vektordatenbank auf. Das System verarbeitet medizinische Dokumente (z. B. PDF -Dateien) und speichert ihre Einbetten in einer Vektor -Datenbank, wodurch eine effiziente Suchfunktion der Ähnlichkeit ermöglicht wird, um relevante Informationen als Antwort auf Benutzeranfragen abzurufen.
Diese Anwendung bietet eine benutzerfreundliche Schnittstelle zum Hochladen von medizinischen Dokumenten wie PDFs, der Konvertierung in Stücke und dem Speichern ihrer Einbettungen in einer Vektordatenbank (Pnecone). Das System verwendet Langchain , um Dokumente zu knacken und die Einbettungsmodelle von Face zu umarmen, um Einbettungen zu erzeugen. Diese Einbettungen können effizient durchsucht werden, um relevante Informationen aus medizinischen Wissensbasis abzurufen.
git clone https://github.com/ShantamShukla/medicalrag.git
cd medicalragStellen Sie sicher, dass Sie Node.js (Version 18 oder höher) installiert haben. Installieren Sie dann die erforderlichen Pakete:
npm install Erstellen Sie eine .env -Datei im Stammvermögen des Projekts und fügen Sie die folgenden Umgebungsvariablen hinzu:
PINECONE_API_KEY=your_pinecone_api_keySie können Ihre Tinecone -API -Schlüssel erhalten, indem Sie sich bei Pinecone anmelden.
Führen Sie nach der Einrichtung den Entwicklungsserver aus:
npm run dev Ihre App wird jetzt unter http://localhost:3000 ausgeführt.
Die folgenden Konfigurationen sind für die App unerlässlich:
Sie können diese in der Benutzeroberfläche angeben, bevor Sie Dateien hochladen.
http://localhost:3000 .Die Fortschrittsleiste verfolgt den Prozess und die Einbettungen werden in die Pinecone -Datenbank gedrückt.
Sobald die Einbettungen verarbeitet und gespeichert sind, können Sie sie in Ihrem Timecone -Dashboard anzeigen.
Sie können die App erweitern, indem Sie eine Suchschnittstelle erstellen, um die gespeicherten Einbettungsdings abzufragen und relevante Informationen abzurufen.
├── pages/
│ ├── api/
│ │ └── updatedatabase.ts # API route to handle document uploading and embedding
│ ├── index.tsx # Main page for uploading documents
├── utils/
│ ├── updateVectorDB.ts # Utility function to chunk, embed, and upload vectors
├── components/
│ └── UI components for the project
├── documents/ # Place for storing documents
├── config.ts # Configuration file (batch sizes, etc.)
├── .env # Environment variables
└── README.md # This readme file
Wenn Sie auf den Fehler stoßen:
Failed to find any user-provided fetch implementation. Using global fetch implementation.
Stellen Sie sicher, dass Sie Node.js Version 18+ ausführen, was eine globale fetch -Funktion bietet. Sie können node.js mit:
nvm install 18
nvm use 18 Wenn die Vektoren nicht auf Pinecone gedrückt werden, stellen Sie sicher, dass Ihre API -Taste in der .env -Datei korrekt konfiguriert ist.
Für große PDF -Dokumente kann der Einbettungsprozess einige Zeit in Anspruch nehmen. Lassen Sie es laufen, bis die Fortschrittsleiste die Fertigstellung zeigt.