يبني هذا المشروع قاعدة معارف جيل (RAG) للتراجع الطبي باستخدام Next.js و Langchain و Pinecone كقاعدة بيانات المتجه. يقوم النظام بمعالجة المستندات الطبية (على سبيل المثال ، ملفات PDF) ويخزن تضميناتها في قاعدة بيانات المتجهات ، مما يتيح بحثًا فعالًا في التشابه لاسترداد المعلومات ذات الصلة استجابةً لاستعلامات المستخدم.
يوفر هذا التطبيق واجهة سهلة الاستخدام لتحميل المستندات الطبية مثل PDFs ، وتحويلها إلى قطع ، وتخزين تضميناتها في قاعدة بيانات المتجهات (Pinecone). يستخدم النظام Langchain لتكوين المستندات وعانق نماذج تضمين Face لتوليد التضمينات. يمكن البحث في هذه التضمينات بكفاءة لاسترداد المعلومات ذات الصلة من قواعد المعرفة الطبية.
git clone https://github.com/ShantamShukla/medicalrag.git
cd medicalragتأكد من تثبيت Node.js (الإصدار 18 أو أعلى). ثم قم بتثبيت الحزم المطلوبة:
npm install قم بإنشاء ملف .env في جذر المشروع وأضف متغيرات البيئة التالية:
PINECONE_API_KEY=your_pinecone_api_keyيمكنك الحصول على مفتاح Pinecone API عن طريق التسجيل في Pinecone.
بعد الإعداد ، قم بتشغيل خادم التطوير:
npm run dev سيتم تشغيل تطبيقك الآن على http://localhost:3000 .
التكوينات التالية ضرورية للتطبيق:
يمكنك تحديد هذه في واجهة المستخدم قبل تحميل الملفات.
http://localhost:3000 .سيتتبع شريط التقدم العملية ، وسيتم دفع التضمينات إلى قاعدة بيانات Pinecone.
بمجرد معالجة التضمينات وتخزينها ، يمكنك عرضها في لوحة معلومات Pinecone.
يمكنك تمديد التطبيق عن طريق إنشاء واجهة بحث للاستعلام عن التضمينات المخزنة واسترداد المعلومات ذات الصلة.
├── 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
إذا واجهت الخطأ:
Failed to find any user-provided fetch implementation. Using global fetch implementation.
تأكد من تشغيل Node.js الإصدار 18+ ، والذي يوفر وظيفة fetch عالمية. يمكنك تحديث Node.js باستخدام:
nvm install 18
nvm use 18 إذا لم يتم دفع المتجهات إلى Pinecone ، فتأكد من تكوين مفتاح API الخاص بك بشكل صحيح في ملف .env .
بالنسبة لمستندات PDF الكبيرة ، قد تستغرق عملية التضمين وقتًا. دعها تعمل حتى يظهر شريط التقدم الانتهاء.