تحليل الاستعلامات لتحقيق دقة أفضل
تعرف على تقنية التحلل، وكيفية عملها، وكيفية تنفيذها خطوة بخطوة.
سنغطي ما يلي...
في مهام RAG، غالبًا ما نواجه أسئلة معقدة تتطلب تحليلًا متعمقًا وجمع معلومات من مصادر متنوعة. وهنا يأتي دور التحليل. التحليل تقنية فعّالة تُقسّم مشكلة كبيرة ومعقدة إلى مشاكل فرعية أصغر وأسهل إدارة. بمعالجة هذه المشاكل الفرعية بشكل مستقل، يُمكننا تبسيط المهمة ككل، وفي النهاية، إنشاء استجابة أكثر شمولًا ودقة.
ما هو التحلل؟
في سياق تحليل الانحدار اللوجستي (RAG)، يتضمن التحليل تقسيم السؤال الرئيسي إلى سلسلة من الأسئلة الفرعية الأصغر والأكثر تركيزًا. يمكن الإجابة على كل سؤال فرعي بشكل مستقل، ثم تُدمج الإجابات نموذج استجابة شاملة للسؤال الأصلي. يوفر هذا النهج العديد من المزايا:
كفاءة محسنة: من خلال معالجة المشاكل الفرعية الأصغر، تصبح عمليات الاسترجاع والتوليد أكثر كفاءة حيث يركز النظام على جوانب محددة من السؤال الرئيسي.
تحسين الدقة: يسمح تحليل السؤال باستكشاف أعمق لكل سؤال فرعي، مما قد يؤدي إلى إجابات أكثر دقة وارتباطًا.
استجابة المنظمة: يسهل التحليل تنظيم الإجابة النهائية من خلال تقديم الأسئلة الفرعية وإجاباتها المقابلة في شكل واضح ومنظم.
التنفيذ خطوة بخطوة
وفيما يلي الخطوات اللازمة لتنفيذ تقنية التحلل:
1. استيراد الوحدات النمطية الضرورية
سنقوم باستيراد الوحدات المطلوبة من المكتبات المثبتة لتنفيذ الاستعلامات المتعددة:
import osimport bs4from langchain_community.document_loaders import WebBaseLoaderfrom langchain.prompts import ChatPromptTemplatefrom langchain_core.output_parsers import StrOutputParserfrom langchain_openai import ChatOpenAIfrom langchain.text_splitter import RecursiveCharacterTextSplitterfrom langchain_openai import OpenAIEmbeddingsfrom langchain_community.vectorstores import Chromafrom langchain import hubfrom langchain_core.prompts import ChatPromptTemplatefrom langchain_core.runnables import RunnablePassthrough, RunnableLambda
تعتبر هذه المكتبات والوحدات ضرورية للخطوات اللاحقة في العملية.
2. إعداد مفاتيح API بـ LangSmith و OpenAI
يُنشئ مقتطف الكود التالي مفتاح API الخاص بـ LangChain مفتاح API OpenAI من متغيرات البيئة. سنحتاج إلى مفاتيح API صالحة للتفاعل مع نماذج لغة LangChain و OpenAI :
os.environ['LANGCHAIN_TRACING_V2'] = 'true'os.environ['LANGCHAIN_ENDPOINT'] = 'https://api.smith.langchain.com'os.environ['LANGCHAIN_API_KEY'] = '' # Add your LangSmith LangChain API keyos.environ['LANGCHAIN_PROJECT']='Decomposition'OPENAI_API_KEY = os.environ["OPENAI_API_KEY"] = "" # Add your OpenAI API keyif OPENAI_API_KEY == "":raise ValueError("Please set the OPENAI_API_KEY environment variable")
شرح الكود
الأسطر 1-4: إعداد متغيرات بيئة LangChain:
LANGCHAIN_TRACING_V2
: تمكين التتبع لعمليات LangChain.LANGCHAIN_ENDPOINT
: يحدد نقطة النهاية لواجهة API LangChain.LANGCHAIN_API_KEY
: عنصر نصي فارغ مفتاح API LangSmith LangChain. استبدله مفتاح الحالي.LANGCHAIN_PROJECT
: تعيين اسم المشروع لعمليات LangChain إلى'Decomposition'
.
الأسطر 6-8: إعداد مفتاح API OpenAI :
OPENAI_API_KEY
: نص فارغ مفتاح OpenAI API . استبدله مفتاح الحالي.التحقق من الصحة: يتحقق مما إذا كان ...