import time import logging logger = logging.getLogger(__name__) from reggpt.chains.llmChain import get_general_qa_chain from reggpt.output_parsers.output_parser import general_qa_chain_output_parser from reggpt.configs.model import GENERAL_QA_MODEL_TYPE general_qa_model_type=GENERAL_QA_MODEL_TYPE general_qa_chain= get_general_qa_chain(general_qa_model_type) def run_general_qa_chain(query): try: logger.info(f"run_general_qa_chain : Question: {query}") # Get the answer from the chain start = time.time() res = general_qa_chain.invoke(query) end = time.time() # log the result logger.info(f"Answer (took {round(end - start, 2)} s.) \n: {res}") return general_qa_chain_output_parser(res) except Exception as e: logger.exception(e) raise e