File size: 1,396 Bytes
20babf9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import streamlit as st
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

st.set_page_config(page_title="AI Quote Generator", page_icon="✨")

st.title("🎭 AI Quote Generator with Style Transfer")

@st.cache_resource
def load_model():
    model = AutoModelForCausalLM.from_pretrained("ijuganu/quote-generator")
    tokenizer = AutoTokenizer.from_pretrained("ijuganu/quote-generator")
    device = "cuda" if torch.cuda.is_available() else "cpu"
    model.to(device)
    return model, tokenizer, device

with st.spinner("Loading AI model..."):
    model, tokenizer, device = load_model()

st.success("Model ready!")

topic = st.text_input("Enter a topic:", "Success")
temperature = st.slider("Creativity", 0.5, 1.5, 0.85)

if st.button("Generate Quote"):
    prompt = f"Quote: {topic}"
    inputs = tokenizer.encode(prompt, return_tensors='pt').to(device)
    attention_mask = torch.ones_like(inputs).to(device)
    
    with torch.no_grad():
        outputs = model.generate(
            inputs,
            attention_mask=attention_mask,
            max_length=100,
            temperature=temperature,
            do_sample=True,
            top_k=50,
            pad_token_id=tokenizer.eos_token_id
        )
    
    quote = tokenizer.decode(outputs[0], skip_special_tokens=True)
    quote = quote.replace(prompt, '').strip()
    
    st.markdown(f"> *\"{quote}\"*")