ما المقصود بـ LangChain؟
LangChain هو إطار عمل مفتوح المصدر لإنشاء التطبيقات استنادًا إلى نماذج اللغة الكبيرة (LLM). نماذج اللغة الكبيرة (LLM) هي نماذج كبيرة للتعليم العميق مُدربة مسبقًا على كميات كبيرة من البيانات التي يمكن أن تنشئ استجابات لاستعلامات المستخدمين - على سبيل المثال، الإجابة عن الأسئلة أو إنشاء صور من المطالبات النصية. يوفر LangChain الأدوات والخلاصات لتحسين التخصيص والدقة وملاءمة المعلومات التي تنتجها النماذج. على سبيل المثال، يمكن للمطورين استخدام مكونات LangChain لإنشاء سلاسل مطالبات جديدة أو تخصيص القوالب الموجودة. يتضمن LangChain أيضًا مكونات تسمح لنماذج اللغة الكبيرة (LLM) بالوصول إلى مجموعات بيانات جديدة بدون إعادة التدريب.
لماذا يُعد LangChain مهمًا؟
تتفوق نماذج اللغة الكبيرة (LLM) في الاستجابة للمطالبات في سياق عام، ولكنها تجد صعوبة في نطاق معين لم تُدرَّب عليه مطلقًا. المطالبات هي استعلامات يستخدمها الأشخاص للحصول على استجابات من نموذج اللغة الكبير (LLM). على سبيل المثال، يمكن لنموذج اللغة الكبير تقديم إجابة عن تكلفة الكمبيوتر من خلال تقديم تقدير. ومع ذلك، لا يمكنه إدراج سعر طراز كمبيوتر معين تبيعه شركتك.
للقيام بذلك، يجب على مهندسي تعلُّم الآلة دمج نموذج اللغة الكبير مع مصادر البيانات الداخلية للمؤسسة وتطبيق هندسة الأوامر (هندسة التلقين) - وهي ممارسة يحسن عالم البيانات من خلالها الإدخالات إلى نموذج مولّد بهيكل وسياق محددين.
يبسِّط LangChain الخطوات الوسيطة لتطوير مثل هذه التطبيقات المستجيبة للبيانات، ما يجعل هندسة الأوامر (هندسة التلقين) أكثر كفاءة. صُمم لتطوير تطبيقات متنوعة مدعومة بنماذج اللغة بسهولة أكبر، بما في ذلك روبوتات المحادثة والإجابة عن الأسئلة وإنشاء المحتوى والملخصات وغير ذلك.
تصف الأقسام التالية فوائد LangChain.
إعادة استخدام نماذج اللغة
باستخدام LangChain، يمكن للمؤسسات إعادة استخدام نماذج اللغة الكبيرة (LLM) في التطبيقات الخاصة بنطاق بدون إعادة التدريب أو الضبط الدقيق. يمكن لفرق التطوير إنشاء تطبيقات معقدة تشير إلى معلومات ذات ملكية خاصة لزيادة استجابات النموذج. على سبيل المثال، يمكنك استخدام LangChain لإنشاء تطبيقات تقرأ البيانات من المستندات الداخلية المخزنة وتلخصها في استجابات المحادثة. يمكنك إنشاء سير عمل التوليد المعزز بالاسترداد (RAG) الذي يقدم معلومات جديدة لنموذج اللغة أثناء المطالبة. يؤدي تنفيذ عمليات سير العمل المدركة للسياق، مثل التوليد المعزز بالاسترداد، إلى تقليل هلوسة النموذج وتحسين دقة الاستجابة.
تبسيط تطوير الذكاء الاصطناعي
يبسِّط LangChain تطوير الذكاء الاصطناعي (AI) من خلال التخلص من تعقيد عمليات تكامل مصادر البيانات وتحسين المطالبات. يمكن للمطورين تخصيص التسلسلات لإنشاء تطبيقات معقدة بسرعة. بدلاً من برمجة منطق الأعمال، يمكن لفرق البرامج تعديل القوالب والمكتبات التي توفرها LangChain لتقليل وقت التطوير.
دعم المطورين
يوفر LangChain لمطوري الذكاء الاصطناعي أدوات لربط نماذج اللغة بمصادر البيانات الخارجية. إنه مفتوح المصدر ومدعوم من قِبل مجتمع نشط. يمكن للمؤسسات استخدام LangChain مجانًا وتلقي الدعم من مطورين آخرين بارعين في إطار العمل.
كيف يعمل LangChain؟
باستخدام LangChain، يمكن للمطورين تكييف نموذج اللغة بمرونة مع سياقات أعمال محددة من خلال تحديد الخطوات المطلوبة لإنتاج النتيجة المرجوة.
السلاسل
السلاسل هي المبدأ الأساسي الذي يحتوي على العديد من مكونات الذكاء الاصطناعي في LangChain لتوفير استجابات مدركة للسياق. السلسلة عبارة عن سلسلة من الإجراءات المؤتمتة من استعلام المستخدم إلى مخرجات النموذج. على سبيل المثال، يمكن للمطورين استخدام سلسلة من أجل:
- الاتصال بمصادر بيانات مختلفة.
- إنشاء محتوى فريد.
- ترجمة لغات متعددة.
- الإجابة عن استعلامات المستخدمين.
الروابط
السلاسل مصنوعة من روابط. يُطلق على كل إجراء المطورون يربطه في سلسلة لتشكيل تسلسل متسلسل رابطًا. باستخدام الروابط، يمكن للمطورين تقسيم المهام المعقدة إلى مهام متعددة أصغر. تتضمن أمثلة الروابط ما يلي:
- تنسيق إدخال المستخدم.
- إرسال استعلام إلى نموذج لغة كبير (LLM).
- استرداد البيانات من التخزين السحابي.
- الترجمة من لغة إلى أخرى.
في إطار عمل LangChain، يقبل الرابط الإدخالات من المستخدم ويمررها إلى مكتبات LangChain لمعالجتها. يسمح LangChain أيضًا بإعادة ترتيب الروابط لإنشاء عمليات سير عمل للذكاء الاصطناعي مختلفة.
نظرة عامة
لاستخدام LangChain، يثبت المطورون إطار العمل في Python باستخدام الأمر التالي:
pip install langchain
يستخدم المطورون بعد ذلك كتل إنشاء السلاسل أو لغة التعبير لـ LangChain (LCEL) لإنشاء سلاسل بأوامر برمجة بسيطة. تمرر الدالة chain () وسيطات الرابط إلى المكتبات. يسترد الأمر execute () النتائج. يمكن للمطورين تمرير نتيجة الرابط الحالي إلى الرابط التالي أو عرضها كمخرج نهائي.
فيما يلي مثال لدالة سلسلة روبوت المحادثة التي تعرض تفاصيل المنتج بلغات متعددة.
chain([
retrieve_data_from_product_database().
send_data_to_language_model().
format_output_in_a_list().
translate_output_in_target_language()
])
ما مكونات LangChain الأساسية؟
باستخدام LangChain، يمكن لفرق البرامج إنشاء أنظمة نماذج لغوية مدركة للسياق باستخدام الوحدات التالية.
واجهة نموذج لغة كبير (LLM)
يوفر LangChain واجهات برمجة تطبيقات (API)يمكن للمطورين من خلالها الاتصال بنماذج اللغات الكبيرة (LLM) والاستعلام عنها من التعليمات البرمجية الخاصة بها. يمكن للمطورين التفاعل مع النماذج العامة والخاصة مثل GPT وBard وPalM باستخدام LangChain عن طريق إجراء استدعاءات API بسيطة بدلاً من كتابة تعليمات برمجية معقدة.
قوالب مطالبات
قوالب مطالبات هي هياكل منشأة مسبقًا يستخدمها المطورون لصياغة الاستعلامات المتعلقة بنماذج الذكاء الاصطناعي بشكل متسق ودقيق. يمكن للمطورين إنشاء قالب مطالبات لتطبيقات روبوت المحادثة أو التعلم باستخدام بضع عينات أو تقديم تعليمات محددة لنماذج اللغة. علاوة على ذلك، يمكنهم إعادة استخدام القوالب في مختلف التطبيقات والنماذج اللغوية.
الوكلاء
يستخدم المطورون الأدوات والمكتبات التي وفرها LangChain لإنشاء وتخصيص السلاسل الحالية للتطبيقات المعقدة. الوكيل عبارة عن سلسلة خاصة تطالب نموذج اللغة بتحديد أفضل تسلسل استجابةً لاستعلام. عند استخدام وكيل، يوفر المطورون إدخالات المستخدمين والأدوات المتاحة والخطوات الوسيطة المحتملة لتحقيق النتائج المرجوة. بعد ذلك، يعرض نموذج اللغة تسلسلاً قابلاً للتطبيق للإجراءات التي يمكن للتطبيق اتخاذها.
وحدات الاسترداد
يتيح LangChain هندسة أنظمة التوليد المعزز بالاسترداد (RAG) باستخدام العديد من الأدوات لتغيير المعلومات التي تحسن استجابات نموذج اللغة وتخزينها والبحث عنها واستردادها. يمكن للمطورين إنشاء تمثيلات دلالية للمعلومات باستخدام عمليات تضمين الكلمات وتخزينها في قواعد بيانات vector المحلية أو السحابية.
الذاكرة
تحسن بعض تطبيقات نماذج لغة المحادثة استجاباتها بالمعلومات التي تمت إعادة استدعاؤها من التفاعلات السابقة. يسمح LangChain للمطورين بتضمين إمكانيات الذاكرة في أنظمتهم. فهو يدعم:
- أنظمة ذاكرة بسيطة تستدعي أحدث المحادثات.
- هياكل الذاكرة المعقدة التي تحلل الرسائل السابقة لعرض النتائج الأكثر صلة.
عمليات الاستدعاء
عمليات الاستدعاء هي تعليمات برمجية يضعها المطورون في تطبيقاتهم لتسجيل أحداث معينة ومراقبتها ودفقها في عمليات LangChain. على سبيل المثال، يمكن للمطورين تتبع وقت استدعاء السلسلة لأول مرة والأخطاء التي تمت مواجهتها مع عمليات الاستدعاء.
كيف يمكن لـ AWS المساعدة في تلبية متطلبات LangChain؟
باستخدام Amazon Bedrock وAmazon Kendra وAmazon SageMaker JumpStart وLangChain ونماذج اللغات الكبيرة، يمكنك إنشاء تطبيقات الذكاء الاصطناعي المولّد العالية الدقة على بيانات المؤسسة. LangChain هي الواجهة التي تربط المكونات التالية معًا:
- Amazon Bedrock هي خدمة مُدارة يمكن للمؤسسات من خلالها إنشاء تطبيقات الذكاء الاصطناعي المولّد ونشرها. يمكنك استخدام Amazon Bedrock لإعداد نموذج متطور عبر الأجيال، بإمكانك الوصول إليه من LangChain.
- Amazon Kendra هي خدمة مدعومة بتقنيات تعلّم الآلة (ML) تساعد المؤسسات في إجراء عمليات بحث داخلية. ويمكنك توصيل Amazon Kendra بـ LangChain، التي تستخدم البيانات من قواعد البيانات الخاصة لتحسين مخرجات نموذج اللغة.
- Amazon SageMaker Jumpstart عبارة عن مركز لتعلّم الآلة يوفر خوارزميات مسبقة الإعداد ونماذج تأسيس يمكن للمطورين نشرها بسرعة. يمكنك استضافة نماذج التأسيس على SageMaker Jumpstart والمطالبة بها من LangChain.
ابدأ استخدام LangChain على AWS عن طريق إنشاء حساب اليوم.