import gradio as gr from transformers import pipeline import PyPDF2 # Load the model chatbot = pipeline("text-generation", model="facebook/blenderbot-400M-distill") # Function to read PDF def read_pdf(file_path): with open(file_path, "rb") as file: reader = PyPDF2.PdfReader(file) text = "\n".join([page.extract_text() for page in reader.pages if page.extract_text()]) return text # Load syllabus syllabus_text = read_pdf("syllabus.pdf") print("Syllabus Loaded Successfully!") def chat_response(message): if "syllabus" in message.lower(): # Check if user asks about syllabus return syllabus_text[:1000] + "...\n\n(Syllabus trimmed, ask for specific topics.)" else: response = chatbot(message, max_length=100, do_sample=True) return response[0]['generated_text'] # Create Gradio interface iface = gr.Interface(fn=chat_response, inputs="text", outputs="text", title="Bit GPT 0.2.8") # Launch app iface.launch()