RAG chain बनाना
अब अपने RAG workflow के सभी कंपोनेंट्स को एक साथ जोड़ते हैं! आपने डॉक्यूमेंट्स तैयार किए और उन्हें रिट्रीवल के लिए Chroma डेटाबेस में इनजेस्ट किया। आपने एक prompt template बनाया है जो अकादमिक पेपर से रिट्रीव किए गए chunks को शामिल करता है और सवालों के जवाब देता है.
पिछले अभ्यास में बनाया गया prompt template prompt_template नाम से उपलब्ध है, एक OpenAI मॉडल llm के रूप में इनिशियलाइज़ किया गया है, और आपके retriever को फिर से बनाने का कोड स्क्रिप्ट में शामिल कर दिया गया है.
यह अभ्यास पाठ्यक्रम का हिस्सा है
LangChain के साथ LLM एप्लिकेशन विकसित करना
अभ्यास निर्देश
- पाइप ऑपरेटर (
|) का उपयोग करकेretriever,prompt_template, औरllmको क्रम में जोड़ते हुए एक LCEL chain बनाएँ। - chain में retriever को
"context"से और यूज़र इनपुट को"question"से map करें। - दिए गए प्रश्न पर
.invoke()मेथड का उपयोग करके chain को invoke करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
vectorstore = Chroma.from_documents(
docs,
embedding=OpenAIEmbeddings(api_key='', model='text-embedding-3-small'),
persist_directory=os.getcwd()
)
retriever = vectorstore.as_retriever(
search_type="similarity",
search_kwargs={"k": 3}
)
# Create a chain to link retriever, prompt_template, and llm
rag_chain = ({"context": ____, "question": ____}
| prompt_template
| llm)
# Invoke the chain
response = rag_chain.____("Which popular LLMs were considered in the paper?")
print(response.content)