
    3fi]                        d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
 ddlmZ ddlmZ dd	lmZ dd
lmZ  edddg      Z G d de      Zy)9LLM Chain for generating examples for question answering.    )annotations)Any)BaseLanguageModel)BaseLLMOutputParser)Field)override)LLMChainPROMPT)RegexParserzQUESTION: (.*?)\n+ANSWER: (.*)queryanswer)regexoutput_keysc                  j    e Zd ZU dZ ee      Zded<   dZded<   e	e
dd              Ze	dd	       Zy
)QAGenerateChainr   )defaultr   output_parserqa_pairsstr
output_keyc                     y)NF )clss    l/var/www/auto_recruiter/arenv/lib/python3.12/site-packages/langchain_classic/evaluation/qa/generate_chain.pyis_lc_serializablez"QAGenerateChain.is_lc_serializable   s         c                      | d|t         d|S )z Load QA Generate Chain from LLM.)llmpromptr   r   )r   r    kwargss      r   from_llmzQAGenerateChain.from_llm!   s     4s64V44r   N)returnbool)r    r   r"   r   r$   r   )__name__
__module____qualname____doc__r   _QA_OUTPUT_PARSERr   __annotations__r   classmethodr	   r   r#   r   r   r   r   r      sN    C).7H)IM&I J    5 5r   r   N)r)   
__future__r   typingr   langchain_core.language_modelsr   langchain_core.output_parsersr   pydanticr   typing_extensionsr	   langchain_classic.chains.llmr
   /langchain_classic.evaluation.qa.generate_promptr   &langchain_classic.output_parsers.regexr   r*   r   r   r   r   <module>r6      sE    ? "  < =  & 1 B >
+(# 5h 5r   