Advanced RAG: How Corrective RAG (CRAG) Solves Traditional RAG Problems | CampusX

CampusX www.youtube.com

Brief Summary

This video is all about Corrective RAG (CRAG), a variant of the traditional RAG (Retrieval-Augmented Generation) model, and how to implement it using LangGraph. It addresses the "blind trust" issue in traditional RAG where the LLM blindly trusts retrieved documents, even if they are irrelevant, leading to incorrect answers. The video explains the CRAG architecture, which includes a retrieval evaluator to determine the relevance of retrieved documents and integrates web search for better results. The implementation is built step-by-step, starting from a basic RAG and adding features like knowledge refinement, retrieval evaluation, and web search integration.

  • CRAG addresses the "blind trust" issue in traditional RAG.
  • It uses a retrieval evaluator to check the relevance of retrieved documents.
  • Web search is integrated to handle irrelevant or ambiguous retrievals.
  • The implementation is built step-by-step using LangGraph.

What is Corrective RAG (CRAG)?

The video introduces Corrective RAG (CRAG) as an enhanced version of the traditional RAG model. The presenter, Nitesh, explains that the video will cover both the conceptual understanding of CRAG and its practical implementation using LangGraph. The primary motivation for CRAG is to address the limitations of traditional RAG, particularly when the retrieved documents are not relevant to the user's query. To fully appreciate CRAG, one should have a basic understanding of how traditional RAG works, which is covered in the presenter's previous videos on LangChain.

The problem with Traditional RAG: "Blind Trust" & Hallucinations

Traditional RAG involves a workflow where a user's query is converted into a vector using an embedding model. This vector is then used to perform a semantic search in a vector database containing private documents stored as vectors. The retrieved documents and the original query are fed to a Large Language Model (LLM) with a prompt, instructing the LLM to generate an answer based on the provided documents. The key problem is that the LLM blindly trusts the retrieved documents. If the retrieved documents are irrelevant, the LLM is forced to generate an incorrect answer based on those documents. This can lead to significant issues, especially in business scenarios where accurate information is crucial.

Visualising the Vector Database & Retrieval Workflow

The presenter explains the process of converting a user query into a vector using an embedding model. This vector is then used to perform a semantic search in a vector database. The vector database stores private documents in the form of vectors. The goal is to find the vectors in the database that are closest to the query vector. This step is called retrieval, and it results in a set of documents that should contain information relevant to the query.

Practical Example: When LLMs fail on "Out of Distribution" queries

To illustrate the problem, the presenter provides a practical example. If a user asks "What is an LLM?" and the vector database only contains books on machine learning, the retrieved documents will likely be irrelevant (e.g., random forest documentation). The LLM, trusting these irrelevant documents, will generate an incorrect answer. This issue can have serious implications in business settings, where employees might rely on incorrect information for decision-making. Corrective RAG aims to solve this problem by not blindly trusting the retrieved documents.

Code Walkthrough: Loading ML books and creating a basic Retriever

The presenter walks through the code setup, which involves loading three machine learning and deep learning books into a folder. The goal is to create a RAG chatbot based on these books. The code walkthrough is essential because the subsequent CRAG implementation will be built upon this foundation. The code includes importing necessary libraries, loading the documents, splitting the text into chunks using RecursiveCharacterTextSplitter, and handling encoding issues to avoid errors.

Testing the Baseline: Bias-Variance Tradeoff vs. Recent AI News

The code walkthrough continues with creating embeddings using OpenAI's embedding model and using a FAISS database for storing the vectors. A retriever is created to perform similarity searches and retrieve the top four documents for a given query. The presenter then sets up a LangGraph state with components for the question, retrieved documents, and the answer generated by the LLM. The graph structure is simple, consisting of a retrieval node and a generation node. The presenter tests the setup with the question "What is bias-variance tradeoff?" which is expected to be answered correctly since it's covered in the books.

Identifying Hallucinations in the Transformer architecture query

The presenter demonstrates a scenario where the traditional RAG system fails. When asked "What is a transformer in deep learning?", the system provides an answer, but the retrieved documents do not contain any information about transformer architecture. The answer is generated from the LLM's parametric knowledge, which can lead to hallucinations if the LLM lacks specific knowledge. This highlights the problem with traditional RAG: it relies on the LLM's internal knowledge when relevant documents are not found, increasing the risk of generating incorrect or hallucinated information.

Deep Dive: The CRAG Research Paper & Proposed Architecture

The video transitions to discussing Corrective RAG (CRAG) and how it addresses the problems of traditional RAG. In CRAG, after retrieving documents, a retrieval evaluator is introduced to assess the usefulness of the retrieved documents for answering the query. The retrieval evaluator determines if the documents are relevant, irrelevant, or ambiguous. Based on this assessment, CRAG takes different actions. If the documents are relevant, it proceeds like a normal RAG. If irrelevant, it uses external knowledge sources like web search. If ambiguous, it combines both internal and external knowledge.

The 3 Retrieval Cases: Correct, Incorrect, and Ambiguous

The presenter elaborates on the three cases handled by CRAG: correct, incorrect, and ambiguous retrievals. If the retrieved documents are relevant (correct), the process continues like traditional RAG. If the documents are irrelevant (incorrect), CRAG uses external knowledge sources like web search to find relevant information. If the documents are partially relevant (ambiguous), CRAG combines the relevant parts of the retrieved documents with information from web search to generate an answer. The key difference is that CRAG does not blindly trust the retrieved documents and uses a retrieval evaluator to make informed decisions.

Retrieval Evaluator: Refining Internal vs. External Knowledge

The presenter refers to the original CRAG paper, emphasizing the architecture used by the researchers. The paper highlights the use of a retrieval evaluator to determine the relevance of retrieved documents. The evaluator assesses whether the documents (d1, d2) are suitable for answering the question (x). If the documents are correct, they are refined to create "knowledge internal." If incorrect, a web search is performed to obtain "knowledge external." If partially correct, both internal and external knowledge are combined to generate the answer. The presenter aims to replicate this architecture using LangGraph, adding complexity step by step.

Iteration 1: Knowledge Refinement (Decomposition & Filtration)

The first iteration involves adding a knowledge refinement feature to the traditional RAG system. This feature refines the retrieved documents to improve the quality of the generated answer. Knowledge refinement is applied when the retrieved documents are deemed relevant. The process involves three steps: decomposition, filtration, and recomposition. Decomposition involves breaking down the document into smaller units (sentences or short phrases). Filtration involves using a model to determine the relevance of each unit to the query. Recomposition involves merging the relevant units back into a refined document.

Code: Building the Refined Value Node with Sentence Strips

The presenter walks through the code for implementing knowledge refinement. The code is based on the previous traditional RAG setup, with the addition of a new node for refinement. The state is updated to include "strips" (individual sentences), "kept_strips" (relevant sentences after filtering), and "refined_context" (the combined relevant sentences). A function is created to decompose the documents into sentences. A prompt is designed for the LLM to act as a strict relevance filter, determining whether each sentence directly helps answer the question. The LLM outputs a true/false value for each sentence.

Iteration 2: Retrieval Evaluation (Thresholding Logic)

The second improvement involves adding retrieval evaluation. The goal is to determine the quality of the retrieved documents and decide whether they are sufficient to answer the query. This is done using an LLM as a retrieval evaluator. The LLM assigns a relevance score between 0 and 1 to each retrieved document, indicating how well the document answers the query. Lower and upper thresholds (0.3 and 0.7) are defined. If at least one document's score is above the upper threshold, the retrieval is considered "correct." If no document's score is above the lower threshold, it's "incorrect." Otherwise, it's "ambiguous."

Code: Implementing the Evaluation Node & Pydantic Schema

The presenter explains the code implementation for retrieval evaluation. A Pydantic schema is created to structure the output from the LLM, including a score and a reason for the score. A system prompt is designed to instruct the LLM to act as a strict retrieval evaluator, providing a relevance score between 0 and 1 for each document. The evaluation node iterates through the retrieved documents, sends each document to the LLM for evaluation, and stores the scores and reasons. Based on the scores and the defined thresholds, the node determines whether the retrieval is correct, incorrect, or ambiguous.

Testing the Evaluator: Correct vs. Incorrect Verdicts

The presenter tests the retrieval evaluator with different queries. For a query like "bias variance trade off," which is well-covered in the books, the evaluator correctly identifies the retrieval as "correct." For a query like "AI news from last week," which is not covered in the books, the evaluator identifies the retrieval as "incorrect." A mixed query results in an "ambiguous" verdict. The presenter emphasizes that the system can now evaluate the quality of the retrieval and provide a verdict on whether the retrieved documents are sufficient.

Iteration 3: Web Search Integration using Tavily

The third iteration adds web search integration using the Tavily API. If the retrieval evaluator determines that the retrieved documents are "incorrect," the system will now perform a web search to find relevant information. The philosophy is to provide the user with a correct result, even if the internal documents are insufficient. The web search results are then used to generate the answer. The presenter notes that the web search results also need to be filtered to ensure they are relevant.

Iteration 4: Query Rewriting for Better Search Results

The next improvement is query rewriting. Before performing a web search, the original user query is rewritten to be more suitable for a search engine. User queries can be vague or lack specific keywords, leading to poor search results. Rewriting the query involves using an LLM to generate a better search query that is clear, specific, and keyword-rich. This rewritten query is then used to perform the web search, resulting in more relevant and accurate results.

Handling Ambiguous Knowledge: Merging Internal & External Context

The final piece of the architecture is handling ambiguous cases. In these cases, the retrieved documents are partially relevant but not sufficient to fully answer the query. The approach is to combine the relevant parts of the retrieved documents (good_docs) with information obtained from web search (web_docs). The refinement process then operates on both the internal and external knowledge to create a combined context for generation. This ensures that the generated answer leverages both the available internal knowledge and the additional information from the web.

Conclusion: Comparing our implementation to the Original Paper

The presenter concludes by summarizing the implemented CRAG architecture. The system can now perform retrieval, evaluate the quality of the retrieved documents, and handle correct, incorrect, and ambiguous cases. Correct cases use knowledge refinement and internal knowledge. Incorrect cases use web search and external knowledge. Ambiguous cases combine both. The presenter acknowledges that some aspects of the original paper, such as using a T5 transformer, were not implemented due to resource constraints. However, the core architecture and functionality of CRAG have been successfully replicated.

Summarize any YouTube video in seconds

Get summaries like this one for any video, in your language, with the free Summ app.

Download on the App Store
Get it on Google Play

Transcript

YouTube Transcript Generator

0:00 हाय गाइस, माय नेम इज नितेश एंड यू वेलकम टू माय YouTube चैनल। इस वीडियो में हम लोग एक बहुत इंटरेस्टिंग टॉपिक एक्सप्लोर करेंगे और इस टॉपिक का नाम है करेक्टिव रैग या फिर सी रैग। अब सी रैग जो होता है वो रैग का ही एक वेरिएंट होता है। और इस वीडियो में मैं आपको नॉट ओनली कॉनसेप्चुअली समझाऊंगा कि सी रैग क्या होता है बट एट द सेम टाइम मैं आपको लैंग ग्राफ में सी रैग बना के भी दिखाऊंगा। सो ऑन द होल इट्स गोइंग टू बी अ वेरी इंटरेस्टिंग वीडियो। प्लीज मेक श्योर आप इसको एंड टू एंड देखो। अब वीडियो को स्टार्ट करते हैं। तो वीडियो को स्टार्ट करते टाइम जो सबसे ऑब्वियस क्वेश्चन आपके दिमाग में आ रहा होगा वो यह है कि अगर रैग सही से काम करता है तो फिर हमें सी रैग की जरूरत क्यों है? तो मैं एक काम करता हूं। सबसे पहले इस क्वेश्चन को इस क्यूरोसिटी को शांत करता हूं। ठीक है? और इसके लिए

0:46 आपको सबसे पहले तो पता होना चाहिए कि रैग एज अ कॉन्सेप्ट क्या होता है? और रैग काम कैसे करता है। यह दोनों चीज़ों आपको पता होनी चाहिए। ये दोनों चीजें मैंने पास्ट में कवर की है मेरे लैंग चेन वाले प्लेलिस्ट में। आप प्लीज मेक श्योर करो कि आप वो वीडियोस देख के आओ। फिर आप इस वीडियो को ज्यादा एप्रिशिएट कर पाओगे। तो चलो लेट्स डिस्कस कि कन्वेंशनल रैग या फिर ट्रेडिशनल रैग में क्या प्रॉब्लम्स हैं जो सी रैग सॉल्व करता है। ठीक है? तो यहां पे आपको एक डायग्राम दिख रहा होगा और जिन लोगों ने रैक पढ़ा है वो तुरंत आइडेंटिफाई कर लेंगे कि ये रैक का वर्क फ्लो है। तो व्हाट आई विल डू इज़ अगले दो-ती मिनट मैं आपको एक क्विक ओवरव्यू देता हूं रैक के वर्क फ्लो का और फिर इसी के अंदर मैं आपको समझा पाऊंगा कि सी रैक की जरूरत क्यों है? ठीक है? तो होता क्या है? एक ट्रेडिशनल

1:33 रैक के वर्क फ्लो में कि यूजर आपको एक क्वेरी देता है। लेट्स से उसका क्वेरी है व्हाट इज़ मशीन लर्निंग। अब आप सबसे पहले क्या करते हो कि उस क्वेरी को उठाते हो और उस क्वेरी को आप एक एंबेडिंग मॉडल के पास भेजते हो। अब ये एंबेडिंग मॉडल क्या होता है? ये एक डीप लर्निंग मॉडल होता है जिसका काम होता है टेक्स्ट को नंबर्स एज इन वेक्टर्स में कन्वर्ट करना। तो एंबेडिंग मॉडल क्या करेगा? अगेंस्ट आवर क्वरी हमें एक वेक्टर जनरेट करके दे देगा। अब हम क्या करते हैं? हम इस वेक्टर को ले जाते हैं एक वेक्टर डेटाबेस के पास। सो रैग अ वर्क फ्लो में एक वेक्टर डेटाबेस होता है। वेक्टर डेटाबेस हम इसलिए यूज़ करते हैं बिकॉज़ वेक्टर डेटाबेस ही वो जगह

2:19 है जहां पे हम अपने प्राइवेट डॉक्यूमेंट्स को स्टोर करते हैं इन द फॉर्मेट ऑफ़ वेक्टर्स। अब सिंस यहां पर मान लो एक एग्जांपल ले लेते हैं कि हमने मशीन लर्निंग की कुछ बुक्स को स्टोर कर रखा है। तो इस वेक्टर डेटाबेस के अंदर करेंटली बहुत सारे वेक्टर्स हैं जो मशीन लर्निंग के कांसेप्ट को समझाते हैं। अब हम क्या करेंगे? हमारा जो क्वेरी वेक्टर है उस क्वेरी वेक्टर को ले जाकर के इस वेक्टर डेटाबेस में एक सिमेंटिक सर्च परफॉर्म करेंगे। बेसिकली हम हमारे क्वरी वेक्टर के सबसे क्लोजेस्ट जो वेक्टर्स हैं वेक्टर डेटाबेस के अंदर उनको एक्सट्रैक्ट करने की कोशिश करेंगे। इस पर्टिकुलर स्टेप को रिट्रीवल बुलाया जाता है। और रिट्रीवल के एंड में हमें कुछ

