ONISSUM commited on
Commit
be0ab41
1 Parent(s): 42cd031

Aggiunto il file app.py del chatbot Lucilla

Browse files
Files changed (1) hide show
  1. app.py +41 -0
app.py ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ from transformers import pipeline, MarianMTModel, MarianTokenizer, AutoModelForCausalLM, AutoTokenizer
3
+
4
+ # Inizializza il traduttore italiano-inglese
5
+ tokenizer_it_en = MarianTokenizer.from_pretrained("Helsinki-NLP/opus-mt-it-en")
6
+ model_it_en = MarianMTModel.from_pretrained("Helsinki-NLP/opus-mt-it-en")
7
+
8
+ # Inizializza il traduttore inglese-italiano
9
+ tokenizer_en_it = MarianTokenizer.from_pretrained("Helsinki-NLP/opus-mt-en-it")
10
+ model_en_it = MarianMTModel.from_pretrained("Helsinki-NLP/opus-mt-en-it")
11
+
12
+ # Carica il modello fairseq-dense-2.7B
13
+ model_name = "KoboldAI/fairseq-dense-2.7B"
14
+ tokenizer = AutoTokenizer.from_pretrained(model_name)
15
+ model = AutoModelForCausalLM.from_pretrained(model_name)
16
+
17
+ # Creazione della pipeline di generazione del testo
18
+ chatbot = pipeline("text-generation", model=model, tokenizer=tokenizer)
19
+
20
+ # Funzione per la traduzione
21
+ def translate(text, model, tokenizer):
22
+ inputs = tokenizer(text, return_tensors="pt", padding=True)
23
+ outputs = model.generate(**inputs)
24
+ return tokenizer.decode(outputs[0], skip_special_tokens=True)
25
+
26
+ # Interfaccia utente Streamlit per il chatbot
27
+ st.title("Chatbot Lucilla")
28
+
29
+ user_input = st.text_input("Scrivi qui per parlare con Lucilla:")
30
+
31
+ if st.button("Invia"):
32
+ input_in_english = translate(user_input, model_it_en, tokenizer_it_en)
33
+ responses = chatbot(input_in_english, max_length=50, num_return_sequences=1, temperature=0.9, do_sample=True)
34
+ response_in_english = responses[0]['generated_text']
35
+ response_in_italian = translate(response_in_english, model_en_it, tokenizer_en_it)
36
+ st.text_area("Risposta:", value=response_in_italian, height=100)
37
+
38
+ # Slider esempio
39
+ st.write("Esempio Slider:")
40
+ x = st.slider('Select a value')
41
+ st.write(x, 'squared is', x * x)