a
    ag                     @  s   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 ed
ddgdZG dd deZdS )9LLM Chain for generating examples for question answering.    )annotations)Any)BaseLanguageModel)BaseLLMOutputParser)Field)LLMChainPROMPT)RegexParserzQUESTION: (.*?)\n+ANSWER: (.*)queryZanswer)regexZoutput_keysc                   @  sX   e Zd ZU dZeedZded< dZded< e	dd	d
dZ
e	ddd dddZdS )QAGenerateChainr   )defaultr   output_parserZqa_pairsstr
output_keybool)returnc                 C  s   dS )NF )clsr   r   t/var/www/html/cobodadashboardai.evdpl.com/venv/lib/python3.9/site-packages/langchain/evaluation/qa/generate_chain.pyis_lc_serializable   s    z"QAGenerateChain.is_lc_serializabler   r   )llmkwargsr   c                 K  s   | f |t d|S )z Load QA Generate Chain from LLM.)r   promptr	   )r   r   r   r   r   r   from_llm   s    zQAGenerateChain.from_llmN)__name__
__module____qualname____doc__r   _QA_OUTPUT_PARSERr   __annotations__r   classmethodr   r   r   r   r   r   r      s   
r   N)r    
__future__r   typingr   Zlangchain_core.language_modelsr   Zlangchain_core.output_parsersr   Zpydanticr   Zlangchain.chains.llmr   Z'langchain.evaluation.qa.generate_promptr
   Zlangchain.output_parsers.regexr   r!   r   r   r   r   r   <module>   s   