3:05 डॉक्यूमेंट्स मिलते हैं जो कि वेक्टर डेटाबेस में स्टर्ड हैं। और इन डॉक्यूमेंट्स में एग्जैक्टली वही बातें लिखी होती हैं जो हमारी क्वेरी में पूछा गया। सो अगर हमारी क्वेरी है व्हाट इज़ मशीन लर्निंग? तो इन डॉक्यूमेंट्स में व्हाट इज मशीन लर्निंग के अराउंड ही कुछ कॉन्टेक्स्ट होगा। अब नेक्स्ट स्टेप में हम क्या करते हैं कि हम इन रिट्रीव्ड डॉक्यूमेंट्स को उठाते हैं और हमारी ओरिजिनल क्वेरी को उठाते हैं और इन दोनों ही चीजों को एलएलएम के पास भेज देते हैं विद अ प्र्प्ट। इस स्टेप को हम आर्गुमेंटेशन बुला रहे हैं। हम अपनी एग्जिस्टिंग यूजर क्वेरी के साथ कुछ एडिशनल डॉक्यूमेंट्स भेज रहे हैं और हम एलएलएम को बोल रहे हैं कि देखो यूजर ने ये क्वेश्चन पूछा है और इस क्वेश्चन को आंसर करने के लिए ये डॉक्यूमेंट्स को यूज़ करो। राइट? अब एलएलएम क्या करता है कि वो

3:52 क्वेश्चन को देखता है, डॉक्यूमेंट्स को देखता है और इन्हीं डॉक्यूमेंट्स के अंदर से आंसर जनरेट करके देता है और इस स्टेप को हम जनरेशन बुलाते हैं। तो रैग इज़ बेसिकली अ कॉम्बिनेशन ऑफ़ थ्री स्टेप्स। आपका रिट्रीवल होता है, ऑर्गुमेंटेशन होता है एंड जनरेशन होता है। आई रियली होप ये पूरी चीज आपको पहले से पता है। अब बात करते हैं कि इस ट्रेडिशनल वर्क फ्लो में प्रॉब्लम क्या है? क्या ऐसी प्रॉब्लम है जिसकी वजह से सी रैक की जरूरत पड़ी? सो प्रॉब्लम बहुत ही सिंपल है। प्रॉब्लम यह है कि हम जब ये रिट्रीव्ड डॉक्यूमेंट्स हमारे एलएलएम को देते हैं और उसको बोलते हैं कि देखो आंसर देते टाइम इन डॉक्यूमेंट्स के अंदर से ही आंसर देना। तो इस पॉइंट पे आपका जो एलएलएम है वो इन

4:38 रिट्रीव्ड डॉक्यूमेंट्स के ऊपर ब्लाइंडली ट्रस्ट करता है। और ब्लाइंड ट्रस्ट के साथ प्रॉब्लम ये है कि अगर हमने जो डॉक्यूमेंट्स दिए वो अगर क्वेरी से रिलेटेड नहीं है तो फिर जो आंसर जनरेट होगा वो भी गलत होगा। मैं आपको एक एग्जांपल बताता हूं। मान लो हमने क्वेश्चन पूछ लिया व्हाट इज अ एलएलएम? और हमारे वेक्टर डेटाबेस में जो भी बुक्स हैं वो सब की सब मशीन लर्निंग के ऊपर हैं। तो ऑब्वियस बात है कि वहां पर आपको एलएलएम के कांसेप्ट्स नहीं मिलने वाले। बट जब आप अपने वेक्टर को क्वेरी वेक्टर को सिमेंटिकली सर्च करोगे अ वेक्टर डेटाबेस के अंदर तो वेक्टर डेटाबेस सिंस उसको कुछ ना कुछ आंसर देना ही है तो वो फिर भी कुछ दूरदराज का टॉपिक निकाल के आपको दे देगा।

5:25 फॉर एग्जांपल अगर आपने पूछा व्हाट इज एलएलएम और आपके पास सिर्फ मशीन लर्निंग रिलेटेड टॉपिक्स हैं तो हो सकता है कि वो आपको कुछ ना मिला तो रैंडम फॉरेस्ट के डॉक्यूमेंट्स उठा के दे दे या एक्सजी बूस्ट के डॉक्यूमेंट्स उठा के दे दे बिकॉज़ उसको कुछ डॉक्यूमेंट्स तो देने ही थे। अब प्रॉब्लम ये है कि आपका क्वेश्चन है व्हाट इज़ एलएलएम? और आपने डॉक्यूमेंट्स कौन से भेज दिए? रैंडम फॉरेस्ट के। आपने अपने एलएलएम को बोला कि देखो दिस इज़ द क्वेरी। व्हाट इज अ एलएलएम? और आपके पास डॉक्यूमेंट्स हैं रैंडम फॉरेस्ट के। आंसर करो। अब आपका एलएलएम मजबूर है गलत डॉक्यूमेंट से आंसर बनाने के ऊपर। एंड इवेंचुअली वो क्या करेगा? गलत आंसर प्रिंट करके यूजर को दे देगा। नाउ इमेजिन दिस इन अ बिज़नेस सिनेरियो। एक बिनेस सिनेरियो में ये एक बहुत बड़ी प्रॉब्लम क्रिएट कर सकता है। इमेजिन करो आपका एक एंप्लई है जो कि

6:13 किसी पर्टिकुलर सिचुएशन में लीव पॉलिसी क्या होगी उसके बारे में पूछ रहा है और वो डॉक्यूमेंट एक्सिस्ट ही नहीं करता आपके डेटाबेस के अंदर वेक्टर डेटाबेस के अंदर। तो इस पॉइंट पर क्या होगा कि आप गलत आंसर उसको दे दोगे और वो गलत आंसर को सही अस्यूम करके आगे की चीजें करने लग जाएगा। तो इसके इंप्लिकेशंस बहुत खतरनाक हो सकते हैं। इसी प्रॉब्लम को सॉल्व करने के लिए कौन आता है? करेक्टिव रैग। तो करेक्टिव रैग इस प्रॉब्लम को कैसे सॉल्व करता है वो मैं आपको थोड़ी देर बाद बताऊंगा। इसके पहले व्हाट आई विल डू इज़ आई विल एक्चुअली गिव यू अ प्रैक्टिकल डेमोंस्ट्रेशन कि ये प्रॉब्लम हो सकती है जो मैंने आपको अभी बताई। सो आई विल गिव यू अ कोड वॉक थ्रू जहां पर मैं आपको दिखाऊंगा कि मैंने क्वेश्चन कुछ पूछा है। मेरे रिट्रीव डॉक्यूमेंट्स कुछ और हैं। जिसकी वजह से मेरा जो आंसर निकल के आ रहा है वो गलत है।

7:01 अब कोड दिखाने के पहले मैं आपको एक बार सेटअप दिखा देता हूं। सो व्हाट आई हैव डन इज़ कि मेरे पास ये एक फोल्डर है। और इस फोल्डर में फिलहाल तीन मशीन लर्निंग एंड डीप लर्निंग रिलेटेड बुक्स हैं। सो, दिस इज़ द फर्स्ट वन हैंड्स ऑन मशीन लर्निंग। सेकंड इज़ डीप लर्निंग एंड थर्ड इज़ दिस पैटर्न रिकॉग्निशन वाली बुक। ये तीनों ही क्लासिक्स हैं एकदम। सो व्हाट आई एम ट्राइंग टू डू इज़ कि मैं इन तीन बुक्स के ऊपर एक रैग चार्टबॉट बना रहा हूं। ठीक है? तो उसी चीज का कोड मैं आपको दिखाता हूं। सो एक बार हम लोग कोड वॉक थ्रू करते हैं। ये कोड वॉक थ्रू मैं इसलिए करवा रहा हूं बिकॉज़ इसी कोड के ऊपर हम करेक्टिव रैग वाला कोड बिल्ड करेंगे। तो प्लीज इसको स्किप मत करना। इवन दो आपको रैग का कांसेप्ट ऑलरेडी आता है। रैग को कोड करना ऑलरेडी आता है। बट प्लीज एक बार ये 5 मिनट

7:47 आप फॉलो करो। सो यहां पे हमने लाइब्रेरीज को इंपोर्ट किया। उसके बाद यहां पे हमने क्या किया? अपने डॉक्यूमेंट्स को लोड किया। यू कैन सी हमारे पास तीन बुक्स हैं। तो हम तीनों बुक्स को लोड कर रहे हैं डॉक्यूमेंट ऑब्जेक्ट के फॉर्म में और उनको कंबाइन कर दे रहे हैं इंटू दिस लिस्ट कॉल्ड डॉक्स। सो इस पॉइंट पे मेरे पास ऑलमोस्ट 2000 डॉक्यूमेंट ऑब्जेक्ट्स हैं। ठीक है? तो ये हो गया डॉक्यूमेंट लोडिंग। उसके बाद जो नेक्स्ट स्टेप होता है वो होता है टेक्स्ट स्प्लिटिंग का। तो हम रिकर्सिव कैरेक्टर टेक्स्ट स्प्लिटर यूज़ कर रहे हैं। चंक साइज हमने 900 ले लिया। चंक ओवरलैप मैंने 150 ले लिया और मैंने अपने डॉक्यूमेंट्स को स्प्लिट कर दिया। ठीक है? यहां पे थोड़ा सा एनकोडिंग का इशू आ रहा था। तो ये पर्टिकुलर लाइन इसीलिए है कि किसी भी तरह का जो वियर्ड कैरेक्टर्स होते हैं कुछ पीडीएफ में उनको हम रिप्लेस

8:34 कर दें और कुछ एरर थ्रो ना हो। यूनिकोड एरर। तो चंकिंग करने के बाद या टेक्स्ट स्प्लिटिंग करने के बाद अब मेरे पास मोर देन 6000 डॉक्यूमेंट्स हैं। ठीक है? उसके बाद आता है थर्ड स्टेप जहां पे हमने क्या किया? ओपन एi का एंबेडिंग मॉडल इंपोर्ट किया और फायस डेटाबेस यूज़ किया। ठीक है? और यहां पे हमने क्या किया? अ आपका जो भी डॉक्यूमेंट्स थे हमारे उनको वेक्टर्स में कन्वर्ट करके एक वेक्टर डेटाबेस में स्टोर कर लिया। ठीक है? फिर हमने इस स्टेप में क्या किया कि उस वेक्टर डेटाबेस में एक रिट्रीवर क्रिएट कर लिया जो कि हमें सिमिलरिटी सर्च करके देगा। सिमेंटिक सर्च करके देगा और हमें टॉप फोर डॉक्यूमेंट्स रिट्रीव करके देगा फॉर एनी गिवन क्वेरी। और यह रिट्रीवर इस रिट्रीवर वेरिएबल के

9:21 अंदर स्टर्ड है। ठीक है? अब यहां से मेन काम शुरू होता है। हमने एक एलएलएम को बुलाया चैट ओपन एआई से। ये हमारा लैंग ग्राफ का स्टेट बन गया। इसमें तीन चीजें हम रख रहे हैं। पहला क्वेश्चन जो यूजर पूछेगा। दूसरा डॉक्यूमेंट्स जो रिट्रीव हो के आएंगे और तीसरा आंसर जो एलएलएम जनरेट करेगा। ठीक है? हमारा जो फर्स्ट नोड रहने वाला है, मैं आपको इनफैक्ट ग्राफ का स्ट्रक्चर पहले दिखा देता हूं। दिस इज द स्ट्रक्चर ऑफ आवर ग्राफ। अ सो रिट्रीवल का एक नोड है। फिर जनरेशन का एक नोड है। बहुत सिंपल है। ठीक है? तो रिट्रीवल वाले नोड में कुछ नहीं हो रहा है। आपको जो क्वेश्चन दिया जा रहा है, आप उस क्वेश्चन को पकड़ के रिट्रीवर में इनवोक कर ले रहे हो। तो इससे आपको डॉक्यूमेंट्स मिल जा रहे हैं। उन डॉक्यूमेंट्स को आप स्टेट के अंदर डॉक्स के अंदर स्टोर कर दे रहे हो। ठीक है? उसके बाद जनरेशन का भी स्टेप बहुत

10:08 सिंपल है। आपके पास जो भी डॉक्यूमेंट्स हैं इस पॉइंट पे रिट्रीवल के बाद आप उन सारे डॉक्यूमेंट्स को उठा रहे हो और उनको जॉइ कर ले रहे हो एज स्ट्रिंग्स। उसके बाद आप क्या कर रहे हो? उसी स्ट्रिंग को आप भेज रहे हो अ एलएलएम के पास और आप अपने एलएलएम को बोल रहे हो आंसर ओनली फ्रॉम कॉन्टेक्स्ट इफ नॉट इन कॉन्टेक्स्ट से यू डोंट नो। ठीक है? तो मैं उसको बोल रहा हूं कि ट्रस्ट द डॉक्यूमेंट्स ब्लाइंडली। और मैं अपना यूजर का क्वेश्चन दे रहा हूं और कॉन्टेक्स्ट दे रहा हूं। कॉन्टेक्स्ट क्या है? जो भी रिट्रीव डॉक्यूमेंट्स हैं और ये हम जनरेट कर रहे हैं। जो भी आंसर जनरेट हो रहा है उसको हम आंसर में स्टोर कर रहे हैं। दिस इज़ द फ्लो। ठीक है? यहां पे हमने अपना ग्राफ बिल्ड किया। बहुत ही सिंपल स्ट्रेट फॉरवर्ड ग्राफ है। ये हमारा ग्राफ हो गया। और ये रहा हमारा फाइनल अ टेस्ट

10:55 करने का कोड। सो व्हाट आई एम डूइंग इज़ मैं ये क्वेश्चन भेज रहा हूं। व्हाट इज़ बायस वेरियंस ट्रेड ऑफ? अब ध्यान देना। ये एक ऐसा क्वेश्चन है जिसका आंसर फॉर श्योर हमारी तीनों बुक्स में होगा ही होगा। तो मैं इस को रन करता हूं। ये रहा हमारा आंसर। द बायस वेरियंस ट्रेड ऑफ इज़ अ फंडामेंटल कॉन्सेप्ट इन स्टैटिस्टिक्स एंड मशीन लर्निंग दैट डिस्क्राइब्स द रिलेशनशिप बिटवीन टू सोर्सेस ऑफ़ एरर दैट अफेक्ट अ मॉडल्स परफॉर्मेंस बायस एंड वेरियंस। उसके बाद बायस को डिफाइन किया। वेरियस को डिफाइन किया। फिर ट्रेड ऑफ क्या है वो बताया। तो एक बहुत सॉलिड आंसर निकल के आया। अब मैं आपको दिखाता हूं कि हमारे पास जो डॉक्यूमेंट्स रिट्रीव हुए थे वो क्या थे। तो यू कैन सी ये हमारे डॉक्यूमेंट्स रिट्रीव हुए हैं। सो चार डॉक्यूमेंट्स हमने रिट्रीव किए थे। देखो यहां पे भी बायस वेरियंस की बात हो रही है। यहां पे भी बायस और वेरियंस की बात हो रही है। और अगर मैं आगे वाले भी दो आपको

11:41 दिखाऊं तो उसमें भी आप देखोगे कि बायस वेरियंस ट्रेड ऑफ की बात हो रही है। तो इसका मतलब ये है कि जो हमारी क्वेरी थी उससे रिलेटेड डॉक्यूमेंट्स ही फेच हुए वेक्टर डेटाबेस से। एंड दैट इज़ व्हाई जो आंसर निकल के आया वो भी एक्यूरेट है। बट अब मैं आपको एग्जांपल देता हूं एक ऐसी क्वेरी का जो फॉर श्योर हमारे बुक्स में उससे रिलेटेड कुछ भी नहीं होगा। जैसे कि मान लो मैंने यहां पे पूछ लिया क्वेश्चन अ व्हाट आर द टॉप एआई न्यूज़ फ्रॉम लास्ट मंथ? अब ये एक ऐसी क्वेरी है जिससे रिलेटेड आंसर हमारी बुक्स में नहीं होने वाला। बिकॉज़ ये सारी क्लासिक बुक्स हैं। बहुत पहले लिखी गई थी। तो अब लास्ट मंथ में क्या हुआ? इसका आंसर बुक्स में तो नहीं होने वाला। तो व्हाट आई विल डू इज़

