MatteoScript commited on
Commit
3bc1a3c
1 Parent(s): 0d1cb4e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -18
app.py CHANGED
@@ -16,13 +16,16 @@ IDENTITY_CHANGE = ["Sei BonsiAI da ora in poi!", "Certo farò del mio meglio"]
16
  options = {
17
  'Email Genitori': {'systemRole': 'Tu sei un esperto scrittore di email. Attieniti allo stile che ti ho fornito nelle instruction e inserici il contenuto richiesto. Genera il testo di una mail a partire da questo contenuto, con lo stile ricevuto in precedenza: ',
18
  'systemStyle': 'Utilizza lo stile fornito come esempio e parla in ITALIANO e firmati sempre come il Signor Preside',
19
- 'instruction': URL_CARTELLA + '1IxE0ic0hsWrxQod2rfh4hnKNqMC-lGT4'},
 
20
  'Email Colleghi': {'systemRole': 'Tu sei un esperto scrittore di email. Attieniti allo stile che ti ho fornito nelle instruction e inserici il contenuto richiesto. Genera il testo di una mail a partire da questo contenuto, con lo stile ricevuto in precedenza: ',
21
  'systemStyle': 'Utilizza lo stile fornito come esempio e parla in ITALIANO e firmati sempre come il vostro collega Preside',
22
- 'instruction': URL_CARTELLA + '1tEMxG0zJmmyh5PlAofKDkhbi1QGMOwPH'},
 
23
  'Decreti': {'systemRole': 'Tu sei il mio assistente per la ricerca documentale! Ti ho fornito una lista di documenti, devi cercare quello che ti chiedo nei documenti',
24
  'systemStyle': 'Sii molto formale, sintetico e parla in ITALIANO',
25
- 'instruction': ''}
 
26
  }
27
 
28
  #option:
@@ -65,38 +68,33 @@ def init_state() :
65
  if "repetion_penalty" not in st.session_state :
66
  st.session_state.repetion_penalty = 1
67
 
68
- if "rag_enabled" not in st.session_state :
69
- st.session_state.rag_enabled = False
70
-
71
  if "chat_bot" not in st.session_state :
72
  st.session_state.chat_bot = "Mixtral 8x7B v0.1"
73
 
74
  def sidebar() :
75
  def retrieval_settings() :
76
- st.markdown("# Impostazioni Azione")
77
- st.session_state.selected_option_key = st.selectbox('Azione', list(options.keys()) + ['+ Aggiungi'])
78
  st.session_state.selected_option = options.get(st.session_state.selected_option_key, {})
79
  st.session_state.systemRole = st.session_state.selected_option.get('systemRole', '')
80
- st.text_area("Descrizione", st.session_state.systemRole)
81
  st.session_state.systemStyle = st.session_state.selected_option.get('systemStyle', '')
82
- st.text_area("Stile", st.session_state.systemStyle)
83
  st.session_state.instruction = st.session_state.selected_option.get('instruction', '')
84
-
85
  if st.session_state.selected_option_key == 'Decreti':
86
- st.session_state.rag_enabled = st.toggle("Cerca nel DB Vettoriale", value=True)
87
  st.session_state.top_k = st.slider(label="Documenti da ricercare", min_value=1, max_value=20, value=4, disabled=not st.session_state.rag_enabled)
88
- st.markdown("---")
89
 
90
  def model_settings() :
91
- st.markdown("# Impostazioni Modello")
92
- st.session_state.chat_bot = st.sidebar.radio('Seleziona Modello:', [key for key, value in CHAT_BOTS.items() ])
93
  st.session_state.temp = st.slider(label="Creatività", min_value=0.0, max_value=1.0, step=0.1, value=0.9)
94
- st.session_state.max_tokens = st.slider(label="Lunghezza Output", min_value = 64, max_value=2048, step= 32, value=512)
95
 
96
  with st.sidebar:
97
  retrieval_settings()
98
  model_settings()
99
- st.markdown("""> **Creato da [Matteo Script] 🔗**""")
100
 
101
  def header() :
102
  st.title("BonsiAI")
@@ -111,6 +109,9 @@ def chat_box() :
111
  st.markdown(message["content"])
112
 
113
  def formattaPrompt(prompt, systemRole, systemStyle, instruction):
 
 
 
114
  if instruction.startswith("http"):
115
  try:
116
  with st.spinner("Ricerca in Drive...") :
@@ -124,7 +125,7 @@ def formattaPrompt(prompt, systemRole, systemStyle, instruction):
124
  "input": {{
125
  "role": "system",
126
  "content": "{systemRole}",
127
- "style": "{systemStyle}"
128
  }},
