هذا مشروع بداية أساسي للبناء مع الأدوات التالية وواجهة برمجة التطبيقات:
عندما بدأت في الغوص في كل هذا ، شعرت بينما فهمت بعض القطع الفردية ، كان من الصعب تجميع كل شيء في مشروع متماسك. آمل أن يكون هذا المشروع مفيدًا لأي شخص يتطلع إلى البناء مع هذا المكدس ، وأن يحتاج إلى شيء لتبدأ به.
نقوم بإنشاء تطبيق يأخذ النص (الملفات النصية) ، وندمجها في المتجهات ، وتخزينها في Pinecone ، وتسمح بالبحث الدلالي للبيانات.
لأي شخص يتساءل عن البحث الدلالي ، إليك نظرة عامة (مأخوذة مباشرة من chatgpt4):
يشير البحث الدلالي إلى نهج البحث الذي يفهم نية المستخدم والمعنى السياقي لاستعلامات البحث ، بدلاً من مجرد مطابقة الكلمات الرئيسية.
يستخدم معالجة اللغة الطبيعية والتعلم الآلي لتفسير الدلالات ، أو المعنى ، وراء الاستعلامات. ينتج عن هذا نتائج بحث أكثر دقة وذات صلة. يمكن للبحث الدلالي مراعاة نية المستخدم ، وسياق الاستعلام ، والتعرف على مرادف ، وفهم اللغة الطبيعية. تتراوح تطبيقاتها من محركات البحث على الويب إلى أنظمة التوصيات الشخصية.
في هذا القسم ، سوف أسير بك من خلال كيفية نشر هذا التطبيق وتشغيله.
لتشغيل هذا التطبيق ، تحتاج إلى ما يلي:
لتشغيل التطبيق محليًا ، اتبع هذه الخطوات:
git clone [email protected]:dabit3/semantic-search-nextjs-pinecone-langchain-chatgpt.gitتغيير إلى الدليل وتثبيت التبعيات باستخدام NPM أو الغزل
copy .example.env.local إلى ملف جديد يسمى .env.local وتحديث مع مفاتيح وبيئة API الخاصة بك.
تأكد من أن بيئتك هي بيئة فعلية تمنحك Pinecone ، مثل us-west4-gcp-free
(اختياري) - أضف نصك المخصص أو ملفات Markdown إلى مجلد /documents .
قم بتشغيل التطبيق:
npm run dev عند إنشاء التضمينات والفهرس ، يمكن أن يستغرق ما يصل إلى 2-4 دقائق حتى يتم تهيئة الفهرس بالكامل. هناك وظيفة setTimeout بقيمة 180 ثانية في utils التي تنتظر إنشاء الفهرس.
إذا استغرق التهيئة وقتًا أطول ، فسوف تفشل في المرة الأولى التي تحاول فيها إنشاء التضمينات. إذا حدث هذا ، تفضل بزيارة وحدة التحكم Pinecone لمشاهدة وانتظار حالة إنشاء الفهرس الخاص بك لإنهاء ، ثم قم بتشغيل الوظيفة مرة أخرى.
تدور بيانات التطبيق التي تم تكوينها مسبقًا حول وثائق مطور بروتوكول العدسة ، لذلك لن يفهم سوى الأسئلة المتعلقة بها إلا إذا استبدلتها ببياناتك الخاصة. فيما يلي بعض الأسئلة التي قد تطرحها مع البيانات الافتراضية
تم توجيه قاعدة هذا المشروع من خلال هذا البرنامج التعليمي Node.js ، مع بعض إعادة الهيكلة وتم نقلها إلى Next.js. يمكنك أيضًا متابعتها هنا على Twitter!
أوصي بالتحقق من محمل مستودع GPT الذي يجعل من السهل تحويل أي ريبو github إلى تنسيق نص ، مع الحفاظ على بنية الملفات ومحتويات الملف ، مما يجعل من السهل تقطيع وحفظ إلى pinecone باستخدام قاعدة الكود الخاصة بي.