12:27 मैं इस क्वेरी को रन करता हूं और देखते हैं कि क्या आंसर प्रिंट होता है। देखो वो बोल रहा है आई डोंट नो। अब मैं आपको एग्जांपल देता हूं एक ऐसी क्वेरी का जिससे रिलेटेड डॉक्यूमेंट्स हमारी तीनों बुक्स में नहीं होंगे। जैसे कि इन तीनों बुक्स में जितना मुझे पता है ट्रांसफार्मर आर्किटेक्चर डिटेल में डिस्कस नहीं किया गया। इनफैक्ट डिस्कस ही नहीं किया गया है। तो व्हाट वी विल डू इज़ वी विल आस्क दिस क्वेरी व्हाट इज़ अ ट्रांस व्हाट इज़ अ ट्रांसफॉर्मर इन डीप लर्निंग। ठीक है? दिस इज़ द क्वेरी। एक बार इसको रन करते हैं। अ ट्रांसफार्मर इन डीप लर्निंग इज़ अ टाइप ऑफ़ मॉडल आर्किटेक्चर दैट इज़ पर्टिकुलरली इफेक्टिव फॉर प्रोसेसिंग सीक्वेंशियल डेटा

13:14 सर्च एस टेक्स्ट। इट यूटिलाइज़ मैकेनिज़्म्स कॉल्ड सेल्फ अटेंशन एंड फीड फॉरवर्ड न्यूरल नेटवर्क्स। अह और यह ट्रेडिशनल आरएनए से बेटर है। ट्रांसफॉर्मर्स डू नॉट प्रोसेस डेटा सीक्वेंशियली व्हिच इनेबल्स देम टू मोर पैरालाइज़बल एंड बी एफिशिएंट इन ट्रेनिंग। द आर्किटेक्चर हैज़ बिकम फाउंडेशनल इन नेचुरल लैंग्वेज प्रोसेसिंग टास्क एंड हैज़ लेड टू सिग्निफिकेंट एडवांसमेंट्स इन द फील्ड। अब आप बोलोगे प्रॉब्लम क्या है? सही तो है। तो प्रॉब्लम यह है कि मैं आपको सबसे पहले रिट्रीव्ड डॉक्यूमेंट्स दिखाता हूं। रिट्रीव्ड डॉक्यूमेंट्स क्या है? तो ये रहे हमारे रिट्रीव्ड डॉक्यूमेंट्स। एक बार इसको देखते हैं। आप एक चीज नोटिस करोगे कि कहीं पे भी ट्रांसफार्मर आर्किटेक्चर यहां पे डिस्कस नहीं है। जैसे ये देखो ये पहला

14:01 पार्ट है। अब यहां पे एक प्रॉब्लम है कि स्पेसेस हट गए हैं तो सारे वर्ड्स जुड़ गए हैं। बट कोई प्रॉब्लम नहीं है। सेंटिक सर्च सही से होता है। यहां पे आप नोटिस करोगे कि यहां पे एमएलपी के बारे में बताया गया है। मल्टी लेयर परसेप्टन के बारे में बट ट्रांसफार्मर के बारे में यहां पे नहीं बताया गया है। सिमिलरली यहां पे कॉन्वोल्यूशनल न्यूरल नेटवर्क की बात की गई है। फिर अगर आप यहां पर देखो तो यहां पर रेगुलराइजेशन की बात की गई है। थोड़ा डिफिकल्ट है समझना बट दिख रहा है कि ट्रांसफार्मर की बात यहां पे भी नहीं है। और लास्ट में यहां पे रीइंफो डीप न्यूरल नेटवर्क रेगुलराइजेशन ये बेसिकली इंडेक्स के पेजेस उठा दिए गए हैं। तो आप नोटिस कर रहे होंगे कि चारों ही डॉक्यूमेंट्स में कहीं भी ट्रांसफार्मर आर्किटेक्चर की बात हुई नहीं है। बट फिर भी हमारे मॉडल ने

14:48 हमें एक आंसर निकाल के दे दिया। अब ये आंसर कहां से आया है? यह आंसर आया है हमारे एलएलएम के पैरामेट्रिक नॉलेज से। बट द थिंग इज कि किसी और सिचुएशन में यहां पे हेलुसिनेशन भी हो सकता था अगर एलएलएम के पास उस चीज का पैरामेट्रिक नॉलेज ना हो। जैसे कि किसी कंपनी की लीव पॉलिसी इसके बारे में एलएलएम को नहीं पता और सही डॉक्यूमेंट्स भी रिट्रीव नहीं हुए। इन दैट केस एलएलएम आपको कुछ भी हेलुसिनेट करके दे सकता है। तो दिस इज द प्रॉब्लम विद ट्रेडिशनल रैक कि अगर उसको सही डॉक्यूमेंट्स नहीं मिले तो वो अपने पैरामेट्रिक नॉलेज में घुसता है और वहां से आंसर खोज के लाता है जिसमें एक बहुत बड़ा पॉसिबिलिटी है हेलुसिनेशन होने का। और अगर हेलुसिनेशन हुआ तो बिनेस सिचुएशंस

15:33 में इट कैन बी वेरी वेरीरी बैड। ठीक है? तो दिस इज़ द प्रॉब्लम दैट आई वाज़ टॉकिंग अबाउट। आई नो आई टूक ऑलमोस्ट 10 मिनट्स टू एक्सप्लेन दिस बट मुझे आपको यह प्रॉब्लम दिखाना था प्रैक्टिकली होता है रैग सिस्टम्स में। अब मैं आपको दिखाऊंगा कि कैसे सी रैग जो होता है वो इस प्रॉब्लम को सॉल्व करता है। ठीक है? दैट विल बी आवर नेक्स्ट डिस्कशन। सो नाउ दैट यू अंडरस्टैंड कि ट्रेडिशनल रैग में प्रॉब्लम क्या है? अब एक बार बात करते हैं करेक्टिव रैग या फिर सी रैग के बारे में और यह देखते हैं कि सी रैग इस प्रॉब्लम को कैसे सॉल्व करता है। सो सी रैग में एक जो बहुत बड़ा डिफरेंस होता है वो ये होता है कि जब यहां पर हमारे पास रिट्रीवल के बाद रिट्रीव्ड डॉक्यूमेंट्स आते हैं तो हम उसको डायरेक्टली एलएलएम के पास नहीं भेजते

16:20 सी रैक के अंदर। इंस्टेड व्हाट वी डू इज कि इस स्टेप में इस जगह पर हम एक मॉडल को बिठा देते हैं और इस मॉडल को हम रिट्रीवल इवैल्यूएटर बुलाते हैं। और इस मॉडल का बहुत सिंपल काम यह है कि ये सारे के सारे डॉक्यूमेंट्स को देखता है और क्वेरी को देखता है और यह डिसाइड करता है कि यह जो रिट्रीव्ड डॉक्यूमेंट्स हमारे पास आए हैं क्या वो यूजफुल हैं या फिर नहीं इस क्वेरी को आंसर करने में? राइट? सो अगर मेरी क्वेरी है व्हाट इज एलएलएम और मेरे डॉक्यूमेंट्स हैं रैंडम फॉरेस्ट

17:05 के ऊपर तो हमारा ये मॉडल समझ लेगा कि इस क्वेरी को आंसर करने के लिए ये डॉक्यूमेंट्स यूज़फुल नहीं है। ठीक है? सो बेसिकली तीन केसेस होते हैं। या तो आपके जो डॉक्यूमेंट्स रिट्रीव हो के आए हैं वो रेलेवेंट होते हैं या फिर दे आर नॉट रेलेवेंट। एंड द थर्ड केस इज कि कभी-कभी यह बात ए्बगुस हो जाती है। मतलब पार्शियली वो डॉक्यूमेंट्स सही भी हैं और पार्शियली उसमें कुछ कचरा है जो कि सही नहीं है। तो इन तीनों केसेस के हिसाब से सी रैग अपना-अपना काम परफॉर्म करता है। सो अगर डॉक्यूमेंट्स रेलेवेंट हैं तो फिर आगे का

17:53 काम नॉर्मल रैक की तरह होगा। आप डॉक्यूमेंट्स को भेज दोगे एलएलएम के पास। एलएलएम उन डॉक्यूमेंट्स को देख के आंसर कर देगा। अगर आपके रिट्रीव्ड डॉक्यूमेंट्स एकदम भी रेलेवेंट नहीं है तो फिर यहां पे सीरैक एक अलग तरीका अपनाता है। वो क्या करता है कि वो एक्सटर्नल नॉलेज सोर्सेस के पास जाता है। जैसे कि हो सकता है कि आपने अपने सिस्टम में एक वेब सर्च टूल ऐड कर रखा है। तो सिंस आपका रिट्रीवर आपको सही डॉक्यूमेंट्स नहीं दे पाया। आपने बोला एलएलएम क्या होता है? रिट्रीवर ने आपको रैंडम फॉरेस्ट ला के दे दिया। तो आपका मॉडल समझ जाएगा कि द रिट्रीव डॉक्यूमेंट्स आर नॉट रेलेवेंट। सो वो क्या करेगा? एक वेब सर्च करेगा और वेब

18:40 सर्च से जो चीज आएगी उसके बेसिस पे वो आपको आंसर बताएगा। ठीक है? ये हो गया सेकंड केस। थर्ड केस जहां पे कुछ डॉक्यूमेंट्स पार्शियली एक्सप्लेन कर रहे हैं क्वेरी को और कुछ डॉक्यूमेंट्स एक्सप्लेन नहीं कर पा रहे। तो यहां पे वो दोनों चीजें करेगा। वो नॉर्मल रैक की तरह जो सही वाले डॉक्यूमेंट्स हैं उनको एलएलएम के पास भेज देगा और फिर बाकी के इंफॉर्मेशन के लिए वो वेब सर्च करेगा और वेब से वो एक्सटर्नल नॉलेज लेके आएगा और फिर इन दोनों चीजों को मर्ज करके एलएलएम को दे देगा। सो जो चीजें रिट्रीवर से आई और जो चीजें वेब सर्च से आई उन दोनों को मर्ज किया और फिर फाइनली

19:26 एलएलएम के थ्रू जनरेशन परफॉर्म हुआ। तो दिस इज़ हाउ सी रैग वर्क्स। आई रियली होप मैं आपको समझा पाया। ठीक है? बेसिक जो डिफरेंस है वो ये है कि यहां पर आपका सी रैग जो है वो ये अस्यूम नहीं करता कि जो भी रिट्रीव्ड डॉक्यूमेंट्स हैं वो सही है। वो रिट्रीव्ड डॉक्यूमेंट्स के ऊपर ब्लाइंडली ट्रस्ट नहीं करता। तीन अलग केसेस बना के काम करता है। और ये केसेस बनाने में उसका हेल्प कौन करता है? ये रिट्रीवल इवैल्यूएटर ये पर्टिकुलर मॉडल। ठीक है? तो हम क्या करेंगे? हम इस वीडियो में ये करेक्टिव रैग स्क्रैच से डेवलप करेंगे अ लनग्राफ यूज़ करके। अब कोड करने के पहले आपको मैं करेक्टिव रैग का ओरिजिनल पेपर दिखाना चाहता हूं। सो, दिस इज़ द ओरिजिनल पेपर ऑफ़ करेक्टिव रैग। बहुत ही

20:11 रीसेंट पेपर है। यह शायद 2024 में आया था। और इस पेपर में आपको काफी डिटेल में देखने को मिलेगा कि क्या आर्किटेक्चर यूज किया था रिस्चरर्स ने। हम इस वीडियो में इस पेपर के बहुत क्लोज रहने की कोशिश करेंगे। मैं जो कोड लिखूंगा आई विल ट्राई कि वो बहुत क्लोज रिप्रेजेंटेशन हो जो आर्किटेक्चर इन ऑथर्स ने यूज किया है। बाकी आई वुड रिकमेंड आप एक बार ये पेपर जरूर पढ़ो। बहुत डिफिकल्ट पेपर नहीं है। बहुत बड़ा पेपर भी नहीं है। और स्पेशली आई वुड लाइक कि आप एक बार ये पर्टिकुलर डायग्राम जरूर देखो। दिस इज द डायग्राम। इनफैक्ट यही चीज अभी हमने डिस्कस भी की थी। यहां पे देखो लिखा हुआ है सबसे पहले क्या होता है कि x बोल के क्वेश्चन जाता है सिस्टम में और सिस्टम हमें डॉक्यूमेंट्स रिट्रीव करके देता है d1 और

20:57 d2। फिर हमारे पास एक रिट्रीवल इवैल्यूएटर होता है। और रिट्रीवल इवैलुएटर क्या करता है? x को देखता है और d1 और d2 को देखता है और बताता है कि d1 और d2 सही नॉलेज सोर्स हैं कि नहीं x को आंसर करने के लिए। अगर हैं तो थोड़ा सा आप रिफाइन करते हो इन डॉक्यूमेंट्स को और आपको मिल जाता है नॉलेज इंटरनल जिसकी हेल्प से आप आंसर जनरेट करते हो। अगर d1 और d2 इनकरेक्ट हैं मतलब उनके अंदर का कॉन्टेक्स्ट मैच नहीं कर रहा क्वेरी x को इन दैट केस आप नॉलेज सर्चिंग करते हो ठीक है तो आप x को भेजते हो वेब के पास यू डू

21:42 वेब सर्च और उससे आपको मिलता है नॉलेज एक्सटर्नल और आप x और नॉलेज एक्सटर्नल की बेसिस पे जनरेट करते हो अपना आंसर एंड द थर्ड सिचुएशन इज़ जब पार्शियली आपके डॉक्यूमेंट्स आंसर कर रहे हैं आपके क्वेश्चन को इन दैट केस आप दोनों चीजें करते हो आप सही वाले डॉक्यूमेंट्स ्स को थोड़ा रिफाइन करके नॉलेज इंटरनल बनाते हो और फिर मीनवाइल आप बाकी बची चीजों के लिए वेब सर्च करते हो जिससे आपको नॉलेज एक्सटर्नल मिलता है और फिर आप क्वेश्चन इंटरनल नॉलेज और एक्सटर्नल नॉलेज तीनों को भेजते हो एलएलएम के पास टू जनरेट द आंसर। दिस इज़ द जस्ट ऑफ़ अ दिस आर्किटेक्चर करेक्टिव रैग। ठीक है? अब मेरा गोल ये है इस वीडियो में कि मैं आपको ये जो डायग्राम आपको स्क्रीन पर दिख रहा है ये सेम चीज मैं आपको लैंग्राफ में बना के दिखाऊं। और

