Ë
    iÕh  ã                  ó–   — 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¬«      Z G d„ de«      Zy)ú9LLM Chain for generating examples for question answering.é    )Úannotations)ÚAny)ÚBaseLanguageModel)ÚBaseLLMOutputParser)ÚField)ÚLLMChain©ÚPROMPT)ÚRegexParserzQUESTION: (.*?)\n+ANSWER: (.*)ÚqueryÚanswer)ÚregexÚoutput_keysc                  ó`   — e Zd ZU dZ ee¬«      Zded<   dZded<   e	dd„«       Z
e	dd	„«       Zy
)ÚQAGenerateChainr   )Údefaultr   Úoutput_parserÚqa_pairsÚstrÚ
output_keyc                 ó   — y)NF© )Úclss    úd/var/www/html/dev/engine/venv/lib/python3.12/site-packages/langchain/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   € ñ Ð4s¤6Ñ4¨VÑ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      sF   … ÙCá).Ð7HÔ)I€MÐ&Ó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>r4      sA   ðÙ ?å "å å <Ý =Ý å )Ý :Ý 6áØ
+¸'À8Ð9LôÐ ô
5hõ 5r   