leo-pasi's picture
change directory for app.py script, corrected typo
17dd64f
raw
history blame
1.99 kB
import gradio as gr
from src.mythesis_chatbot.rag_setup import (
SupportedRags,
automerging_retrieval_setup,
basic_rag_setup,
sentence_window_retrieval_setup,
)
input_file = "./data/Master_Thesis.pdf"
save_dir = "./data/indices/"
automerging_engine = automerging_retrieval_setup(
input_file=input_file,
save_dir=save_dir,
llm_openai_model="gpt-4o-mini",
embed_model="BAAI/bge-small-en-v1.5",
chunk_sizes=[2048, 512, 128],
similarity_top_k=6,
rerank_model="cross-encoder/ms-marco-MiniLM-L-2-v2",
rerank_top_n=2,
)
sentence_window_engine = sentence_window_retrieval_setup(
input_file=input_file,
save_dir=save_dir,
llm_openai_model="gpt-4o-mini",
embed_model="BAAI/bge-small-en-v1.5",
sentence_window_size=3,
similarity_top_k=6,
rerank_model="cross-encoder/ms-marco-MiniLM-L-2-v2",
rerank_top_n=2,
)
basic_engine = basic_rag_setup(
input_file=input_file,
save_dir=save_dir,
llm_openai_model="gpt-4o-mini",
embed_model="BAAI/bge-small-en-v1.5",
similarity_top_k=6,
rerank_model="cross-encoder/ms-marco-MiniLM-L-2-v2",
rerank_top_n=2,
)
def chat_bot(query: str, rag_mode: SupportedRags) -> str:
if rag_mode == "basic":
return basic_engine.query(query).response
if rag_mode == "auto-merging retrieval":
return automerging_engine.query(query).response
if rag_mode == "sentence window retrieval":
return sentence_window_engine.query(query).response
default_message = (
"Ask a about a topic that is discussed in my master thesis."
" E.g., what is epistemic uncertainty?"
)
gradio_app = gr.Interface(
fn=chat_bot,
inputs=[
gr.Textbox(placeholder=default_message),
gr.Dropdown(
choices=["basic", "sentence window retrieval", "auto-merging retrieval"],
label="RAG mode",
value="basic",
),
],
outputs=["text"],
)
if __name__ == "__main__":
gradio_app.launch()