Source code for langchain.evaluation.qa.generate_chain
"""LLM Chain for generating examples for question answering."""from__future__importannotationsfromtypingimportAnyfromlangchain_core.language_modelsimportBaseLanguageModelfromlangchain_core.output_parsersimportBaseLLMOutputParserfrompydanticimportFieldfromlangchain.chains.llmimportLLMChainfromlangchain.evaluation.qa.generate_promptimportPROMPTfromlangchain.output_parsers.regeximportRegexParser_QA_OUTPUT_PARSER=RegexParser(regex=r"QUESTION: (.*?)\n+ANSWER: (.*)",output_keys=["query","answer"])
[docs]classQAGenerateChain(LLMChain):"""LLM Chain for generating examples for question answering."""output_parser:BaseLLMOutputParser=Field(default=_QA_OUTPUT_PARSER)output_key:str="qa_pairs"@classmethoddefis_lc_serializable(cls)->bool:returnFalse
[docs]@classmethoddeffrom_llm(cls,llm:BaseLanguageModel,**kwargs:Any)->QAGenerateChain:"""Load QA Generate Chain from LLM."""returncls(llm=llm,prompt=PROMPT,**kwargs)