|
import gradio as gr |
|
import os |
|
from langchain.retrievers import EnsembleRetriever |
|
from utils import * |
|
import requests |
|
from pyvi import ViTokenizer, ViPosTagger |
|
import time |
|
from transformers import AutoTokenizer, AutoModelForQuestionAnswering |
|
import torch |
|
|
|
retriever = load_the_embedding_retrieve(is_ready=False, k=3) |
|
bm25_retriever = load_the_bm25_retrieve(k=3) |
|
|
|
ensemble_retriever = EnsembleRetriever( |
|
retrievers=[bm25_retriever, retriever], weights=[0.5, 0.5] |
|
) |
|
|
|
|
|
|
|
def greet2(quote): |
|
|
|
qa_chain = get_qachain(retriever=ensemble_retriever) |
|
|
|
prompt = os.environ['PROMPT'] |
|
|
|
qa_chain.combine_documents_chain.llm_chain.prompt.messages[0].prompt.template = prompt |
|
|
|
llm_response = qa_chain(quote) |
|
|
|
return llm_response['result'] |
|
|
|
|
|
if __name__ == "__main__": |
|
quote = "Địa chỉ nhà trường?" |
|
|
|
iface = gr.Interface(fn=greet2, inputs="text", outputs="text") |
|
iface.launch() |
|
|