استراتيجيات التكوين: تنفيذ منشئ السلسلة
تعرف على كيفية تنفيذ السلاسل باستخدام LangChain.
سنغطي ما يلي...
في هذا الدرس، سنتعلم كيفية تطوير روبوت محادثة يستجيب لاستفسارات المستخدمين باستخدام الأساليب والوظائف التي تعلمناها حتى الآن. سنستخدم نظام RAG مع LangChain لتحميل النصوص وتقسيمها وتضمينها، وتقسيم الرموز، وتحميلها إلى مخزن متجهات، وإعداد مُسترد، وإنشاء مُطالبة باستخدام قالب مُطالبة، وإعداد نموذج LLM باستخدام أحدث النماذج، وتنفيذ سلاسل التوصيل، وإنشاء استجابة لاستفسارات المستخدمين.
عملية الترميز
دعونا نفهم الكود قبل أن نتعمق في التنفيذ الفعلي.
في هذا الكود نقوم بالخطوات التالية:
الأسطر من ١ إلى ١٠ : تم إلغاء العديد من التحذيرات، وتم ضبط متغير البيئة مفتاح API LLM Groq. سيُستخدم هذا مفتاح لاحقًا للوصول إلى نموذج الذكاء الاصطناعي.
في هذا الكود نقوم بالخطوات التالية:
الخط 1 :
RecursiveCharacterTextSplitterيتم استخدامه لتقسيم النص إلى أجزاء قابلة للإدارة.الخط 2 :
HuggingFaceEmbeddingsيقوم بإنشاء تضمينات لأجزاء النص لدينا لتسهيل عمليات الفهم الدلالي والاسترجاع.الخط 3 :
FAISSيدير متجرًا متجهًا يسمح باسترجاع النص بكفاءة استنادًا إلى التشابه، وهو أمر ضروري للتعامل مع استعلامات المستخدم وتوفير المعلومات ذات الصلة.الخط الرابع :
ChatPromptTemplateيتيح لنا تنسيق مطالبتنا النصية الهندسية إلى قالب يمكن لنموذج LLM الخاص بنا فهمه ومتابعته.الخط 5 :
RunnablePassthroughوRunnableParallelيتم استخدامها لتوجيه الأوامر في سلسلة منشئ LLM.الخط 6 :
StrOutputParserيتم استخدامه لتحليل وتنسيق استجابة LLM.الخط 7 :
WebBaseLoader: يتم استخدامه لجلب المحتوى من عنوان URL محدد.الخط 8 :
BeautifulSoupTransformerيتم تطبيقه لاستخراج نص قابل للقراءة من محتوى HTML المحمل.الخط 9 :
ChatGroqيعمل كواجهة لنماذج اللغة القوية الخاصة بـ Groq، مما يتيح للدردشة الآلية إنشاء استجابات بناءً على البيانات النصية المضمنة والمستردة.الخط 10 :
reيتم استخدام (التعبيرات العادية) لتنظيف النص وتنسيقه عن طريق إزالة العلامات المشابهة لـ HTML والخطوط المائلة العكسية غير الضرورية، وتقليل علامات الاقتباس المتعددة والمسافة البيضاء.
في هذا الكود نقوم بالخطوات التالية: