Spaces:
Runtime error
Runtime error
import streamlit as st | |
from transformers import pipeline | |
from langchain_community.llms import HuggingFacePipeline | |
from langchain.prompts import PromptTemplate | |
from langchain.chains import LLMChain | |
from huggingface_hub import login | |
from dotenv import load_dotenv | |
import os | |
from utils import detect_language, translate_to_english, estimate_cefr_ilr | |
load_dotenv() | |
login(token=os.getenv("HF_API_KEY")) | |
st.set_page_config(page_title="Multilingual Text Analyzer", layout="centered") | |
st.title("Multilingual Text Analyzer") | |
st.caption("Developed by Dr. Tabine") | |
summarization_model = pipeline("summarization", model="facebook/bart-large-cnn", device=0) | |
qa_model = pipeline("question-answering", model="deepset/roberta-base-squad2", device=0) | |
summarizer = HuggingFacePipeline(pipeline=summarization_model) | |
qa_llm = HuggingFacePipeline(pipeline=qa_model) | |
summary_prompt = PromptTemplate.from_template("Summarize this:\n{text}") | |
qa_prompt = PromptTemplate.from_template("Answer the question:\nContext: {context}\nQuestion: {question}") | |
summary_chain = LLMChain(llm=summarizer, prompt=summary_prompt) | |
qa_chain = LLMChain(llm=qa_llm, prompt=qa_prompt) | |
text = st.text_area("Enter your text (any language):", height=250) | |
if text: | |
src_lang = detect_language(text) | |
st.markdown(f"**Detected Language:** {src_lang.upper()}") | |
english_text = translate_to_english(text, src_lang) | |
st.markdown("**Translated Text:**") | |
st.write(english_text) | |
summary = summary_chain.run(text=english_text) | |
st.markdown("**Summary:**") | |
st.write(summary) | |
level, justification = estimate_cefr_ilr(english_text) | |
st.markdown(f"**Estimated CEFR / ILR Level:** {level}") | |
st.markdown(f"**Justification:** {justification}") | |
question = st.text_input("Ask a question about the text:") | |
if question: | |
answer = qa_chain.run(context=summary, question=question) | |
st.markdown("**Answer:**") | |
st.write(answer) | |