hf-qa-demo / app.py
KonradSzafer's picture
initial commit
c69cba4
import gradio as gr
from qa_engine import logger, Config, QAEngine
config = Config()
model = QAEngine(
llm_model_id=config.question_answering_model_id,
embedding_model_id=config.embedding_model_id,
index_repo_id=config.index_repo_id,
prompt_template=config.prompt_template,
use_docs_for_context=config.use_docs_for_context,
add_sources_to_response=config.add_sources_to_response,
use_messages_for_context=config.use_messages_in_context,
debug=config.debug
)
with gr.Blocks() as demo:
chatbot = gr.Chatbot()
msg = gr.Textbox()
clear = gr.ClearButton([msg, chatbot])
def respond(message, chat_history):
context = ''.join(f'User: {msg} \nBot:{bot_msg}\n' for msg, bot_msg in chat_history)
logger.info(f'Context: {context}')
response = model.get_response(message, context)
bot_message = response.get_answer() + response.get_sources_as_text() + '\n'
chat_history.append((message, bot_message))
return '', chat_history
msg.submit(respond, [msg, chatbot], [msg, chatbot])
demo.launch(share=True)