22:30 अच्छी चीज क्या है कि मैं डायरेक्टली सीधे इतना बड़ा आर्किटेक्चर आपको नहीं बना के दिखाऊंगा। अदरवाइज़ थोड़ा ओवरवेल्मिंग हो सकता है। तो व्हाट आई विल डू इज़ मैं एकदम स्टेप बाय स्टेप एक-एक करके कॉम्प्लेक्सिटी ऐड करूंगा ट्रेडिशनल रैग में और थ्री टू फाइव आइट्रेशंस में हम करेक्टिव रैग तक पहुंच जाएंगे। सो बेसिकली वी विल स्टार्ट विद ट्रेडिशनल रैग। उसमें एक फीचर ऐड करेंगे। फिर उसमें एक और फीचर ऐड करेंगे। एंड इस तरीके से हम करेक्टिव रैक तक बढ़ेंगे। तो बेसिकली हम बहुत फर्स्ट प्रिंसिपल अप्रोच लेंगे। ठीक है? तो नाउ लेट्स स्टार्ट द कोडिंग पार्ट। सो गाइस जैसा हमने डिस्कस किया कि हम अपने ट्रेडिशनल रैक सिस्टम को लेंगे और उसमें स्टेप बाय स्टेप फीचर्स ऐड करेंगे। तो हम आइटरेशन वन में जो फीचर ऐड करने जा रहे हैं वो है नॉलेज रिफाइनमेंट वाला फीचर। बेसिकली हम यह पूरी चीज जो है सी रैग

23:18 आर्किटेक्चर का उसको इंप्लीमेंट करने जा रहे हैं हमारे ट्रेडिशनल रैग के अंदर। ठीक है? तो सबसे पहले मैं आपको बताता हूं कि ये नॉलेज रिफाइनमेंट फीचर एग्जैक्टली काम कैसे करता है। एक चीज तो आपको दिख रही होगी ऑलरेडी कि जब हमारे रिट्रीव डॉक्यूमेंट्स सही होते हैं तब हम नॉलेज रिफाइनमेंट करते हैं। ये शायद आपको ऑलरेडी दिख रहा है। अब मैं आपको बताता हूं कि स्टेप बाय स्टेप इस फीचर के अंदर होता क्या है। ठीक है? तो जैसा आपको दिखाई दे रहा है कि आपने एक क्वेरी पूछा x जिससे आपको दो डॉक्यूमेंट्स रिट्रीव हुए। अब इन दोनों डॉक्यूमेंट्स के ऊपर आपको क्या करना है? नॉलेज रिफाइनमेंट। नॉलेज रिफाइनमेंट का पूरा फंडा क्या है? कि जो डॉक्यूमेंट्स रिट्रीव हो के आते हैं ना, हो सकता है कि उसके अंदर रेलेवेंट बात लिखी हो। बट कई

24:05 बार ऐसा भी होता है कि रेलेवेंट बात के साथ-साथ कुछ और एक्स्ट्रा भी लिखा हुआ होता है। और ऐसा इसलिए होता है बिकॉज़ जब हम चंकिंग करते हैं, टेक्स्ट स्प्लिटिंग करते हैं तो हमने बोल दिया कि भाई हमें 900 कैरेक्टर्स के ऊपर चंकिंग करके दो। तो हर 900 कैरेक्टर्स के ऊपर नया डॉक्यूमेंट बनने लग जाता है। तो वहां पे कोई दिमाग नहीं लगाया जाता है कि एक टॉपिक एक सिंगल चंक में होना चाहिए। कई बार एक टॉपिक क्या हो जाता है? स्प्लिट कर जाता है इंटू टू चंक्स। कई बार एक चंक के अंदर एक से ज्यादा टॉपिक कवर हो रहा होता है। उसकी वजह से हमें नॉलेज रिफाइनमेंट की जरूरत है। मैं आपको एक एग्जांपल के थ्रू बताता हूं। सो नॉलेज रिफाइनमेंट में प्रिसाइजली तीन स्टेप्स होते हैं। पहला होता है डीकंपोज़िशन, दूसरा होता है फिल्टरेशन और थर्ड होता है डीकंपोज़िशन। ठीक है? तो हम क्या कर रहे हैं? एक एग्जांपल ले चल रहे

24:52 हैं कि मान लो हमारा ये जो D1 है वो ये है और हमारी जो क्वेरी है X वो ऊपर लिखी हुई है। सो हमारी क्वेरी है व्हाट इज़ ग्रेडियंट डिसेंट। और उससे पलट के हमें एक जो डॉक्यूमेंट मिला वो ये है आपकी स्क्रीन पे जो है यहां पे लिखा हुआ है ग्रेडियंट डिसेंट इज़ एन ऑप्टिमाइजेशन एल्गोरिदम यूज्ड टू मिनिमाइज़ अ लॉस फंक्शन। इट आइट्रेटिवली अपडेट्स पैरामीटर इन द डायरेक्शन ऑफ़ नेगेटिव ग्रेडियंट। यह जो पूरा का पूरा डिस्क्रिप्शन है यह आपका ग्रेडियंट डिसेंट के ऊपर है। बट आगे के दो लाइंस पढ़ो। यहां लिखा हुआ है न्यूरल नेटवर्क्स आर कंपोज्ड ऑफ लेयर्स ऑफ न्यूरॉन्स विथ नॉन लीनियर फंक्शनंस। कॉन्वोल्यूशन न्यूरल नेटवर्क नेटवर्क्स आर परफेक्टली पर्टिकुलरली इफेक्टिव फॉर इमेज प्रोसेसिंग टास्क। अब ये जो चीज है ना ये है तो सेम डॉक्यूमेंट का पार्ट बट ये

25:37 यूज़फुल नहीं है इस क्वेश्चन को आंसर करने के लिए। फिर ये सेम डॉक्यूमेंट में क्यों आया? जो मैंने आपको अभी रीज़न बताया चंकिंग की वजह से। चंकिंग इस तरीके से हुई कि इतना पार्ट पिछले वाले सेंटेंस या पिछले वाले पैराग्राफ का आ गया और ये शायद नेक्स्ट वाले पैराग्राफ का आ गया जिसकी वजह से ये डॉक्यूमेंट अब दो टॉपिक्स के ऊपर बात कर रहा है। बट हमारे लिए यूज़फुल सिर्फ फर्स्ट वाला है। तो अब हम क्या करेंगे? इस पूरी चीज को रिफाइन करेंगे यूजिंग नॉलेज रिफाइनमेंट। तो स्टेप वन क्या होता है? स्टेप वन होता है आपका डीकंपोजिशन। आप क्या करते हो? अपने पूरे डॉक्यूमेंट को स्ट्रिप्स में डिवाइड करते हो। यहां पे देखो दिख रहा होगा आपको। स्ट्रिप वन, स्ट्रिप टू, स्ट्रिप के। अब पेपर में बहुत डिटेल में तो नहीं बताया गया है कि स्ट्रिप करना कैसे है। बट उन्होंने इतना बताया है कि स्ट्रिपिंग करने का बेसिकली मतलब होता है कि आप अपने पूरे डॉक्यूमेंट को सेंटेंसेस में ब्रेक

26:25 डाउन कर दो। रफली एक सिंगल सेंटेंस या दो सेंटेंस के ग्रुप में ब्रेक डाउन कर दो। तो हमने भी वही किया। हमने हमारे पूरे डॉक्यूमेंट को इन चार सेंटेंसेस में ब्रेकडाउन कर दिया। ये हमारा स्ट्रिप वन हो गया। ये हमारा स्ट्रिप टू हो गया। ये हमारा स्ट्रिप थ्री हो गया। ये हमारा स्ट्रिप फोर हो गया। यहां पर चार सेंटेंसेस थे। उन चारों सेंटेंसेस को हमने अलग कर दिया। दैट्स इट। यह हमारा स्टेप वन कंप्लीट हो गया। अब आता है स्टेप टू। स्टेप टू में आप क्या करते हो? आप फिल्टरेशन करते हो। सो बेसिकली आप क्या करते हो? आप अपनी क्वेरी को उठाते हो और आप सारे के सारे स्ट्रिप्स को उठाते हो। S1, S2, S3, S4 और उसको आप एक एलएलएम के पास भेजते हो। नॉट एग्जैक्टली एलएलएम। आप एक मॉडल के पास भेजते हो। मैं आपको बता

27:12 देता हूं। इनफैक्ट पेपर में जो एलएलएम यूज़ हुआ है, जो ट्रांसफार्मर यूज़ हुआ है, वह है T5 लार्ज Google का। तो जो ऑथर्स हैं, उन्होंने इस पर्टिकुलर ट्रांसफार्मर को फाइन ट्यून किया इस फिल्टरेशन टास्क के लिए। ठीक है? तो इस मॉडल का काम क्या है? इस T5 मॉडल का काम क्या है? कि वो इस क्वेरी को देखता है और इस स्ट्रिप को देखता है। जैसे उसने क्वेरी को देखा और इस स्ट्रिप को देखा। और उसको हमें कॉन्फिडेंस स्कोर देना है कि कितना रेलेवेंट है ये स्ट्रिप। इस क्वेरी को आंसर करने के लिए। फिर सेम काम वह S2 के साथ करेगा। सेम काम वह S3 के साथ करेगा। सेम काम वो S4 के साथ करेगा। और ऑटोमेटिकली वो समझ जाएगा कि स्ट्रिप वन यूज़फुल है। स्ट्रिप टू भी यूज़फुल है। स्ट्रिप थ्री इज़ नॉट यूज़फुल। स्ट्रिप फोर इज़ नॉट यूज़फुल। तो ऑटोमेटिकली

27:57 अब चार में से सिर्फ दो स्ट्रिप्स बचे। S1 एंड S2। ये हो गया हमारा सेकंड स्टेप। अब आता है स्टेप थ्री। स्टेप थ्री में आप क्या करते हो? वापस इन दोनों सेंटेंसेस को मर्ज कर देते हो जिससे आपको वापस यह पैराग्राफ मिल जाता है और अब यह है आपका डॉक्यूमेंट वन इसको आप यूज़ करोगे आंसर जनरेट करने के लिए ना कि इसको दिस विल नॉट बी यूज़्ड इंस्टेड दिस विल बी यूज़्ड एंड यू कैन सी कि कैसे अगर हम इसको भेजेंगे तो हमारा जनरेशन का क्वालिटी इंप्रूव करेगा। ठीक है? और यही सेम काम आप क्या करोगे? D2 के साथ भी करोगे। जितने डॉक्यूमेंट्स आपके रिट्रीवल में आए हैं, हर डॉक्यूमेंट के ऊपर आप यह नॉलेज

28:44 रिफाइनमेंट स्टेट अप्लाई करोगे। ठीक है? तो व्हाट वी आर गोइंग टू डू नाउ इज़ कि हम ये हमारा ट्रेडिशनल रैक सिस्टम है। जहां पे रिट्रीवल हो रहा है। उसके बाद सीधे जनरेशन हो रहा है। हम बीच में ये रिफाइन वाला स्टेप लेके आएंगे। ठीक है? हम क्या करेंगे? रिट्रीवल डॉक्यूमेंट्स को यहां भेजेंगे। रिफाइन करेंगे और रिफाइंड डॉक्यूमेंट्स को जनरेट करने भेजेंगे। सो दैट हमारा जो जनरेशन है वो इंप्रूव कर जाए। ठीक है? तो आई होप आपको समझ में आ रहा है कि हम एग्जैक्टली स्टेप वन में क्या करने जा रहे हैं। आइटरेशन वन में क्या करने जा रहे हैं। एक और इंपॉर्टेंट बात हम फिल्टरेशन के लिए T5 नहीं यूज़ कर रहे। बिकॉज़ ऑथर्स ने अपना फाइन ट्यूंड T5 का लिंक प्रोवाइड नहीं किया है। उन्होंने बस बताया है कि हमने T5 को यूज़ किया है।

29:30 तो अनफॉर्चुनेटली हमारे पास ये फाइन ट्यूंड T5 ट्रांसफार्मर नहीं है। तो इंस्टेड हमें मजबूरी में अ चैट ओपन AI का एलएलएम ही यूज़ करना पड़ेगा। ठीक है? हालांकि पेपर में उन लोगों ने बोला है कि ये छोटा है एज इन ये जो ट्रांसफार्मर है ये 770 मिलियन पैराटर्स का है। तो लाइट वेट भी है, फ्री भी है और इसका परफॉर्मेंस भी आपके ओपन एआई के एलएलएम से बेटर है। इस पर्टिकुलर टास्क में ऐसा पेपर में एक्सप्लसिटली उन्होंने लिखा है। बट अनफॉर्चूनेटली हमारे पास सिंस इस मॉडल का एक्सेस नहीं है तो हम अ हमारा एलएलएम यूज़ करेंगे चैट ओपन एआई का। ठीक है? आई होप आपको यहां तक चीजें समझ में आ रही हैं। अब मैं आपको कोड दिखाता हूं। सो कोड बहुत सेम है। जो पिछला कोड मैंने अभी आपको दिखाया बेसिक रैक का ट्रेडिशनल रैक का। बस उसी

30:17 में हमने इंप्रूवमेंट्स किए हैं। एक नया नोड ऐड किया है। मैं आपको दिखाता हूं। सो यहां पे हमने आपका लाइब्रेरीज इंपोर्ट कर ली। यहां पे हमारा डॉक्यूमेंट्स लोड हो गए। यहां पे हमने टेक्स्ट स्प्लिटिंग परफॉर्म किया। यहां पे हमने एंबेडिंग्स क्रिएट किए और उनको स्टोर किया वेक्टर स्टोर में और हमारा रिट्रीवर क्रिएट कर लिया। यह रहा हमारा एलएलएम। यह है हमारा स्टेट। अब स्टेट अगर आप कंपेयर करो ट्रेडिशनल रैक से तो स्टेट में बस दो-तीन चेंजेस हैं। ये स्टेट था हमारे ट्रेडिशनल रैक का और ये है हमारे अ इस इंप्रूवमेंट वाले रैक का स्टेट। यहां पे हमने तीन नई चीजें ऐड की हैं। स्ट्रिप्स हमने इसलिए ऐड किया बिकॉज़ जब आप अपने डॉक्यूमेंट्स को ले के उसके ऊपर डीकंपोज़शन करोगे तो सारे के

31:02 सारे स्ट्रिप्स को हम यहां पे स्टोर करेंगे। केप्ट स्ट्रिप्स में हम उन स्ट्रिप्स को स्टोर करेंगे जो फाइनली सेलेक्ट हुए हैं। और रिफाइंड कॉन्टेक्स्ट इज़ बेसिकली अ कॉम्बिनेशन या रिक कॉम्बिनेशन ऑफ केप्ट स्ट्रिप्स। ठीक है? तो ये हो गया हमारा स्टेट। उसके बाद ये आ गया हमारा रिट्रीव नोड। बिल्कुल सेम। ये अलग चीज है। ये है हमारा रिफाइन वाला नोड। तो यहां पे अगर आप देखो तो सबसे पहले हमने क्या किया? एक फंक्शन बनाया है जिसका काम है कि ये एक गिवन स्ट्रिंग को स्ट्रिप्स में कन्वर्ट करता है। बेसिकली हम सेंटेंस लेवल पे अ ब्रेक डाउन कर रहे हैं एक अ एक डॉक्यूमेंट को। ठीक है? मैं आपको दिखाता हूं इनफैक्ट। सो मान लो अगर मैं इसको

31:49 यहां पे इंडिपेंडेंटली रन करूं और इसको एक टेक्स्ट दूं अगर मैं लेट्स से मैं ये टेक्स्ट दे दूं तो ये फंक्शन कुछ इस तरीके से काम करेगा। ठीक है? अगर मैं इसको रन करूं तो ये देखो एक लिस्ट बन जा रहा है और उस लिस्ट के अंदर सेंटेंस लेवल पे हमने स्ट्रिप्स बना दिए। ठीक है? तो यही काम एग्जैक्टली यहां पर हो रहा है। यू कैन सी डींपोज टू सेंटेंसेस है। फिर हमने एक प्र्प्ट क्रिएट किया हमारे एलएलएम के लिए दैट यू आर अ स्ट्रिक्ट रेलेवेंस फिल्टर रिटर्न कीप इज़ इक्वल टू ट्रू ओनली इफ सेंटेंस डायरेक्टली हेल्प्स आंसर द क्वेश्चन। यूज़ ओनली द सेंटेंस आउटपुट जेस

