بناء LangChain Gemini File Search RAG API
تعرّف إلى كيفية تصميم سير عمل RAG موثوق بالاعتماد على Gemini API File Search، مع الاسترجاع المُدار، والبحث الدلالي في المستندات، والاستشهادات التلقائية، ونموذج واضح للتكلفة.
ما الذي يبنيه هذا الشرح العملي؟
يربط Retrieval-Augmented Generation، المعروف اختصارًا باسم RAG، نموذجًا توليديًا بمجموعة مُنضبطة من المستندات. وبدلًا من مطالبة النموذج بالإجابة اعتمادًا على معرفته العامة الناتجة عن التدريب فقط، يسترجع التطبيق مواد ذات صلة ويقدمها كسياق للاستجابة. والنتيجة قد تكون أكثر صلة بالسؤال، وأسهل في التحقق منها، وأكثر توافقًا مع وثائق المؤسسة نفسها.
المسار المُتحقق منه في Gemini API لهذا النوع من سير العمل هو File Search. وهو نظام RAG مُدار بالكامل ومضمّن في Gemini API. يتولى File Search تخزين الملفات، وتقسيمها إلى مقاطع، وإنشاء embeddings، والبحث المتجهي، والحقن الديناميكي للسياق المسترجع داخل prompt. ويختلف هذا جوهريًا عن البنية ذاتية الإدارة الواردة في المسودة الأصلية، التي اقترحت تخزينًا محليًا باستخدام Chroma ومنطقًا خاصًا بالتطبيق لعملية إدخال البيانات.
يشرح هذا الدليل كيفية التخطيط لتطبيق RAG يجمع بين LangChain وGemini، من دون تقديم كود حزم غير مُتحقق منه على أنه جاهز للاستخدام في بيئة الإنتاج. وتؤكد المعلومات التقنية المتاحة استخدام LangChain وGemini معًا في مشاريع RAG، لكنها لا تتحقق من حزمة تكامل معينة وحديثة لـ LangChain، أو من توقيع دالة محدد، أو من إصدار تبعية بعينه. لذلك، يقتصر الحد الفاصل للتنفيذ المُتحقق منه في هذا الدليل على واجهة Gemini API الحالية generateContent وإمكانات File Search.
يتكون التصميم النهائي من أربع مراحل منطقية. أولًا، تُضاف الوثائق المصرح بها إلى مصدر المعرفة في File Search. ثانيًا، يجهز نظام Gemini المُدار هذه المواد للاسترجاع. ثالثًا، تُطابق أسئلة المستخدم دلاليًا مع المحتوى المفهرس. رابعًا، يُرسل السياق المسترجع إلى Gemini لإنشاء الإجابة، مع استشهادات تحدد مواد المستندات المستخدمة. ويمكن لطبقة التطبيق استخدام LangChain للتنسيق، لكنها لا ينبغي أن تكرر مكونات الاسترجاع المُدارة ما لم يوجد متطلب مُتحقق منه يستدعي ذلك.
لماذا تستخدم Gemini API File Search مع RAG؟
يتطلب تنفيذ RAG التقليدي عادةً عدة خدمات أو مكتبات مُهيأة بشكل مستقل. فعلى الفريق اختيار مخزن للملفات، واستخراج النص، وتحديد آلية تقسيم المستندات، وإنشاء embeddings، وحفظ المتجهات، وتشغيل البحث عن التشابه، وبناء prompt، والحفاظ على مراجع المصادر. وتضيف كل نقطة فصل مزيدًا من أعمال الإعداد والصيانة، كما تخلق نقاطًا إضافية قد يؤدي فيها خطأ في الفهرسة إلى خفض جودة الإجابات.
يبسط File Search هذا المسار. ووفقًا لإعلان Google المُتحقق منه، فإنه يدير تلقائيًا تخزين الملفات، واستراتيجيات التقسيم المثلى، وembeddings، والحقن الديناميكي للسياق المسترجع داخل prompts. وتعمل الميزة ضمن واجهة generateContent الحالية، ما يتيح للتطبيق استخدام سير عمل التوليد نفسه مع إضافة استرجاع المستندات الموثوق.
يعتمد الاسترجاع على المعنى، وليس على تطابق الكلمات بدقة فقط. ويستخدم File Search بحثًا متجهيًا مدعومًا بنموذج Gemini Embedding لفهم معنى الاستعلام وسياقه. وتبرز أهمية ذلك عندما يستخدم السؤال عبارات مختلفة عن تلك الواردة في المستند المصدر. فقد يسأل المستخدم مثلًا عن «تصعيد انقطاع الخدمة لدى العميل»، بينما تستخدم السياسة المفهرسة عبارة «الاستجابة لتعطل الخدمة». ويمكن للبحث الدلالي الربط بين هذين المفهومين المرتبطين.
يوفر File Search أيضًا استشهادات مضمّنة. إذ تحدد الاستجابات تلقائيًا أجزاء المستندات المفهرسة التي استُخدمت لإنشاء الإجابة. وتكتسب هذه المراجع أهمية كبيرة لفرق الدعم، وبوابات الوثائق التقنية، ومساعدي السياسات الداخلية، وسير عمل البحث؛ لأنها تتيح للمستخدم فحص الأدلة بدل التعامل مع النص المُولّد باعتباره صحيحًا بذاته.
المتطلبات والنطاق
- بيئة Google AI Studio أو Google Cloud تتمتع بإمكانية الوصول إلى Gemini API.
- مستندات تملك الصلاحية لفهرستها واستخدامها في الإجابة عن الأسئلة.
- إلمام أساسي بطلبات API وJSON وprompts والإعدادات المعتمدة على البيئة.
- طبقة تطبيق يمكنك من خلالها استدعاء Gemini API وعرض الإجابة الناتجة على مستخدم أو خدمة لاحقة.
- إلمام اختياري بمفاهيم LangChain مثل المستندات، وretrievers، وprompts، وتنسيق النماذج.
لا توفر المعلومات المُتحقق منها إصدارًا حاليًا لحزمة LangChain أو واجهة API مُتحققًا منها لمحول File Search. لا تنسخ مثال تكامل قديمًا إلى مشروع إنتاجي لمجرد أن أسماء الاستيراد فيه تبدو مألوفة. تحقّق من وثائق مزود LangChain الحالية ووثائق Gemini API الحالية قبل اختيار حزمة أو توقيع دالة.
لا ترفع كلمات المرور، أو مفاتيح API، أو رموز الوصول، أو الملفات المُصدّرة السرية، أو المستندات التي لا ينبغي لتطبيقك أن يتمكن من استرجاعها. لا يستطيع نظام RAG احترام الحدود إلا بقدر ما تُنفذ حول محتواه المفهرس. يحسن File Search عملية الاسترجاع، لكنه لا يحدد بمفرده سياسة التفويض في مؤسستك.
الخطوة ١: تحديد مجموعة المعرفة
ابدأ بتحديد ما يُسمح للتطبيق بالإجابة عنه بدقة. وعادةً ما تكون المجموعة المحدودة والمُحافَظ عليها جيدًا أكثر فائدة من أرشيف غير مُنقح. ويمكن أن تشمل المصادر المناسبة أدلة المنتجات، ومقالات الدعم المعتمدة، والإجراءات الداخلية، والمراجع التقنية، أو وثائق السياسات. وتعتمد مجموعة المصادر...
تابع القراءة
سجل دخولك مجاناً لقراءة المقال كاملاً والوصول إلى أدوات الذكاء الاصطناعي.
تسجيل الدخول / إنشاء حساب