
    Ah                        S r SSKJr  SSKJr  SSKJr  SSKJr  SSK	J
r
  SSKJr  SSKJr  SS	KJr  \" S
SS/S9r " S S\5      rg)9LLM Chain for generating examples for question answering.    )annotations)Any)BaseLanguageModel)BaseLLMOutputParser)Field)LLMChainPROMPT)RegexParserzQUESTION: (.*?)\n+ANSWER: (.*)queryanswer)regexoutput_keysc                  f    \ rS rSr% Sr\" \S9rS\S'   Sr	S\S'   \
SS	 j5       r\
SS
 j5       rSrg)QAGenerateChain   r   )defaultr   output_parserqa_pairsstr
output_keyc                    g)NF )clss    ^/var/www/html/shao/venv/lib/python3.13/site-packages/langchain/evaluation/qa/generate_chain.pyis_lc_serializable"QAGenerateChain.is_lc_serializable   s        c                     U " SU[         S.UD6$ )z Load QA Generate Chain from LLM.)llmpromptr   r
   )r   r!   kwargss      r   from_llmQAGenerateChain.from_llm   s     4s64V44r   r   N)returnbool)r!   r   r#   r   r&   r   )__name__
__module____qualname____firstlineno____doc__r   _QA_OUTPUT_PARSERr   __annotations__r   classmethodr   r$   __static_attributes__r   r   r   r   r      sF    C).7H)IM&I J   5 5r   r   N)r,   
__future__r   typingr   langchain_core.language_modelsr   langchain_core.output_parsersr   pydanticr   langchain.chains.llmr	   'langchain.evaluation.qa.generate_promptr   langchain.output_parsers.regexr   r-   r   r   r   r   <module>r9      sB    ? "  < =  ) : 6
+(# 5h 5r   