32:37 ऑन ओनली और उसका जेस ऑन ये होगा। बेसिकली वो एक ट्रू फॉल्स हमें देगा। ठीक है? तो यहां पे हमने स्ट्रक्चरर्ड आउटपुट क्रिएट कर लिया और ये है हमारा फाइनल रिफाइन वाला नोड। ठीक है? इसमें हम क्या कर रहे हैं? सबसे पहले क्वेश्चन को उठा रहे हैं। सारे डॉक्यूमेंट्स को उठा रहे हैं और सारे डॉक्यूमेंट्स को मर्ज करके एक कॉन्टेक्स्ट क्रिएट कर रहे हैं। फिर उस कॉन्टेक्स्ट को हम भेज रहे हैं डीकंपोज टू सेंटेंसेस फंक्शन में जिससे हमारे पास सारे स्ट्रिप्स आ जा रहे हैं। फिर हम क्या कर रहे हैं? हम लूप चला रहे हैं। हर स्ट्रिप को पकड़ रहे हैं और फ़्टर चेन के पास भेज रहे हैं। फ़्टर चेन ये है जो हमने यहां पे बनाया। अब फ़्टर चेन क्या कर रहा है कि एलएलएम को क्वेश्चन दे रहा है और स्ट्रिप दे रहा है और पूछ रहा है कि क्या इस क्वेश्चन को आंसर करने के लिए ये स्ट्रिप

33:23 सही है या नहीं? और आपका एलएलएम ट्रू या फॉल्स बता रहा है और हम उसको एक्सट्रैक्ट कर रहे हैं। अगर ट्रू है तो हम उसको इस केप्ट वाली लिस्ट में ऐड करते जा रहे हैं। सिंपल लॉजिक है। मतलब आप लिटरली वीडियो पॉज करके एक बार देखोगे आपको समझ में आ जाएगा। फिर हम क्या कर रहे हैं? जितने भी केप्ट वाले हैं स्ट्रिप्स उनको हम रिफाइंड कॉन्टेक्स्ट बोल के एक वेरिएबल में डाल दे रहे हैं। और फिर हम रिटर्न कर दे रहे हैं तीनों चीजें। जो हमारी सारी स्ट्रिप्स थी जो केप्ट स्ट्रिंग्स बची और जो रिफाइंड कॉन्टेक्स्ट है। ठीक है? तो यह हमारा रिफाइन वाला काम हो गया और फाइनली ये हमारा जनरेट वाला आपका नोड है जो कि बिल्कुल सेम है जो पिछले कोड में था। और यहां पे हमने तीनों को जोड़ दिया और उसकी

34:08 वजह से दिस इज़ द आउटपुट दैट वी आर गेटिंग। ठीक है? सो वी हैव रिट्रीव, रिफाइन एंड जनरेट। अब मैं आपको दिखाता हूं कि इसका आउटपुट कैसा आ रहा है। सो अगर मैं रन करूं एक्सप्लेन द बायस वेरियंस ट्रेड ऑफ एज अ क्वेश्चन तो दिस इज़ द आउटपुट दैट वी आर गेटिंग। सी दिस इज़ द आउटपुट। ऑलमोस्ट वैसा ही है। थोड़ा और पॉइंट वाइज़ हो गया है स्ट्रिप्स के बेसिस पे। ठीक है? अगर हम बात करें कि रिट्रीवल में हमें कौन-कौन से डॉक्यूमेंट्स मिले थे? तो यहां पे हमें एग्जैक्टली वही डॉक्यूमेंट्स मिले थे जो मैंने आपको लास्ट कोड में दिखाए। बट अगर आप देखना चाहो तो यह हैं आपके केप्ट स्ट्रिप्स जिनको रख लिया गया। दीज़ आर द केप्ट स्ट्रिप्स और फिर इसी से बनाया गया ये

34:54 रिफाइंड कॉन्टेक्स्ट। ये देखो दिस इज़ द रिफाइंड कॉन्टेक्स्ट। बेसिकली यह जो इतनी पूरी चीज हमें मिली थी। ये देखो ये जो पूरी इतनी बड़ी चीज मिली थी। चार डॉक्यूमेंट्स हमें मिले थे। इन चार डॉक्यूमेंट से यूजफुल चीज कितना निकला? दिस मच। और फिर इतने के बेसिस पे हमने हमारा आंसर जनरेट किया वि वाज़ दिस। यू कैन सी। तो दिस इज़ हाउ रिफाइनमेंट इज़ इंप्लीमेंटेड। ठीक है? तो हमने अभी जस्ट इतना पार्ट कवर कर लिया। दिस मच वी हैव अचीव्ड। ठीक है? अब मूव करते हैं अगले इंप्रूवमेंट की तरफ। तो गाइस अब हम बात करते हैं सेकंड

35:39 इंप्रूवमेंट की। सेकंड इंप्रूवमेंट है रिट्रीवल इवैल्यूएशन। सो अब हम क्या करने वाले हैं कि जो भी डॉक्यूमेंट्स रिट्रीव हो के आए हैं उसकी बेसिस पे हम यह डिसाइड करेंगे कि जो रिट्रीवल है उसका क्वालिटी अच्छा था या बुरा था या फिर ठीक-ठाक था। ठीक है? सो बेसिकली वी आर गोइंग टू परफॉर्म दिस स्टेप। हम यह पता करेंगे रिट्रीवल सही है या फिर एकदम ही गलत है या फिर ठीक-ठाक है इन बिटवीन कैसे करेंगे वो मैं आपको बताता हूं। सो व्हाट वी विल डू इज़ कि यहां पर हम इस रिट्रीवल इवैलुएटर की जगह पे एक एलएलएम को यूज़ करेंगे। हमारे केस में इट विल बी अ

36:25 ओपन एi का चार्ट चार्ट मॉडल। ठीक है? और लॉजिक बहुत सिंपल रहेगा। हम क्या करेंगे? हम एक लोअर थ्रेशहोल्ड ले लेंगे। दिस लोअर थ्रेशहोल्ड विल बी3 एंड एक अपर थ्रेशहोल्ड ले लेंगे। अपर थ्रेशहोल्ड विल बी7 इसको आप अपने हिसाब से चेंज कर सकते हो। अब हम क्या करेंगे? इस एलएलएम को एक-एक करके सारे के सारे रिट्रीव्ड डॉक्यूमेंट्स भेजेंगे। सो अगर हमारे पास दो डॉक्यूमेंट्स रिट्रीव हो के आए हैं। तो पहले हम इसको d1 देंगे। फिर हम इसको d2 देंगे। और हम बोलेंगे कि ये क्वेश्चन देखो और इस डॉक्यूमेंट को देखो और बताओ कि इस क्वेश्चन को आंसर करने के लिए इस

37:12 डॉक्यूमेंट का कंटेंट कितना सही है और ये तुम एक नंबर के थ्रू रिप्रेजेंट करो ज़ीरो से वन के बीच में। सो हो सकता है एलएलएम बोले9 का मतलब इस क्वेश्चन को आंसर करने के लिए यह डॉक्यूमेंट बहुत सही है। हो सकता है कि वन बोले हमारा एलएलएम इसका मतलब है कि इस क्वेश्चन को आंसर करने के लिए ये डॉक्यूमेंट बिल्कुल भी सही नहीं है। ठीक है? तो हम ऐसा दोनों डॉक्यूमेंट्स के लिए करेंगे। अब मान लो d1 के लिए हमारे एलएलएम ने बोला 0.8 और D2 के लिए हमारे एलएलएम ने बोला 5। तो अब इन दोनों रेटिंग्स के बेसिस पे हम डिसाइड करेंगे कि जो रिट्रीवल का क्वालिटी है वो कैसा है। अब तीन केसेस यहां पे पॉसिबल हैं। पहला

37:58 केस है करेक्ट व्हिच इज़ दिस वन। करेक्ट कब होगा? जब एटलीस्ट वन डॉक्यूमेंट का रेटिंग इज़ ग्रेटर देन अपर थ्रेशहोल्ड। मतलब एटलीस्ट एक डॉक्यूमेंट का रेटिंग अगर 7 से ज्यादा है तो हम बोलेंगे कि रिट्रीवल सही हुआ है और हम रिट्रीव्ड डॉक्यूमेंट के बेसिस पे ही आंसर जनरेट करना चाहते हैं। जैसे इस केस में सिंस डॉक्यूमेंट वन का रेटिंग इज़ 8 व्हिच इज़ ग्रेटर देन द अपर थ्रेशहोल्ड तो हम इसको करेक्ट वाला केस बुलाएंगे। अब सुनो कि इनकरेक्ट कब होगा? इनकरेक्ट होने का क्राइटेरिया बहुत सिंपल

38:44 है। अगर एक भी डॉक्यूमेंट का रेटिंग लोअर थ्रेशहोल्ड से ज्यादा नहीं है तो हम उसको इनकरेक्ट लेबल करेंगे। फॉर एग्जांपल अगर मान लो हमारा एलएलएम इन दोनों डॉक्यूमेंट्स को ये स्कोर देता वन एंड टू। सिंस दोनों में से किसी भी डॉक्यूमेंट का रेटिंग 3 से ज्यादा नहीं है तो हम इस रिट्रीवल को इनकरेक्ट बोलेंगे और हम बोलेंगे कि जो भी रिट्रीव हो के डॉक्यूमेंट्स आए हैं दे आर नॉट सफिशिएंट टू आंसर द क्वेश्चन। दैट इज व्हाई वी शुड गो आउट एंड डू अ वेब सर्च। आई होप आपको समझ में आ रहा है। ठीक है? तो इनकरेक्ट का क्राइटेरिया क्या है? नो डॉक्यूमेंट रिट्रीवल स्कोर इज ग्रेटर दन लोअर

39:30 थ्रेशहोल्ड। और इसके अलावा अगर कुछ भी होता है तो हम उसको ए्बिगुअस बुलाएंगे। ठीक है? मतलब कि आपका लेट्स से 5.5 है। दैट इज़ ए्बिगुअस। ठीक है? आई होप आपको समझ में आ रहा है। सो, आपको बेसिक फंडा तो समझ में आ गया कि रिट्रीवल का इवैल्यूएशन आप कैसे करते हो। दो और इंपॉर्टेंट चीजें मैं आपके साथ यहां पे डिस्कस करूंगा। सो इमेजिन करो एक सिनेरियो जहां पे हमारे पास तीन डॉक्यूमेंट्स रिट्रीव हो के आए हैं। D1, D2 एंड D3 और इन तीनों को हमने भेज दिया हमारे एलएलएम के पास इवैल्यूएशन के लिए। D1 को स्कोर मिला 8 का। D2 को स्कोर मिला 4 का और D3 को स्कोर मिला टू का। मान लो।

40:16 अब सबसे पहले तो एक बार वीडियो पॉज करके बताओ कि आप इसको क्या लेबल करोगे? करेक्ट, इनकरेक्ट या ए्बिगुअस? द आंसर इज करेक्ट। व्हाई? बिकॉज़ सिंपल फंडा है। अगर आपका एक भी डॉक्यूमेंट अपर थ्रेशहोल्ड से ऊपर है तो आप उसको करेक्ट बुलाओगे। ठीक है? तो ये करेक्ट लेबल हो गया। बट वन इंपॉर्टेंट थिंग आप इन तीनों डॉक्यूमेंट्स को यूज़ नहीं करोगे जनरेशन के लिए। यहां पर आपको एक चीज और सीखनी है कि जनरेशन के लिए सिर्फ वही डॉक्यूमेंट्स यूज होंगे जिनका इवैल्यूएशन स्कोर इज ग्रेटर देन द लोअर थ्रेशहोल्ड। ये एक और इंपॉर्टेंट पॉइंट है जो पेपर में मेंशंड है। इसका मतलब ये है कि डॉक्यूमेंट

41:03 वन जनरेशन के लिए यूज़ होगा। डॉक्यूमेंट टू भी जनरेशन के लिए यूज़ होगा। बिकॉज़ थ्री से ज्यादा है। लेकिन डॉक्यूमेंट थ्री जनरेशन के लिए यूज़ नहीं होगा। बिकॉज़ उसका इवैल्यूएशन स्कोर इज़ टू व्हिच इज़ लेस दैन द लोअर थ्रेशहोल्ड। तो इसका मतलब जो आगे चलके जनरेशन होगा करेक्ट वाला वहां पे डॉक्यूमेंट वन एंड डॉक्यूमेंट टू के बेसिस पे जनरेशन होगा। डॉक्यूमेंट थ्री के बेसिस पे जनरेशन नहीं होगा। ठीक है? ये एक इंपॉर्टेंट पॉइंट है। ये आपको याद रखना है। ठीक है? एक और इंपॉर्टेंट चीज आपके साथ डिस्कस करनी है। अ हमने तो यहां पे इवैल्यूएटर के लिए एक एलएलएम को यूज़ किया है ओपन एआई के। बट जिन लोगों ने ये पेपर लिखा है उन लोगों ने इसकी जगह पे एक T5 लार्ज ट्रांसफार्मर यूज़ किया था। बिल्कुल

41:50 वही जो उन्होंने रिफाइनमेंट के लिए यूज़ किया था। तो दिस इज़ अ फाइन ट्यूंड ट्रांसफार्मर जो उन्होंने यूज़ किया था और उसका उन्होंने दो रीज़न दिया था। पहला यूजिंग दिस विल बी चीपर ऑब्वियसली एंड सेकंड इसका परफॉर्मेंस इन एलएलएम से भी बेटर था क्योंकि उन्होंने फाइन ट्यून कर रखा था इस पर्टिकुलर टास्क के लिए। बट अनफॉर्चूनेटली हमारे पास इस फाइन ट्यून T5 लार्ज ट्रांसफार्मर का एक्सेस नहीं है। इसीलिए हम एलएलएम को यूज़ करेंगे। बट यू शुड नो दिस। अब आपको यह पूरा फंडा समझ में आ गया। तो चलो अब देखते हैं कि कोड में इसको कैसे इंप्लीमेंट करना है। सो कोड को अभी सिंपल रखने के लिए मैंने क्या प्लान किया है कि हम यह इवैल्यूएटर

42:36 तो इंप्लीमेंट करेंगे बट सिर्फ करेक्ट वाली चीज मैं आपको सही से करके दिखाऊंगा। मतलब अगर इवैल्यूएशन में सही आता है, करेक्ट आता है तो हम यह पूरा स्टेप करेंगे नॉलेज रिफाइनमेंट वाला और आंसर जनरेट करने वाला। क्योंकि हम ऑलरेडी कर चुके हैं लास्ट कोड में। बट लेट्स से अगर इवैल्यूएटर से आंसर आता है इनकरेक्ट तो हमसे एक्सपेक्ट किया जा रहा है कि हम वेब सर्च कंडक्ट करें। बट ये हम अभी नहीं करेंगे। फिलहाल अगर इनकरेक्ट आता है रिजल्ट तो हम सिर्फ प्रिंट कर देंगे कि रिजल्ट इनकरेक्ट है। वी विल नॉट डू एनी काइंड ऑफ़ जनरेशन। एंड सेम विद एम्बिगुअस। अगर रिजल्ट ए्बिगुअस आता है तो भी हम कुछ जनरेट नहीं करेंगे। सिंपली बता देंगे कि भाई एम्बुस है कोड खत्म। ठीक है? तो अब

