...

/

تقنيات الاستعلامات المتعددة لاسترجاع المعلومات المعقدة

تقنيات الاستعلامات المتعددة لاسترجاع المعلومات المعقدة

تعرف على تقنية الاستعلام المتعدد، وكيفية عملها، وكيفية تنفيذها خطوة بخطوة.

سنغطي ما يلي...

الاستعلام المتعدد هو تقنية تستخدم في نماذج RAG المتقدمة التي تعمل على تحسين استرجاع المستندات ذات الصلة بأسئلة المستخدم المعقدة.

تخيل أن مستخدمًا يطرح السؤال التالي: "ما هو LangSmith، ولماذا نحتاجه؟" قد لا يجد نظام استرجاع بسيط سوى المستندات التي تحتوي على العبارة "LangSmith" بالضبط. ولكن ماذا لو ناقش المستند LangSmith باستخدام مرادفات أو مفاهيم ذات صلة؟ هنا، يُساعد الاستعلام المتعدد على توليد صيغ متعددة للسؤال الأصلي، مع رصد جوانب مختلفة من قصد المستخدم. هذا يُوسّع نطاق البحث ويستعيد مستندات قد لا تحتوي على الكلمات المفتاحية نفسها، ولكنها لا تزال تحمل معلومات قيّمة.

ما هو الاستعلام المتعدد؟

يستخدم الاستعلام المتعدد نظام إدارة التعلم (LLM) لإنشاء إعادة صياغة تلقائية لسؤال المستخدم الأصلي. يهدف هذا إلى إنشاء نسخ متعددة تعكس وجهات نظر مختلفة حول نية المستخدم، مما يزيد من فرص العثور على مستندات ذات صلة حتى مع اختلاف طفيف في الصياغة. إليك كيفية عمله:

  • إدخال المستخدم الفردي: يبدأ كل شيء بسؤال واحد يطرحه المستخدم.

  • تنويع الاستعلامات: يتمثل المفهوم الأساسي للاستعلامات المتعددة في توسيع نطاق البحث ليتجاوز الاستعلام الأصلي. ويتحقق ذلك باستخدام أساليب البحث المتعمق أو غيرها من التقنيات لإعادة صياغة السؤال بأشكال مختلفة. تخيل طرح السؤال بشكل مختلف لإبراز كامل نطاق ما تبحث عنه.

  • إنشاء استعلامات متعددة: يقوم برنامج LLM بإنشاء عدة إصدارات أعيدت صياغتها من الاستعلام الأصلي، حيث يلتقط كل منها جانبًا أو منظورًا مختلفًا لنية المستخدم.

  • تنفيذ البحث المتوازي: يتم بعد ذلك استخدام هذه الاستعلامات المتعددة المعاد صياغتها لإجراء عمليات بحث متوازية عبر مجموعة المستندات.

  • استرجاع المستندات: يقوم كل استعلام تمت صياغته مرة أخرى باسترجاع مجموعة من المستندات ذات الصلة بتلك الصياغة المحددة للسؤال.

  • تجميع النتائج: يتم تجميع المستندات المسترجعة من جميع الاستعلامات المختلفة. يضمن هذا التجميع مجموعة أوسع وأشمل من المستندات التي قد تحتوي على المعلومات ذات الصلة.

  • تقييم الصلة المعززة: يتم بعد ذلك تقييم المستندات المجمعة من حيث الصلة، مما يضمن تحديد المعلومات الأكثر صلة من المجموعة المتنوعة من المستندات المسترجعة.

  • الأساس للخطوات التالية: تصبح المستندات المسترجعة بناءً على كل اختلاف في الاستعلام بمثابة اللبنات الأساسية للخطوات اللاحقة في عملية RAG.

Press + to interact
High-level overview of the multi-query technique
High-level overview of the multi-query technique

التنفيذ خطوة بخطوة

فيما يلي الخطوات اللازمة لتنفيذ الاستعلامات المتعددة:

Press + to interact
Steps for implementing multi-query
Steps for implementing multi-query

1. استيراد الوحدات النمطية الضرورية

سنقوم باستيراد الوحدات المطلوبة من المكتبات المثبتة لتنفيذ الاستعلامات المتعددة:

Press + to interact
import os
import bs4
from langchain_community.document_loaders import TextLoader
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain_openai import OpenAIEmbeddings
from langchain_community.vectorstores import Chroma
from langchain.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser
from langchain_openai import ChatOpenAI
from operator import itemgetter
from langchain_openai import ChatOpenAI
from langchain_core.runnables import RunnablePassthrough

تعتبر هذه المكتبات والوحدات ضرورية للخطوات اللاحقة في العملية.

2. إعداد مفاتيح API بـ LangSmith و OpenAI

يُنشئ ...