تقنيات الاستعلامات المتعددة لاسترجاع المعلومات المعقدة
تعرف على تقنية الاستعلام المتعدد، وكيفية عملها، وكيفية تنفيذها خطوة بخطوة.
سنغطي ما يلي...
الاستعلام المتعدد هو تقنية تستخدم في نماذج RAG المتقدمة التي تعمل على تحسين استرجاع المستندات ذات الصلة بأسئلة المستخدم المعقدة.
تخيل أن مستخدمًا يطرح السؤال التالي: "ما هو LangSmith، ولماذا نحتاجه؟" قد لا يجد نظام استرجاع بسيط سوى المستندات التي تحتوي على العبارة "LangSmith" بالضبط. ولكن ماذا لو ناقش المستند LangSmith باستخدام مرادفات أو مفاهيم ذات صلة؟ هنا، يُساعد الاستعلام المتعدد على توليد صيغ متعددة للسؤال الأصلي، مع رصد جوانب مختلفة من قصد المستخدم. هذا يُوسّع نطاق البحث ويستعيد مستندات قد لا تحتوي على الكلمات المفتاحية نفسها، ولكنها لا تزال تحمل معلومات قيّمة.
ما هو الاستعلام المتعدد؟
يستخدم الاستعلام المتعدد نظام إدارة التعلم (LLM) لإنشاء إعادة صياغة تلقائية لسؤال المستخدم الأصلي. يهدف هذا إلى إنشاء نسخ متعددة تعكس وجهات نظر مختلفة حول نية المستخدم، مما يزيد من فرص العثور على مستندات ذات صلة حتى مع اختلاف طفيف في الصياغة. إليك كيفية عمله:
إدخال المستخدم الفردي: يبدأ كل شيء بسؤال واحد يطرحه المستخدم.
تنويع الاستعلامات: يتمثل المفهوم الأساسي للاستعلامات المتعددة في توسيع نطاق البحث ليتجاوز الاستعلام الأصلي. ويتحقق ذلك باستخدام أساليب البحث المتعمق أو غيرها من التقنيات لإعادة صياغة السؤال بأشكال مختلفة. تخيل طرح السؤال بشكل مختلف لإبراز كامل نطاق ما تبحث عنه.
إنشاء استعلامات متعددة: يقوم برنامج LLM بإنشاء عدة إصدارات أعيدت صياغتها من الاستعلام الأصلي، حيث يلتقط كل منها جانبًا أو منظورًا مختلفًا لنية المستخدم.
تنفيذ البحث المتوازي: يتم بعد ذلك استخدام هذه الاستعلامات المتعددة المعاد صياغتها لإجراء عمليات بحث متوازية عبر مجموعة المستندات.
استرجاع المستندات: يقوم كل استعلام تمت صياغته مرة أخرى باسترجاع مجموعة من المستندات ذات الصلة بتلك الصياغة المحددة للسؤال.
تجميع النتائج: يتم تجميع المستندات المسترجعة من جميع الاستعلامات المختلفة. يضمن هذا التجميع مجموعة أوسع وأشمل من المستندات التي قد تحتوي على المعلومات ذات الصلة.
تقييم الصلة المعززة: يتم بعد ذلك تقييم المستندات المجمعة من حيث الصلة، مما يضمن تحديد المعلومات الأكثر صلة من المجموعة المتنوعة من المستندات المسترجعة.
الأساس للخطوات التالية: تصبح المستندات المسترجعة بناءً على كل اختلاف في الاستعلام بمثابة اللبنات الأساسية للخطوات اللاحقة في عملية RAG.
التنفيذ خطوة بخطوة
فيما يلي الخطوات اللازمة لتنفيذ الاستعلامات المتعددة:
1. استيراد الوحدات النمطية الضرورية
سنقوم باستيراد الوحدات المطلوبة من المكتبات المثبتة لتنفيذ الاستعلامات المتعددة:
import osimport bs4from langchain_community.document_loaders import TextLoaderfrom langchain.text_splitter import RecursiveCharacterTextSplitterfrom langchain_openai import OpenAIEmbeddingsfrom langchain_community.vectorstores import Chromafrom langchain.prompts import ChatPromptTemplatefrom langchain_core.output_parsers import StrOutputParserfrom langchain_openai import ChatOpenAIfrom operator import itemgetterfrom langchain_openai import ChatOpenAIfrom langchain_core.runnables import RunnablePassthrough
تعتبر هذه المكتبات والوحدات ضرورية للخطوات اللاحقة في العملية.
2. إعداد مفاتيح API بـ LangSmith و OpenAI
يُنشئ ...