43:22 मैं आपको दिखाता हूं कि कोड कैसे इंप्लीमेंटेड है। सो बिल्कुल काफी कुछ सेम है। पिछले वाले कोड के ऊपर ही हमने यह कोड बिल्ड किया है। तो काफी कुछ आपको सेम लगेगा। यहां पे हमने लाइब्रेरीज़ इंपोर्ट की। यहीं पे हमने तीन वो मशीन लर्निंग की बुक्स इंपोर्ट कर ली। उसके बाद यहां पे हमने टेक्स्ट स्प्लिटिंग परफॉर्म कर लिया। यहां पे हमने अपना वेक्टर डेटाबेस बना लिया और रिट्रीवर ऑब्जेक्ट क्रिएट कर लिया। ये हमारा एलएलएम है जो हम थ्रूउ यूज़ करेंगे। ये लाइन इंपॉर्टेंट है और नया है। यहां पे हमने अपना अपर थ्रेशहोल्ड और लोअर थ्रेशहोल्ड डिफाइन कर लिया। 07 एंड3 अगेन पेपर में बताया नहीं गया है उन्होंने कितना थ्रेशहोल्ड लिया था। आप इसको अपने हिसाब से ट्यून कर सकते हो। उसके बाद आता है स्टेट। स्टेट में भी काफी चीजें आपको सेम दिखाई देंगी। ये दोनों क्वेश्चन

44:08 डॉक्यूमेंट सेम है। स्ट्रिप्स, केप्ट स्ट्रिप्स, रिफाइंड कॉन्टेक्स्ट एंड आंसर। ये भी पिछले कोड से ही हमने उठाया है। नया क्या आया है? नया है ये तीन कीज़। पहला है गुड डॉग्स। गुड डॉग्स क्या है? वो सारे डॉक्यूमेंट्स जिनका इवैल्यूएशन स्कोर इज ग्रेटर दन 3 उनको हम गुड डॉग्स मान रहे हैं। बिकॉज़ उनके बेसिस पे ही हम जनरेशन करेंगे। जिनका भी इवैल्यूएशन स्कोर थ्री से कम होगा उनको हम गुड डॉक्स में नहीं डालेंगे। ठीक है? उसके बाद वर्डिक्ट। वर्डिक्ट में हम स्टोर करेंगे कि करेक्ट है, इनकरेक्ट है या एम्बग्यूस है। ठीक है? और रीजन में हम स्टोर करेंगे हमने वर्डिक्ट क्यों दिया? अगर करेक्ट है तो क्या रीजन है? अगर इनकरेक्ट है तो क्या रीजन है? अगर ए्बगुअस है तो क्या रीज़न है?

44:55 ठीक है? तो बस ये नए तीन फील्ड्स हमने ऐड किए हमारे स्टेट में। उसके बाद सबसे पहला नोड जो कि है रिट्रीव नोड। बिल्कुल सेम है। पिछले दो कोड्स में जो आपने देखा बिल्कुल सेम। उसके बाद अब आता है ये इंपॉर्टेंट और नई चीज जहां पे हम इवैल्यूएशन परफॉर्म करेंगे हमारे रिट्रीवल का। ठीक है? तो यहां पे हमने सबसे पहले एक पाइडेंटिक स्कीमा बनाया है जिसमें हमें दो चीज मिलेंगी। एक स्कोर मिलेगा फॉर ईच डॉक्यूमेंट और सेकंड उस स्कोर के पीछे का रीज़न भी हमें दिया जाएगा कि अगर किसी डॉक्यूमेंट को फाइव दिया जा रहा है तो फाइव क्यों दिया जा रहा है? ये रीज़न भी हम स्टोर कर रहे हैं। सो दैट आप एक्सेस कर पाओ। ठीक है? उसके बाद हमने एक सिस्टम प्र्प बनाया है हमारे एलएलएम के लिए। हमने बोला है यू आर अ स्ट्रिक्ट रिट्रीवल

45:41 इवैल्यूएटर फॉर रैग। यू विल बी गिवेन वन रिट्रीव्ड चंक एज इन वन डॉक्यूमेंट एंड अ क्वेश्चन। रिटर्न अ रेलेवेंट स्कोर बिटवीन ज़ीरो एंड वन। वन का मतलब है चंक अलोन इज़ सफिशिएंट टू आंसर फुली। एंड ज़ीरो का मतलब है चंक इज़ इररेिलेवेंट। बी कंजर्वेटिव विथ हाई स्कोर्स आल्सो रिटर्न अ शॉर्ट रीजन आउटपुट jसon ओनली और फिर हमने ह्यूमन मैसेज के फॉर्म में भेज दिया है जो क्वेश्चन है और जो चंक है। ठीक है? और यहां पे हमने एक चेन फॉर्म कर ली है विथ दिस प्र्ट एंड आवर एलएलएम और वहां पे विद स्ट्रक्चरर्ड आउटपुट में हमने ये पाइडेंटिक स्कीमा भेज दिया है। जिसकी वजह से हमारा एलएलएम फोर्स हो जाएगा यही दो फील्ड्स आउटपुट करने के लिए। उसके बाद आता

46:29 है हमारा मेन नोड जो इवैल्यूएशन परफॉर्म करेगा। अब यहां पे फ्लो बहुत ही सिंपल है। आप वीडियो को पॉज करके आराम से समझ सकते हो। सबसे पहले हम क्वेश्चन फैच करके ला रहे हैं स्टेट से। उसके बाद हम दो-तीन लिस्ट बना रहे हैं। एक लिस्ट बना रहे हैं स्कोर्स का जिसमें हम हर डॉक्यूमेंट का इवैल्यूएशन स्कोर को स्टोर करेंगे। फिर हम रीज़ंस का एक लिस्ट बना रहे हैं। जहां पे हर डॉक्यूमेंट को वो स्कोर क्यों दिया गया ये स्टोर करेंगे। और फिर हम एक और लिस्ट बना रहे हैं उन डॉक्यूमेंट्स को स्टोर करने के लिए जो गुड डॉक्यूमेंट्स हैं जिनका स्कोर 3 से ज्यादा है। ठीक है? उसके बाद देखो हम क्या कर रहे हैं? हम लूप चला रहे हैं। जितने हमारे डॉक्यूमेंट्स हैं उतनी बार ये लूप चलेगा। हर डॉक्यूमेंट को हम एलएलएम के पास भेज रहे हैं। क्वेश्चन दे रहे हैं और वो डॉक्यूमेंट दे रहे हैं।

47:15 ठीक है? डी डॉट पेज कंटेंट। और हम उसको बोल रहे हैं कि हमें बताओ आप इस डॉक्यूमेंट को कितना स्कोर दोगे और उस स्कोर के पीछे का रीजन क्या है? जो भी स्कोर आ रहा है उसको हम स्कोर में डाल दे रहे हैं। जो भी रीजन आ रहा है उसको हम रीजन में डाल दे रहे हैं। अब यहां पे हमने एक सिंपल सी चीज की। हमने पूछा कि अगर आपका स्कोर इज ग्रेटर दैन लोअर थ्रेशहोल्ड। एक पर्टिकुलर डॉक्यूमेंट का अगर स्कोर लोअर थ्रेशहोल्ड से ज्यादा है,3 से ज्यादा है तो उसको हम गुड डॉक्यूमेंट्स में ऐड कर दे रहे हैं। ठीक है? अब यहां पर हमारे तीन केसेस आ गए। पहला केस अगर एक सिंगल डॉक्यूमेंट का स्कोर भी 7 से ज्यादा है तो हम ये रिटर्न कर रहे हैं। गुड डॉक्स

48:01 के अंदर सारे के सारे गुड डॉक्स वर्डिक्ट हो गया करेक्ट और रीज़ हो गया ये। उसके बाद अगर सारे के सारे डॉक्यूमेंट्स का इवैल्यूएशन स्कोर इज लेस देन थ्री तो फिर हम ये रिटर्न कर रहे हैं। एक भी गुड डॉक नहीं है। बिकॉज़ ऑब्वियसली 3 से ऊपर कोई भी नहीं है। वर्डिक्ट इनकरेक्ट और रीज़ ये अगर ये दोनों केसेस नहीं है तो हम ये रिटर्न कर रहे हैं। क्या रिटर्न कर रहे हैं? गुड डॉग्स में जो भी गुड है वर्डिक्ट ए्बिगुअस और रीज़ यह। तो यह है हमारा इवैलुएटर। जो रिट्रीव्ड डॉक्यूमेंट्स को इवैलुएट करेगा। उसके बाद आगे का कोड बिल्कुल सेम है। यह कोड है नॉलेज रिफाइनमेंट वाला जो आपने पिछले कोड में देखा था। बिल्कुल सेम। कोई

48:47 चेंजेस नहीं है। ये कोड है जनरेशन का। इसमें भी कोई चेंजेस नहीं है। अ आई विल जस्ट डू वन स्मॉल चेक। हम यहां पर रिफाइन वाले में हम एक छोटा सा चेंज कर रहे हैं और वो चेंज यह है कि हम सारे डॉक्यूमेंट्स के ऊपर कॉन्टेक्स्ट नहीं बिल्ड कर रहे। हम सिर्फ गुड डॉक्यूमेंट्स के ऊपर कॉन्टेक्स्ट बिल्ड कर रहे हैं। मैंने आपको बताया था आंसर जनरेट करने के लिए हम सिर्फ गुड डॉक्स को यूज़ करेंगे। जिनका भी स्कोर 3 से ज्यादा है सिर्फ उनको यूज़ करेंगे। तो दिस इज़ द ओनली चेंज इन दिस रिफाइंड वाला कोड। उसके बाद जनरेशन का कोड बिल्कुल सेम है। उसके बाद यहां पे हमने थोड़ा सा और ग्राफ बिल्ड किया है। हमने एक फेल नोड बनाया है। हमने एक ए्बगुअस नोड बनाया है और हमने एक राउट

49:35 आफ्टर इवैल्यूएशन बोल के बनाया है। जो कि बहुत सिंपल है। यह बोलता है कि अगर वर्डिक्ट करेक्ट है तो रिफाइन वाले नोट पे जाओ। अगर वर्डिक्ट इनकरेक्ट है तो वेब सर्च वाले नोट पे जाओ। और अगर ए्बिगुअस है तो ए्बगुअस वाले नड पर जाओ। एक्चुअली यहां पर वेब सर्च नहीं होगा। यहां पे फेल नोड होगा। ठीक है? या फिर ऐसे लिख सकते हैं। इसको हम बोल सकते हैं वेब सर्च। इसको हम बोल सकते हैं ठीक है। मतलब कोई मतलब चेंज नहीं हो रहा। फेल नोड ही कर देते हैं और इसको ए्बगुस नोड बोल देते हैं। उसके बाद यहां पर हमने थोड़ा सा ग्राफ और बिल्ड किया है। एक दो नोट्स और क्रिएट किए हैं। हमने एक न

50:21 क्रिएट कर दिया है फेलियर के लिए एज एन इनकरेक्ट के लिए और एक नोड क्रिएट कर दिया है ए्बगुएस वाले के लिए। और यहां पे हमने राउट्स डिफाइन कर दिए हैं। सो अगर वर्डिक्ट करेक्ट है तो हम रिफाइन वाले नोट पे जा रहे हैं। अगर वर्डिक्ट इनकरेक्ट है तो हम वेब सर्च पे जा रहे हैं। अगर अ ए्बगुस है तो हम एम्बिगुअस पे जा रहे हैं। और यहां पर एग्जैक्टली यही ग्राफ डिफाइंड है। यू कैन सी अगर रिफाइन पे हो तो रिफाइन नोड पे चले जाओ। अगर वेब सर्च पे हो तो फेल नोड पे चले जाओ। अगर एम्बिगुअस पे हो तो एम्बिगुअस नोड पे चले जाओ। और ये रहा आपका स्ट्रक्चर ग्राफ का। बहुत ही सिंपल स्ट्रक्चर है। अगर करेक्ट हुआ तो पहले रिफाइन करो फिर जनरेट करो। अगर इनकरेक्ट हुआ तो बोलो इनकरेक्ट है और कोड एंड हो जाएगा। अगर ए्बिगुअस है तो बोलो एम्बिगुअस

51:08 है और आपका कोड एंड हो जाएगा। जैसा मैंने बोला एम्बिगुअस और फेलियर इनकरेक्ट के लिए अभी हम कुछ भी नहीं कर रहे। सिर्फ अभी करेक्ट के लिए हम जनरेशन कर रहे हैं। सो एक एग्जांपल लेते हैं। यहां पे मैंने तीन एग्जांपल ले रखे हैं। सो अगर आप लेट्स से डालते हो बायस वेरियंस ट्रेड ऑफ तो ये एक ऐसा डॉक्यूमेंट है जो आपको बुक्स में मिल ही जाएगा। दैट इज़ व्हाई देयर इज़ अ गुड चांस कि आपका हर डॉक्यूमेंट जो है वो एटलीस्ट एक डॉक्यूमेंट तो ऐसा होगा जो 7 के ऊपर स्कोर करेगा। मतलब ये करेक्ट वाला केस बनेगा। यह देखो द वर्डिक्ट इज करेक्ट। रीजन क्या है? एटलीस्ट वन रिट्रीव्ड चंक्स कोड ग्रेटर दन7 और यह रहा हमारा आउटपुट। ठीक है? अगर हम ये डालें एआई न्यूज़ फ्रॉम

51:55 लास्ट वीक। तो ये ऐसा टॉपिक है जो हमारी बुक्स में बिल्कुल भी कवर्ड नहीं है। तो इसके लिए हमें इनकरेक्ट मिलना चाहिए। व्हिच मींस सारे के सारे रिट्रीव्ड डॉक्यूमेंट्स का जो स्कोर है वो थ्री से कम है। नो चंक वाज़ सफिशिएंट। और ये मैंने काफी एक्सपेरिमेंट करके पता किया कि इस पर्टिकुलर प्र्प्ट के लिए हमें ए्बगुअस मिलता है। क्योंकि ये इस तरह का प्र्प्ट है। व्हाट आर अटेंशन मैकेनिज्म्स एंड व्हाई आर देेंट इन करंट मॉडल्स? तो हमने थोड़ा सा एक क्वेश्चन पूछा जो थोड़ा बहुत कवर्ड है किसी एक बुक में। और फिर उसके आगे हमने एक क्वेश्चन पूछा जो नहीं कवर्ड है। इसीलिए ए्बिगुअस हो गया। कोई सिंगल चंक 7 से ऊपर नहीं था बट ऐसा भी नहीं था कि सारे के सारे थ्री के नीचे हो।

52:42 दैट इज़ व्हाई ये ए्बिगुअस हो गया। मिक्स्ड सिग्नल्स रिसीव्ड। इन एनी केस हमने एक ऐसा सिस्टम बिल्ड कर लिया है जो कि रिट्रीवल का जो क्वालिटी है उसको इवैल्यूएट करके आपको बता सकता है कि आप करेक्ट हो, इनकरेक्ट हो या एंबगुस हो। अब हम क्या करेंगे? एक-एक करके इन दोनों पार्ट्स को बिल्ड करेंगे। पहले हम क्या करेंगे? हम इनकरेक्ट वाले को बिल्ड करेंगे। मतलब अगर इनकरेक्ट है तो हम वेब सर्च का फीचर ऐड करेंगे और फिर हम ए्बिगुअस वाला पाथ भी इंप्लीमेंट करेंगे। तो आई होप आपको समझ में आ रहा है कैसे हम स्टेप बाय स्टेप इस आर्किटेक्चर को डेवलप कर रहे हैं। फर्स्ट प्रिंसिपल से। मैंने शुरू में ही आपको बोला था। मैं ऐसा नहीं करूंगा कि पूरी चीज एक साथ बिल्ड करके आपको दिखाऊंगा। आई रियली वांट कि ये आईडिया आपके दिमाग में ग्रो करें और हम एग्जैक्टली उसी प्लान के

