File size: 1,881 Bytes
cc92c69
 
927ee68
cc92c69
927ee68
 
 
 
65d1df8
927ee68
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
cc92c69
 
927ee68
cc92c69
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import streamlit as st
from transformers import pipeline
import string

st.set_page_config(page_title="RLM-Translator", page_icon="🍕", layout="wide", initial_sidebar_state="collapsed")

@st.cache_resource
def load_model():
    return pipeline(model="rudrashah/RLM-hinglish-translator")

pipe = load_model()

def check_sentence_end(sentence):
    last_char = sentence[-1]
    if last_char in string.punctuation:
        return sentence
    else:
        return sentence + "."

def model_rlm(sentence):
    text = "mere paas 100 rupaye hain"
    text = check_sentence_end(sentence)

    template = "Hinglish:\n{hi_en}\n\nEnglish:\n{en}"
    english = pipe(template.format(hi_en=text,en=""), max_length=250)
    english = english[0]['translation_text']
    english = english.replace("<bos>","").replace("<eos>","")
    english = english[len(template.format(hi_en=text,en="")):]
    return english.strip()

def translate_hinglish_to_english(text):
    translated_text = model_rlm(text)
    st.session_state['translated_text'] = translated_text
    return translated_text

st.title("RLM-Translator")
st.write("A simple Hinglish to English translator from Hugging Face by [Rudra Shah](https://huggingface.co/rudrashah/RLM-hinglish-translator).")

col1, col2 = st.columns(2)

with col1:
    hinglish_text = st.text_area("Hinglish", height=300)

with col2:
    if "translated_text" in st.session_state:
        st.text_area("English", value=st.session_state["translated_text"], height=300, key="")
    else:
        st.text_area("English", height=300, key="")

if st.button("Translate", use_container_width=True, type="primary"):
    if hinglish_text != "":
        translated_text = translate_hinglish_to_english(hinglish_text)
        st.session_state["translated_text"] = translated_text
        st.rerun()
    else:
        st.error("Please enter some hinglish text to translate.")