text: = qa_chain({"question": question})result{'question': 'What are the approaches to Task Decomposition?', 'answer': 'The approaches to Task Decomposition include (1) using LLM with simple prompting, (2) using task-specific instructions, and (3) incorporating human inputs.\n', 'sources': 'https://lilianweng.github.io/posts/2023-06-23-agent/'}3.2.5 Customizing retrieved docs in the LLM promptâ€‹Retrieved documents can be fed to an LLM for answer distillation in a few different ways.stuff, refine, map-reduce, and map-rerank chains for passing documents to an LLM prompt are well summarized here.stuff is commonly used because it simply "stuffs" all retrieved documents into the prompt.The load_qa_chain is an easy way to pass documents to an LLM using these various approaches (e.g., see chain_type).from langchain.chains.question_answering import load_qa_chainchain = load_qa_chain(llm, chain_type="stuff")chain({"input_documents": unique_docs, "question": question},return_only_outputs=True){'output_text': 'The approaches to task decomposition include (1) using simple prompting to break down tasks into subgoals, (2) providing task-specific instructions to guide the decomposition process, and (3) incorporating human inputs for task decomposition.'}We can also pass the chain_type to RetrievalQA.qa_chain = RetrievalQA.from_chain_type(llm,retriever=vectorstore.as_retriever(),                                       chain_type="stuff")result = qa_chain({"query": question})In summary, the user can choose the desired level of abstraction for QA:4.