IamSatoshiAI commited on
Commit
a2051b1
·
verified ·
1 Parent(s): 145d6f2

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +63 -41
app.py CHANGED
@@ -1,53 +1,75 @@
1
  import gradio as gr
2
- from quantum_learner import QuantumLearner
3
- from memory_utils import get_history
4
  from transformers import pipeline
 
 
5
 
6
- # Inicijalizacija komponenti
7
- model = pipeline("text-generation", model="facebook/opt-350m")
8
- learner = QuantumLearner()
 
 
 
 
 
9
 
10
- def iskon_odgovori(pitanje, povijest):
11
- # Generiranje odgovora
12
- kontekst = "\n".join([f"{p}:{o}" for p, o in povijest[-5:]]) if povijest else ""
13
- prompt = f"ISKON DIJALOG:\n{kontekst}\nPitanje: {pitanje}\nOdgovor:"
14
 
15
- odgovor = model(
16
- prompt,
17
- max_length=150,
18
- temperature=0.7
19
- )[0]["generated_text"].split("Odgovor:")[1].strip()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
20
 
21
- # Periodička analiza
22
- if len(get_history()) % 10 == 0:
23
- learner.analyze_conversations()
24
 
25
- return odgovor
26
-
27
- # Gradio sučelje
28
- with gr.Blocks(title="ISKON OS") as app:
29
- gr.Markdown("## 🌳 DOBRODOŠLI U ISKON SUSTAV")
30
 
31
- with gr.Tab("💬 Duhovni Dijalog"):
32
- chatbot = gr.Chatbot()
33
- poruka = gr.Textbox(label="Što te muči, dušo?")
34
- btn = gr.Button("POŠALJI")
35
-
36
- with gr.Tab("🧠 Kvantna Inteligencija"):
37
- insights = gr.Textbox(label="Otkrij skrivene teme", interactive=False)
38
- analiza_btn = gr.Button("ANALIZIRAJ")
39
 
40
- # Event handlers
 
 
 
 
 
 
 
 
 
 
 
 
41
  btn.click(
42
- fn=iskon_odgovori,
43
- inputs=[poruka, chatbot],
44
- outputs=[chatbot]
45
- )
46
-
47
- analiza_btn.click(
48
- fn=lambda: str(learner.analyze_conversations()),
49
- outputs=insights
50
  )
51
 
52
- if __name__ == "__main__":
53
- app.launch()
 
1
  import gradio as gr
 
 
2
  from transformers import pipeline
3
+ import time
4
+ from functools import lru_cache
5
 
6
+ # Inicijalizacija punog modela s optimizacijama
7
+ @lru_cache(maxsize=1) # Cache modela za brže učitavanje
8
+ def load_model():
9
+ return pipeline(
10
+ "text-generation",
11
+ model="facebook/opt-350m",
12
+ device=-1, # Koristi CPU
13
+ )
14
 
15
+ def iskon_odgovori(pitanje):
16
+ start_time = time.time()
17
+ model = load_model()
 
18
 
19
+ try:
20
+ # Generiraj potpuni odgovor bez ograničenja
21
+ full_response = model(
22
+ f"ISKON BOT: {pitanje}\nOdgovor:",
23
+ max_new_tokens=500, # Puni dužina odgovora
24
+ temperature=0.9, # Maksimalna kreativnost
25
+ do_sample=True # Potpuna sloboda izražavanja
26
+ )[0]["generated_text"]
27
+
28
+ # Ekstrahiraj samo odgovor nakon oznake
29
+ odgovor = full_response.split("Odgovor:")[1].strip()
30
+
31
+ print(f"Generiranje trajalo: {time.time()-start_time:.2f}s")
32
+ return odgovor
33
+
34
+ except Exception as e:
35
+ print(f"Greška: {str(e)}")
36
+ return "Duhovni odgovor trenutno nije dostupan. Pokušajte ponovo kasnije."
37
+
38
+ # Poboljšano sučelje s progresom
39
+ with gr.Blocks(title="🌌 ISKON SUSTAV - Puna Duhovna Sloboda") as app:
40
+ gr.Markdown("""
41
+ ## 🌳 DOBRODOŠLI U ISKON SUSTAV
42
+ *"Gdje svaka riječ teče slobodno kao rijeka vremena..."*
43
+ """)
44
 
45
+ with gr.Row():
46
+ pitanje = gr.Textbox(label="Što te muči, dušo?", placeholder="Upitaj svoje najdublje pitanje...")
47
+ btn = gr.Button("POŠALJI U SVEMIR")
48
 
49
+ with gr.Row():
50
+ odgovor = gr.Textbox(label="Duhovni odgovor", lines=10, max_lines=50)
51
+ status = gr.Textbox(label="Status", interactive=False)
 
 
52
 
53
+ # Progres bar za vizualnu povratnu informaciju
54
+ progress = gr.Progress()
 
 
 
 
 
 
55
 
56
+ def generate_with_feedback(pitanje, progress=gr.Progress()):
57
+ progress(0.1, desc="Učitavam mudrost...")
58
+ time.sleep(1)
59
+
60
+ progress(0.3, desc="Razmišljam o odgovoru...")
61
+ model = load_model()
62
+
63
+ progress(0.6, desc="Formuliram odgovor...")
64
+ odgovor = iskon_odgovori(pitanje)
65
+
66
+ progress(1.0, desc="Gotovo!")
67
+ return odgovor, "Duhovna poruka primljena"
68
+
69
  btn.click(
70
+ fn=generate_with_feedback,
71
+ inputs=[pitanje],
72
+ outputs=[odgovor, status]
 
 
 
 
 
73
  )
74
 
75
+ app.launch()