129
  "messages": [
130
  {{
 
16
  options = {
17
  'Email Genitori': {'systemRole': 'Tu sei un esperto scrittore di email. Attieniti allo stile che ti ho fornito nelle instruction e inserici il contenuto richiesto. Genera il testo di una mail a partire da questo contenuto, con lo stile ricevuto in precedenza: ',
18
  'systemStyle': 'Utilizza lo stile fornito come esempio e parla in ITALIANO e firmati sempre come il Signor Preside',
19
+ 'instruction': URL_CARTELLA + '1IxE0ic0hsWrxQod2rfh4hnKNqMC-lGT4',
20
+ 'RAG': False},
21
  'Email Colleghi': {'systemRole': 'Tu sei un esperto scrittore di email. Attieniti allo stile che ti ho fornito nelle instruction e inserici il contenuto richiesto. Genera il testo di una mail a partire da questo contenuto, con lo stile ricevuto in precedenza: ',
22
  'systemStyle': 'Utilizza lo stile fornito come esempio e parla in ITALIANO e firmati sempre come il vostro collega Preside',
23
+ 'instruction': URL_CARTELLA + '1tEMxG0zJmmyh5PlAofKDkhbi1QGMOwPH',
24
+ 'RAG': False},
25
  'Decreti': {'systemRole': 'Tu sei il mio assistente per la ricerca documentale! Ti ho fornito una lista di documenti, devi cercare quello che ti chiedo nei documenti',
26
  'systemStyle': 'Sii molto formale, sintetico e parla in ITALIANO',
27
+ 'instruction': '',
28
+ 'RAG': True}
29
  }
30
 
31
  #option:
 
68
  if "repetion_penalty" not in st.session_state :
69
  st.session_state.repetion_penalty = 1
70
 
 
 
 
71
  if "chat_bot" not in st.session_state :
72
  st.session_state.chat_bot = "Mixtral 8x7B v0.1"
73
 
74
  def sidebar() :
75
  def retrieval_settings() :
76
+ st.markdown("# Impostazioni")
77
+ st.session_state.selected_option_key = st.selectbox('Azione', list(options.keys()) + ['Personalizzata'])
78
  st.session_state.selected_option = options.get(st.session_state.selected_option_key, {})
79
  st.session_state.systemRole = st.session_state.selected_option.get('systemRole', '')
80
+ st.session_state.systemRole = st.text_area("Descrizione", st.session_state.systemRole)
81
  st.session_state.systemStyle = st.session_state.selected_option.get('systemStyle', '')
82
+ st.session_state.systemStyle = st.text_area("Stile", st.session_state.systemStyle)
83
  st.session_state.instruction = st.session_state.selected_option.get('instruction', '')
84
+ st.session_state.rag_enabled = st.session_state.selected_option.get('RAG', '')
85
  if st.session_state.selected_option_key == 'Decreti':
 
86
  st.session_state.top_k = st.slider(label="Documenti da ricercare", min_value=1, max_value=20, value=4, disabled=not st.session_state.rag_enabled)
87
+ #st.markdown("---")
88
 
89
  def model_settings() :
90
+ #st.session_state.chat_bot = st.sidebar.radio('Seleziona Modello:', [key for key, value in CHAT_BOTS.items() ])
 
91
  st.session_state.temp = st.slider(label="Creatività", min_value=0.0, max_value=1.0, step=0.1, value=0.9)
92
+ st.session_state.max_tokens = st.slider(label="Lunghezza Output", min_value = 64, max_value=2048, step= 32, value=1024)
93
 
94
  with st.sidebar:
95
  retrieval_settings()
96
  model_settings()
97
+ st.markdown("""> **Creato da [Matteo Bergamelli] 🔗**""")
98
 
99
  def header() :
100
  st.title("BonsiAI")
 
109
  st.markdown(message["content"])
110
 
111
  def formattaPrompt(prompt, systemRole, systemStyle, instruction):
112
+
113
+ lunghezza = 'Attenzione! Il testo generato deve essere lungo ' + st.session_state.max_tokens*2 + ' CARATTERI'
114
+
115
  if instruction.startswith("http"):
116
  try:
117
  with st.spinner("Ricerca in Drive...") :
 
125
  "input": {{
126
  "role": "system",
127
  "content": "{systemRole}",
128
+ "style": "{systemStyle} {lunghezza}"
129
  }},
130
  "messages": [
131
  {{