53:29 ऊपर काम कर रहे हैं। सो अब बात करते हैं नेक्स्ट आइटरेशन की जहां पर हम हमारे इस पूरे आर्किटेक्चर में वेब सर्च का फीचर ऐड करेंगे। सो बेसिक फंडा यह है कि हमारा रिट्रीवल इवैल्यूएटर हमें बताएगा कि जो भी रिट्रीव्ड डॉक्यूमेंट्स हैं वो सही हैं, गलत हैं या एम्बिगुअस हैं। अगर वो बोलेगा कि जो भी डॉक्यूमेंट्स हैं वो ए्ब इनकरेक्ट है मतलब एक भी डॉक्यूमेंट कैपेबल नहीं है क्वेश्चन को आंसर करने के लिए तो हम क्या करेंगे? हम रुकेंगे नहीं। हम अपने क्वेश्चन को लेंगे और उसको जाकर इंटरनेट पर सर्च करेंगे और इसके लिए हम टैवली यूज़ करेंगे जो हमने लास्ट वीडियो में भी यूज़ किया था और टैवली के थ्रू हमें रिजल्ट्स मिलेंगे और इन रिजल्ट्स को ही हम यूज़

54:15 करेंगे टू जनरेट द आंसर। द बेसिक फिलॉसफी इज कि इवन इफ हमारे जो डॉक्यूमेंट्स हैं वो क्वेश्चन को आंसर करने के लिए रेडी नहीं है या सफिशिएंट नहीं है तो भी हम यूजर को खाली हाथ नहीं लौटाना चाहते। हम उसको सही रिजल्ट दिखाना चाहते हैं और भले ही वो सही रिजल्ट हमें वेब पे जाके खोजना पड़े। ठीक है? तो इन अ वे हम अपने सिस्टम को थोड़ा और रोबस्ट बना रहे हैं। सो ये फीचर एक्चुअली डेवलप करना इज़ क्वाइट सिंपल बिकॉज़ पास्ट में हमने टैबली एपीआई कैसे कनेक्ट करना है अपने लैंडग्राफ कोड से ये सीख रखा है। देयर इज़ ओनली वन कॉम्प्लेक्सिटी। द कॉम्प्लेक्सिटी इज़ दिस कि अगर आप ध्यान दो इस डायग्राम में तो यहां पे लिखा हुआ है कि आप अपनी क्वेरी को ले रहे हो। उसको आप भेज दे रहे हो इंटरनेट

55:01 पे एज़ इन टैवली के पास। टैवली वेब सर्च करके आपको मल्टीपल डॉक्यूमेंट्स रिटर्न कर रहे हैं। ठीक है? बेसिकली सर्च पेज की तरह कि वन सर्च रिजल्ट इज़ दिस, वन सर्च रिजल्ट इज़ दिस, वन सर्च रिजल्ट इज़ दिस। बट द प्रॉब्लम इज़ कि जरूरी नहीं है कि ये सारे के सारे सर्च रिजल्ट्स यूज़फुल हो आंसर जनरेट करने के लिए। हो सकता है कि उसमें से कुछ एक रिजल्ट्स ही अच्छे हो। तो, यहां पे भी हमें क्या करना पड़ेगा? हमें फिल्टरिंग करनी पड़ेगी और हमें सिर्फ उन रिजल्ट्स को लाना पड़ेगा या खोजना पड़ेगा जो सही हैं आंसर करने के लिए। तो होता क्या है? मैंने जब पेपर को थोड़ा और डीपली पढ़ा तो पता चला कि जब आपके पास वेब सर्च करने के बाद डॉक्यूमेंट्स आते हैं तो आप

55:46 उन डॉक्यूमेंट्स के ऊपर भी रिफाइनमेंट करते हो और सिर्फ रिफाइंड डॉक्यूमेंट्स के ऊपर ही आप जनरेशन करते हो। और यह जो रिफाइनमेंट है यह बिल्कुल वैसा ही होता है जैसे यह वाला रिफाइनमेंट होता है। सो आप वेब डॉक्स को उठाते हो। सबसे पहले उसको स्ट्रिप्स में कन्वर्ट करते हो। फिर एक एलएलएम या फिर T5 जैसे मॉडल के थ्रू फिल्टरिंग करते हो और फिर वापस आप रिकंबाइन कर देते हो इंटू अ कॉन्टेक्स्ट। और वो कॉन्टेक्स्ट कहलाता है नॉलेज एक्सटर्नल जिसके बेसिस पर जनरेशन होता है। तो एसेंशियली हमें यहां पे क्या करना पड़ेगा? हमें वेब सर्च करने के बाद जो डॉक्यूमेंट्स आ रहे हैं उसको रिफाइन के

56:32 पास भेजना पड़ेगा। रिफाइन नोड के पास और फिर रिफाइन से जनरेशन होगा। तो एसेंशियली हमें कुछ इस तरह का आर्किटेक्चर चाहिए। सो ये है करेक्ट, ये है इनकरेक्ट और ये है ए्बगुअस जिसके बारे में हम अभी बात नहीं कर रहे। ठीक है? तो करेक्ट का फंडा क्या था कि जो भी रिट्रेवल से डॉक्यूमेंट आया उनको हमने रिफाइन किया और जनरेट कर दिया। इनकरेक्ट का फंडा क्या होगा कि पहले हम उस क्वेरी को ले जाएंगे और वेब सर्च करेंगे। वेब सर्च से हमें जो नए डॉक्यूमेंट्स मिलेंगे उनको भी हम रिफाइन करेंगे और फिर जनरेट करेंगे। तो एसेंशियली हम थोड़ा सा यहां पे कोड को रीयूज करेंगे। यह जो रिफाइन वाला और जनरेट वाला नड है, इसको हम रीयूज करेंगे। वी डोंट नीड टू राइट वन मोर रिफाइन कोड एंड वन मोर जनरेशन कोड फॉर वेब सर्च। तो, यही

57:18 चीज़ मैंने कोड में इंप्लीमेंट की है। मैं आपको दिखाता हूं। सो, अगेन कोड आपको मोस्टली सिमिलर लगेगा। बिकॉज़ पिछले वाले कोड के ऊपर ही हमने बिल्ड किया है। यहां पे हमने सारी लाइब्रेरीज़ को इंपोर्ट किया। यहां पे डॉक्यूमेंट्स को लोड किया। यहां पे टेक्स्ट स्प्लिटिंग परफॉर्म करी। यहां पे आपके एंबेडिंग्स जनरेट हुए हैं। रिट्रीवर ऑब्जेक्ट बना है। यह हमारा एलएलएम है। यह हमारे थ्रेशहोल्ड्स हैं। स्टेट में बस एक छोटा सा चेंज है। सब कुछ सेम है। बस हमने एक नया की ऐड किया है बाय द नेम ऑफ वेब डॉक्स जहां पे हम वो सारे डॉक्यूमेंट्स स्टोर करेंगे जो हमें वेब से मिल रहे हैं। ठीक है? उसके बाद रिट्रीव करने का जो नोड है वो बिल्कुल सेम है। इवैलुएट करने का जो नड है जो आपको मैंने पिछले कोड में दिखाया वो बिल्कुल सेम है। वही तीन चीजें आप रिटर्न कर रहे हो। गुड आई एम सॉरी वर्डिक्ट करेक्ट, वर्डिक्ट

58:05 इनकरेक्ट एंड वर्डिक्ट ए्बिगुअस। ठीक है? उसके बाद रिफाइन वाला कोड थोड़ा सा चेंज होगा। बिकॉज़ जैसा मैंने आपको बोला अब रिफाइन करने के दो लॉजिक हैं। ऐसा भी हो सकता है कि आपका जो डॉक्यूमेंट है वो करेक्ट के थ्रू आ रहा है। मतलब आपके पास रिट्रीव्ड डॉक्यूमेंट्स हैं। ऐसा भी हो सकता है कि आपके पास वेब डॉक्स आए। तो डिपेंडिंग ऑन दैट हमने क्या किया? यहां पे एक सिंपल सा लॉजिक लगाया है कि अगर वर्डिक्ट करेक्ट है तो हम गुड डॉक्स के ऊपर कॉन्टेक्स्ट बिल्ड कर रहे हैं और अगर इनकरेक्ट है तो हम वेब डॉक्स के ऊपर कर रहे हैं। ठीक है? बाकी सब कुछ लॉजिक बिल्कुल सेम है। ठीक है? फिर ये वाला कोड थोड़ा अलग है। यहां पे हमने एक

58:51 नया नोड बनाया है वेब सर्च करने के लिए। हम टैवली यूज़ कर रहे हैं। टैवली को कैसे यूज़ करना है? मैंने प्रीवियस वीडियो में बनाया था। आपको बताया था आपको एक एपीआई की चाहिए और बाकी का काम बहुत सिंपल है। आपने क्वेश्चन पूछा और टैबली को भेज दिया। टैबली पलट के रिजल्ट्स को लेके आया। हम हर रिजल्ट का टाइटल यूआरएल और कंटेंट को एक्सट्रैक्ट कर रहे हैं और उसको हम डॉक्यूमेंट ऑब्जेक्ट में कन्वर्ट करके स्टेट में स्टोर कर दे रहे हैं। कोई खास यहां पे अ डिफिकल्ट कोड नहीं है। उसके बाद जनरेशन का कोड एग्जैक्टली सेम है जो अभी तक चला आ रहा है। और यहां से हमने फेल वाला नड हटा दिया। बिकॉज़ अब उसकी जगह वेब सर्च वाला नोड आ गया था। एम्बगस वाला नोड अभी भी वैसा ही है। बिकॉज़ वहां पे हमने कुछ भी टच नहीं किया। राउटिंग का लॉजिक भी

59:37 बिल्कुल सेम है अभी तक। यहां पे हमने थोड़े से चेंजज़ किए बिकॉज़ अब आपको अपने वेब सर्च को रिफाइन से कनेक्ट करना है। तो ये वाला चेंज यहां पे है जिसकी वजह से दिस इज़ द ग्राफ दैट यू आर गेटिंग। ठीक है? अब ये देखो अगर मैं क्वेश्चन कर रहा हूं एआई न्यूज़ फ्रॉम द लास्ट मंथ। तो देखो क्या हो रहा है। सबसे पहले तो वर्डिक्ट आ रहा है इनकरेक्ट। रीजन बताया जा रहा है और आउटपुट देखो। अब आउटपुट खाली नहीं है। आउटपुट में बताया जा रहा है कि लास्ट जनवरी में अ नोटेबल एआई न्यूज़ इंक्लूड कि ओपन क्लॉ बोल करके एक नया ओपन सोर्स एआई असिस्टेंट आया है जिसने काफी पॉपुलैरिटी गेन की है गेट पे और इसके अलावा फिजिकल एआई मेड अ स्ट्रांग प्रेजेंस एट सीईएस 2026। सो यू कैन सी कि अब क्या हो रहा है? हमारी क्वेरी के हिसाब से अगर हमें लग रहा है कि हमारा डॉक्यूमेंट्स आंसर नहीं कर सकते तो वी आर गोइंग ऑन टू द वेब फेचिंग आउट

1:00:25 रिजल्ट्स और उन रिजल्ट्स को हम क्या कर रहे हैं? यूज़ कर रहे हैं टू जनरेट द आंसर। तो यू कैन सी नाउ आवर सिस्टम इज़ गेटिंग मोर रोबस्ट। किसी तरह का फौल्ट होने पे भी हम उसको रिजल्ट्स दिखा पा रहे हैं यूजर को। ठीक है? तो ये हो गया हमारा नेक्स्ट इंप्रूवमेंट। गाइज़, अब बात करते हैं अगले इंप्रूवमेंट की। अगला इंप्रूवमेंट एक छोटा इंप्रूवमेंट है। बट पेपर में इसके बारे में बोला गया है कि इट्स अ वेरीेंट इंप्रूवमेंट जो आपको अपने आर्किटेक्चर में यूज करना चाहिए। सो पहले मैं आपको बताता हूं कि ये इंप्रूवमेंट है क्या? इस इंप्रूवमेंट को बुलाया जा रहा है क्वेरी रीाइट। और अगर आप ध्यान से देखोगे स्पेशली यह वाला केस जब क्वेरी इनकरेक्ट है और आपको इंटरनेट पर जाकर सर्च करना पड़ रहा है तो यहां पे आपको एक छोटी सी चीज दिखाई देगी कि जो यूजर ने ओरिजिनल क्वेरी पूछी

1:01:12 थी एक्स वो थी हु वाज़ द स्क्रीन राइटर फॉर डेथ ऑफ अ बैटमैन। आप क्या कर रहे हो? इस यूजर क्वेरी को डायरेक्टली जाके सर्च नहीं कर रहे हो इंटरनेट पे। इंस्टेड आप इस क्वेरी को पहले रीाइट कर रहे हो और इस रीरिटन क्वेरी को आप क्यों बुला रहे हो और इस केस में क्वेरी कुछ ऐसी दिखाई दे रही है डेथ ऑफ अ बैटमैन स्क्रीन राइटर विकपीडिया सो बेसिकली आपने इस चीज को कन्वर्ट कर दिया इंटू दिस अब आप बोलोगे क्या डिफरेंस आया डिफरेंस यह आया कि यह जो क्वेरी है रिटेन क्वेरी दिस इज मोर एप फॉर अ सर्च इंजन सो यूजर की क्वेरी ऐसा हो सकती है कि थोड़ी

1:01:58 वेग हो और अगर आप वेग क्वेरीज को सर्च इंजन पर भेजोगे तो आपको पलट के भी जो रिजल्ट्स मिलेंगे वो उतने अच्छे नहीं मिलेंगे। यहां पे देखो ये चीज मैंने समझाई है। यूजर का क्वेश्चन हो सकता है एलएलएम एंड रीसेंट डेवलपमेंट्स। अब इस तरह की क्वेरी वेग हो सकती है, अंडर स्पेसिफाइड हो सकती है, कीवर्ड्स हो सकता है उसमें मिसिंग हो या फिर टाइम कंस्ट्रेंट्स मिसिंग हो। तो इस तरह की सिचुएशन में क्या करना चाहिए कि आपको थोड़ा सा ज्यादा बेटर क्वेरी भेजना चाहिए सर्च इंजन के पास। बिकॉज़ सर्च इंजन को कुछ इस तरह की क्वेरीज ज्यादा सही लगती हैं। जहां पे हर चीज क्लियरली स्पेसिफाइड है, वेगनेस नहीं है और आपकी कीवर्ड से भरी पड़ी हो क्वेरी। तो फिर आपको ज्यादा रिच रिजल्ट्स मिलते हैं। तो दैट इज व्हाई जो पेपर के ऑथर्स हैं

1:02:45 उन्होंने बोला कि वेब सर्च करने के पहले यूजर की क्वेरी को रीाइट कर दो इंटू अ बेटर क्वेरी। और ये काम करने के लिए आप फिर से एक एलएलएम को यूज़ करते हो। जिसमें इनपुट में आप ओरिजिनल यूजर क्वेरी को भेजते हो। यहां पे आप एक प्र्प्ट डाल देते हो कि भाई इस यूजर क्वेरी को देखो, समझो और इससे बेटर सर्च क्वेरीज़ जनरेट करो। क्यों? और फिर उन सर्च क्वेरीज की हेल्प से टैवली पे जाकर सर्च करो। गेट रिजल्ट्स और फिर उसके बेसिस पर जनरेशन करो। तो सिंपल शब्दों में आपको ना ये छोटा सा चेंज करना है कि जब आप यहां पे इनकरेक्ट वाले पाथ में जा रहे हो तो वेब सर्च करने के पहले यू हैव टू रीराइट योर क्वेरी। दैट्स द ओनली चेंज दैट यू नीड टू डू। और वो मैं

