# -*- coding: utf-8 -*- """ml-app.ipynb Automatically generated by Colab. Original file is located at https://colab.research.google.com/drive/1d6MSh5DMmENGXOTWdwsTlwgIqzphq4Pu """ !pip install gradio import gradio as gr from transformers import pipeline import re import nltk nltk.download('punkt') !pip install unidecode from unidecode import unidecode # Preprocessing function: lowercasing and removing special characters def preprocess_text(text): text = text.lower() text = unidecode(text) text = re.sub(r'\W+', ' ', text) # Remove non-word characters tokens = nltk.word_tokenize(text) return ' '.join(tokens) # Returning as a single string instead of tokens for the context # Load the multilingual model for question answering qa_model = pipeline("question-answering", model="deepset/xlm-roberta-large-squad2") # Function to generate the answer based on question and uploaded context def answer_question(question, context): try: preprocessed_context = preprocess_text(context) result = qa_model(question=question, context=preprocessed_context) return result['answer'] except Exception as e: return f"Error: {str(e)}" # Gradio interface def qa_app(text_file, question): try: with open(text_file.name, 'r') as file: context = file.read() return answer_question(question, context) except Exception as e: return f"Error reading file: {str(e)}" # Create Gradio interface with updated syntax iface = gr.Interface( fn=qa_app, # The function that processes input inputs=[gr.File(label="Upload your text file"), gr.Textbox(label="Enter your question")], outputs="text", title="Multilingual Question Answering", description="Upload a text file and ask a question based on its content." ) # Launch the Gradio app iface.launch()