key-life commited on
Commit
38bbc99
·
verified ·
1 Parent(s): 789dd6e

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +70 -0
app.py ADDED
@@ -0,0 +1,70 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ from transformers import pipeline
3
+
4
+ st.set_page_config(
5
+ page_title="Multilingual Poem Generator",
6
+ page_icon="🎭",
7
+ layout="wide",
8
+ initial_sidebar_state="expanded"
9
+ )
10
+
11
+ st.title("🌍 Multilingual Poem Generator")
12
+ st.write("Generate poems in English and 7 Indian regional languages.")
13
+
14
+ # Language options
15
+ languages = {
16
+ "English": "gpt2", # Default GPT-2 (English)
17
+ "Hindi": "ai4bharat/IndicGPT-hindi",
18
+ "Bengali": "ai4bharat/IndicGPT-bengali",
19
+ "Tamil": "ai4bharat/IndicGPT-tamil",
20
+ "Telugu": "ai4bharat/IndicGPT-telugu",
21
+ "Marathi": "ai4bharat/IndicGPT-marathi",
22
+ "Gujarati": "ai4bharat/IndicGPT-gujarati",
23
+ "Kannada": "ai4bharat/IndicGPT-kannada"
24
+ }
25
+
26
+ selected_lang = st.selectbox("Choose a language:", list(languages.keys()), index=0)
27
+
28
+ prompt_input = st.text_area("Enter a few words or sentences to start:",
29
+ value="Once upon a time,",
30
+ height=100)
31
+
32
+ col1, empty_col, col2 = st.columns([0.7, 0.3, 1.0])
33
+ with col1:
34
+ max_length = st.slider("Max Output Tokens:", 10, 200, 75)
35
+ temperature = st.slider("Temperature:", 0.1, 1.5, 0.8)
36
+ top_k = st.slider("Top-k:", 1, 100, 50)
37
+ top_p = st.slider("Top-p:", 0.1, 1.0, 0.95)
38
+ repetition_penalty = st.slider("Repetition Penalty:", 1.0, 2.0, 1.2)
39
+
40
+ with empty_col:
41
+ st.empty()
42
+
43
+ with col2:
44
+ if st.button("Generate Poem"):
45
+ with st.spinner(f"Generating poem in {selected_lang}..."):
46
+ try:
47
+ # Load model for selected language
48
+ generator = pipeline(
49
+ "text-generation",
50
+ model=languages[selected_lang]
51
+ )
52
+
53
+ # Generate poem
54
+ results = generator(
55
+ prompt_input,
56
+ max_new_tokens=max_length,
57
+ do_sample=True,
58
+ top_k=top_k,
59
+ top_p=top_p,
60
+ temperature=temperature,
61
+ repetition_penalty=repetition_penalty
62
+ )
63
+
64
+ generated_text = results[0]['generated_text']
65
+ st.subheader(f"Generated Poem in {selected_lang}:")
66
+ for line in generated_text.split('\n'):
67
+ st.write(line)
68
+
69
+ except Exception as e:
70
+ st.error(f"An error occurred: {str(e)}")