1:03:31 आपको दिखाता हूं कि कोड में कैसे करना है। सो इस इंप्रूवमेंट के लिए भी मैंने एक नई फाइल बना ली है। अगेन कोड आपको बहुत फ़मिलियर लगेगा। बिकॉज़ पिछले वाले के ऊपर ही हमने बिल्ड अप किया है। यहां पे हमने लाइब्रेरीज़ को इंपोर्ट किया। यहां पे डॉक्यूमेंट्स को लोड किया। यहां पे हमने किया है चंकिंग एज़ इन टेक्स्ट स्प्लिटिंग। यहां पे हमने बनाया अपना अ वेक्टर डेटाबेस और हमारा रिट्रीवर ऑब्जेक्ट। यहां पे हमने अपना एलएलएम क्रिएट किया। यहां पे हमारे थ्रेशहोल्ड्स हैं। बिल्कुल सेम। यहां पे हमारा स्टेट है व्हिच इज़ अगेन ऑलमोस्ट सेम। बस एक नई चीज़ हमने ऐड की है वेब क्वेरी बोल के जिसमें हम रिवाइज्ड क्वेरी को स्टोर करेंगे। ठीक है? उसके बाद आता है रिट्रीव वाला नोड जो कि बिल्कुल सेम है। उसके बाद आता है इवैल्यूएशन वाला नोड वि इज अगेन बिल्कुल सेम। उसके बाद आता है

1:04:16 आपका ये रिफाइन वाला नोड व्हिच इज़ अगेन सेम डिपेंडिंग ऑन द वर्डिक्ट। या तो आप गुड डॉक्स भेज रहे हो या तो आप वेब भेज रहे हो। बाकी सब कुछ बिल्कुल सेम है। यहां पे आता है मेन चेंज जहां पे आपने टैवली वाला कोड लिखा था। अब टैवली वाले कोड के पहले हम क्या कर रहे हैं? एक दूसरा नोड ऐड कर रहे हैं रीाइट क्वेरी नोड। ठीक है? अब इस रीराइट क्वेरी नोड में हमने एक पाइडेंटिक स्कीमा बनाया क्वेरी बोल के एक सिस्टम प्र्प लिखा दैट यू आर अ वेब सर्च क्वेरी कंपोजर और ये रूल्स फॉलो करने हैं। कीप इट शॉर्ट इफ अ क्वेश्चन इंप्ल्लाई रीसेंसी तो फिर उसमें ऐड कर दो कंस्ट्रेंट्स लाइक लास्ट 30 डेज। डू नॉट आंसर द क्वेश्चन रिटर्न जेस ऑन विथ अ सिंगल क्वेरी क्वेरी। ठीक

1:05:03 है? और यहां पे हमने अपना क्वेश्चन ऐड कर दिया जो ओरिजिनल यूजर की क्वेरी थी। और यहां पे हमने अपना चेन क्रिएट कर लिया। यहां पे हमने उस चेन को अपना यूजर का क्वेश्चन दे दिया। यहां पे हमें अपनी वेब क्वेरी मिल गई। उस वेब क्वेरी को हमने स्टेट में स्टोर कर लिया। अब बस यहां पे टैबली वाले कोड में सब कुछ सेम है। देयर इज़ ओनली वन डिफरेंस कि जो क्वेश्चन अब हम पूछ रहे हैं टैबली से वो वेब क्वेरी है रादर दैन द ओरिजिनल यूजर क्वरी। दैट्स द ओनली डिफरेंस। और उसके बाद जनरेशन वाला कोड बिल्कुल सेम है। ए्बिगुएस नोड का कोड है। यह राउट करने का कोड है। बिल्कुल सेम। पिछली बार जैसा ग्राफ का स्ट्रक्चर ऑलमोस्ट सेम है। देयर इज़ ओनली वन डिफरेंस। वेब सर्च के पहले रीाइट क्वेरी वाला नोड आ गया। दैट्स इट। जिसकी वजह से दिस इज़ हाउ आवर ग्राफ लुक्स लाइक। ठीक है? अब मैं

1:05:50 आपको दिखाता हूं चेंज क्या आया। मान लो हमने यह पूछा रीसेंट एआई न्यूज़। यह बहुत यूजर टाइप की क्वेरी है। बहुत ज्यादा इसमें इंफॉर्मेशन नहीं डाला है यूजर ने। बस क्विकली उसको आंसर चाहिए। ऐसी क्वेरी अगर आप भेजोगे अ टैवली के पास तो आपको उतने अच्छे रिजल्ट्स नहीं आएंगे। बट जब मैंने इसको चलाया यू कैन सी स्टिल रिजल्ट्स अच्छे आए। और जब मैंने वेब क्वेरी को रन किया तो देखो दिस वाज़ द वेब क्वेरी रीसेंट एआई न्यूज़ लास्ट 30 डज़। तो ये हमारे एलएलएम का इंटेलिजेंस था कि उसने समझा कि इस क्वेरी में एक पीरियड डिफाइन करने से ज्यादा अच्छे रिजल्ट्स आएंगे और उसने किया भी। ये हमारी ओरिजिनल क्वेरी का पार्ट नहीं था। ठीक है? तो दिस इज़ द स्टेप। हालांकि मैंने जितना एक्सपेरिमेंट किया है बहुत ज्यादा सिचुएशंस में आपको

1:06:37 बहुत ज्यादा हेल्प नहीं करता है। बट सिंस ऑथर्स ने प्रेस किया कि ये चीज भी होनी चाहिए आर्किटेक्चर में। और मैं चाहता हूं यह वीडियो बहुत क्लोज रहे ओरिजिनल पेपर के। दैट इज़ व्हाई मैंने इंप्लीमेंट करके दिखा दिया क्योंकि खुद में बहुत ऐसा मुश्किल फीचर नहीं है। यू जस्ट नीड अ एलएलएम एंड यू जस्ट वांट टू रीराइट द ओरिजिनल यूजर क्वेरी टू अ सर्च इंजन अ के हिसाब से ऑप्टिमाइज्ड क्वेरी। तो दिस इज़ इट। और अब वी आर क्वाइट क्लोज टू द ओरिजिनल आर्किटेक्चर ऑफ़ द पेपर। अब बस हमें एक लास्ट चीज़ करनी है और हमें क्या करना है? हमें यह ए्बिगुअस वाला जो पाथ है यह डिफाइन करना है। यह बनाना है। तो उसके बाद हमारा आर्किटेक्चर कंप्लीट हो जाएगा। सो अगर हम ए्बिगुअस वाले केस की बात करें तो ए्बगुअस वाले केस में क्या हो रहा है कि हमारे पास रिट्रीवल से मल्टीपल

1:07:25 डॉक्यूमेंट्स रिटर्न हो रहे हैं। मान लो D1, D2, D3 रिटर्न हुआ। अब इनमें से कोई भी डॉक्यूमेंट ऐसा नहीं है कि उसका इवैल्यूएशन स्कोर7 से ज्यादा हो। मतलब इन तीनों का ही डॉक्यूमेंट्स इवैल्यूएशन स्कोर इज लेस देन7 बट एट द सेम टाइम यह भी कंडीशन ट्रू है कि इनमें से सारे के सारे डॉक्यूमेंट्स थ्री से ज्यादा स्कोर कर रहे हैं। तो इसको हम मानते हैं ए्बगुस वाला केस व्हिच बेसिकली मींस कि यह जो डॉक्यूमेंट्स रिट्रीव हो के आए हैं ये कंप्लीटली ऑन देयर ओन कैन नॉट जस्टिफाई द क्वेरी दैट क्वेश्चन यूजर हैज़ आस्क्ड। यूजर की क्वेरी को कंप्लीटली आंसर नहीं कर सकते। बट एट द सेम टाइम इतने वीक भी नहीं

1:08:11 है कि आप उनको कंप्लीटली इग्नोर कर दो। तो इस केस में ऑथर्स ने क्या प्रपोज किया कि हम इन डॉक्यूमेंट्स को तो रख लेंगे बट एट द सेम टाइम वी विल आल्सो डू वेब सर्च और वेब सर्च से जो डॉक्यूमेंट्स आएंगे उनको और रखे हुए डॉक्यूमेंट्स को मर्ज करके हम एक नया कॉन्टेक्स्ट क्रिएट करेंगे और उस नए कॉन्टेक्स्ट से जनरेशन होगा। दैट्स द आईडिया बिहाइंड ए्बगुस। आपके रिट्रीव डॉक्यूमेंट्स को भी आप यूज करोगे एटलीस्ट वो सारे डॉक्यूमेंट्स जो कि गुड डॉग्स हैं 3 से ज्यादा स्कोर करते हैं और एट द सेम टाइम आप वेब सर्च भी करके लाओगे सबको मिलाकर के एक बड़ा सा

1:08:56 कॉन्टेक्स्ट बनाओगे और उस कॉन्टेक्स्ट के बेसिस पे फिर आंसर जनरेट करोगे। ठीक है? तो इस केस में हम क्या करेंगे? हम एक स्मार्ट तरीका यूज़ करेंगे। लैंग्राफ में जो स्टेट का कांसेप्ट है उसको हम लोग इंटेलिजेंटली यूज़ करेंगे। सो अगर आपको याद होगा अभी तक हमारा जो ग्राफ था वो कुछ ऐसा दिखाई दे रहा था। दिस वास द थर्ड ब्रांच। अब हम क्या करेंगे? इस थर्ड ब्रांच को कंप्लीटली एलिमिनेट कर देंगे। ठीक है? ये एम्ब्यूस वाला पार्ट रहेगा ही नहीं। तो अब आप सोचोगे कि थर्ड केस फिर हैंडल कैसे होगा? तो यहीं पे आता है स्टेट को यूज़ करने का फायदा। हम क्या करेंगे? हम सिंपली दो केसेस रखेंगे। एक केस होगा करेक्ट वाले के लिए और यह दूसरा केस होगा इनकरेक्ट के लिए भी एंड एंबगुस के लिए भी।

1:09:46 ठीक है? सो अगर करेक्ट है मतलब एटलीस्ट एक डॉक्यूमेंट7 से ज्यादा है तो ये वाला पाथ हम फॉलो करेंगे, रिफाइन करेंगे, जनरेट कर देंगे आंसर। इनकरेक्ट है तो क्या करेंगे? हम क्वेरी को रीाइट करेंगे, वेब से सर्च करेंगे, वेब डॉक्स को लेके आएंगे, रिफाइन करेंगे, जनरेट करेंगे। अगर ए्बगुअस है तो हम क्या करेंगे कि हम इवैलुएट करेंगे। हमें पता चला एम्बिगुअस है। क्वेरी को रीाइट करेंगे, वेब डॉक्स को लेके आएंगे। तो हमारे पास वेब डॉक्स आ गए हैं। बट सोच के देखो यहां पर ऊपर ही हमारे पास गुड डॉक्स भी तो आ गए हैं। तो अब हम क्या करेंगे? रिफाइन करने के प्रोसेस में हम सिर्फ गुड डॉक्स या फिर सिर्फ वेब डॉक्स के ऊपर काम ना करके गुड डॉक्स प्लस वेब

1:10:33 डॉक्स के ऊपर काम करेंगे इस रिफाइन वाले स्टेज में और फिर मिला के जो कॉन्टेक्स्ट आएगा उससे हम जनरेशन करेंगे। दैट्स द मेन आईडिया। तो जो पूरा का पूरा मैजिक है वो सिर्फ और सिर्फ रिफाइन वाले नोड में है। मैं आपको कोड में दिखाता हूं। देखो कोड बहुत सिंपल है। यहां पर हमने लाइब्रेरीज इंपोर्ट कर ली। डॉक्यूमेंट्स को लोड कर लिया, टेक्स्ट स्प्लिटिंग कर लिया, वेक्टर डेटाबेस बना लिया। रिट्रीवर ऑब्जेक्ट बना लिया। एलएलएम को लोड कर लिया। थ्रेशहोल्ड्स डिफाइन कर लिए। स्टेट में कुछ भी नया नहीं है। जो पिछले कोड में था सेम टू सेम वही रहेगा। रिट्रीव का कोड बिल्कुल सेम रहेगा। इवैल्यूएशन का कोड बिल्कुल सेम रहेगा। डिफरेंस आएगा बस रिफाइन वाले कोड में। और वो भी डिफरेंस क्या आएगा? ये देखो। पहले हम क्या कर रहे थे? अगर वर्डिक्ट करेक्ट

1:11:19 था तो गुड डॉक्स को यूज कर रहे थे। अगर इनकरेक्ट था तो वेब डॉक्स को यूज कर रहे थे। बट अब एक थर्ड केस आ गया ए्बगुस वाला। उस केस में हम गुड डॉक्स प्लस वेब डॉक्स दोनों को यूज़ करेंगे। ठीक है? और दोनों को मिलाने से जो कॉन्टेक्स्ट बनेगा उसके ऊपर हम पूरा का पूरा काम करेंगे। उसको डीकंपोज़ करेंगे। उसको फिल्टर करेंगे और उसके बेसिस पे रिफाइंड कॉन्टेक्स्ट बनेगा। दैट्स द ओनली डिफरेंस। ठीक है? उसके बाद आगे वेब क्वरी यहां पर हम रीाइट कर रहे हैं। यह कोड बिल्कुल सेम है। उसके बाद टैवली सर्च परफॉर्म कर रहे हैं। वो भी बिल्कुल सेम है। जनरेट करने का कोड बिल्कुल सेम है। बस यहां पे अब आप देखो हमने ए्बगुअस वाला नोड कंप्लीटली हटा दिया। और यहां पे राउटिंग लॉजिक थोड़ा सा चेंज कर दिया। लॉजिक क्या

1:12:06 बना दिया? अगर वर्डिक्ट करेक्ट है तो रिफाइन में सीधे चले जाओ। अगर दोनों में से इस करेक्ट के अलावा अगर दोनों केसेस हैं या या तो इनकरेक्ट है या फिर ए्बिगुअस है उस केस में आप रीराइट क्वरी पे चले जाओ इसके पास ठीक है और दैट्स इट उसी के हिसाब से हमने आगे का ग्राफ पूरा डिफाइन कर दिया एंड वी आर गुड टू गो राइट अब ये देखो एग्जांपल मैंने सर्च किया बैच नॉर्मलाइजेशन वर्सेस लेयर नॉर्मलाइजेशन जितना मुझे पता है जो तीन बुक्स हमारे पास हैं उसमें बैच नॉर्मलाइजेशन डिफाइंड है आई एम सॉरी अ या बैच नॉर्मलाइजेशन डिफाइंड है। लेयर नॉर्मलाइजेशन डिफाइंड नहीं है। ठीक है? तो जब मैंने इसको क्वेरी को रन किया तो वर्डिक्ट आया एम्बिगुअस। रीज़न क्या था? नो चंक्स स्कोर्ड 7 बट ऑल वर

1:12:54 अ ये रीज़न थोड़ा गलत लिखा हुआ है। बेसिकली ये फंडा है कि कोई भी 7 से ज्यादा नहीं था

…

Share

YouTube Video Summaries