Spaces:
Runtime error
Runtime error
# Author: Bastien | |
# Date: 5/3/2024 | |
# Project: RAG-RESEARCH-PROJECT | BSc Computer Science - Semester 6 | |
import os | |
os.system("pip install --upgrade pip") | |
#os.system("pip install faiss-cpu") | |
#os.system("pip install transformers") | |
#os.system("pip install torch") | |
# Import of required libraries | |
from transformers import pipeline | |
from rag_functions import construct_prompt, encode_query, generate_response, clean_output_text, build_index, retrieve_documents, prompt_model | |
import gradio as gr | |
import pandas as pd | |
import os | |
import faiss | |
import torch | |
import time | |
preprocessed_docs_path = './preprocessed_docs.csv' | |
embeddings_path = './embeddings.pt' | |
index_path = './faiss_index' | |
# Load the Pre-processed docs from CSV | |
preprocessed_docs = pd.read_csv(preprocessed_docs_path) | |
# Load embeddings | |
doc_embeddings = torch.load(embeddings_path) | |
# Load FAISS index | |
index = faiss.read_index(index_path) | |
# Define a Gradio interface | |
def chat_interface(question, history_df): | |
response = prompt_model(question, index, preprocessed_docs) | |
# Insert the new question and response at the beginning of the DataFrame | |
history_df = pd.concat([pd.DataFrame({"Question": [question], "Answer": [response]}), history_df], ignore_index=True) | |
return response, history_df | |
with gr.Blocks() as demo: | |
with gr.Row(): | |
question = gr.Textbox(label="Your Question", placeholder="Type Here...") | |
submit_btn = gr.Button("Ask") | |
response = gr.Textbox(label="Answer", interactive=False) | |
# Initialize an empty DataFrame to keep track of question-answer history | |
history_display = gr.Dataframe(headers=["Question", "Answer"], value=[], interactive=False) | |
submit_btn.click(fn=chat_interface, inputs=[question, history_display], outputs=[response, history_display]) | |
if __name__ == "__main__": | |
demo.launch() |