apak commited on
Commit
fef8d11
·
verified ·
1 Parent(s): a7340f8

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +27 -36
app.py CHANGED
@@ -1,53 +1,44 @@
1
  import gradio as gr
2
  from ner_logic import ner_pipe, get_wiki_summary, refine_labels_batch
3
- from ui_modules import create_ui_layout, format_log_entry
4
 
5
  def process_ner(text):
6
- current_logs = ["🚀 <b>Sistem Başlatıldı...</b>"]
7
- final_results = []
8
- misc_buffer = []
9
 
10
- # 1. Aşama: NER ve Wiki
11
- initial_results = ner_pipe(text)
12
- for entity in initial_results:
13
- word = entity['word'].replace(" ", " ").strip()
14
- label = entity['entity_group']
15
-
16
- if label in ["PER", "ORG", "LOC"]:
17
- final_results.append({"Varlık": word, "İlk": label, "Nihai": label, "Kaynak": "Model"})
18
- elif label == "MISC":
19
- wiki_text = get_wiki_summary(word)
20
- current_logs.append(format_log_entry("wiki", word, wiki_text or "Bilgi yok."))
21
- misc_buffer.append({"word": word, "wiki": wiki_text or "Bilgi yok."})
22
  yield "<br>".join(current_logs), [[r["Varlık"], r["İlk"], r["Nihai"], r["Kaynak"]] for r in final_results]
23
 
24
- # 2. Aşama: Batch CoT
25
  if misc_buffer:
26
- current_logs.append("🧠 <b>Toplu CoT Analizi Yapılıyor...</b>")
27
- llm_responses = refine_labels_batch(misc_buffer, text)
28
-
29
  for item in misc_buffer:
30
- match = next((res for res in llm_responses if res.get('varlik','').lower() in item['word'].lower()), None)
31
- f_label = match['karar'] if match else "MISC"
32
- current_logs.append(format_log_entry("cot", item['word'], match['analiz'] if match else "Hata."))
33
 
34
- final_results.append({"Varlık": item['word'], "İlk": "MISC", "Nihai": f_label, "Kaynak": "RAG+LLM"})
 
35
  yield "<br>".join(current_logs), [[r["Varlık"], r["İlk"], f"<b>{r['Nihai']}</b>", r["Kaynak"]] for r in final_results]
36
 
37
- current_logs.append("✨ <b>Tamamlandı.</b>")
38
  yield "<br>".join(current_logs), [[r["Varlık"], r["İlk"], f"<b>{r['Nihai']}</b>", r["Kaynak"]] for r in final_results]
39
 
40
- # --- KRİTİK DÜZELTME BURADA ---
41
- # UI bileşenlerini alıyoruz
42
- demo, input_text, log_output, table_output, submit_btn = create_ui_layout()
43
-
44
- # Buton tıklama olayını 'with demo:' bloğu içinde tanımlıyoruz
45
- with demo:
46
- submit_btn.click(
47
- process_ner,
48
- inputs=input_text,
49
- outputs=[log_output, table_output]
50
- )
51
 
52
  if __name__ == "__main__":
53
  demo.launch(auth=("admin", "1113"))
 
1
  import gradio as gr
2
  from ner_logic import ner_pipe, get_wiki_summary, refine_labels_batch
3
+ from ui_modules import create_ui_layout, format_log
4
 
5
  def process_ner(text):
6
+ current_logs = ["🎬 <b>Analiz Başladı...</b>"]
7
+ final_results, misc_buffer = [], []
 
8
 
9
+ # 1. Aşama: NER tespiti
10
+ ents = ner_pipe(text)
11
+ for ent in ents:
12
+ w = ent['word'].replace(" ", " ").strip()
13
+ l = ent['entity_group']
14
+ if l in ["PER", "ORG", "LOC"]:
15
+ final_results.append({"Varlık": w, "İlk": l, "Nihai": l, "Kaynak": "Model"})
16
+ elif l == "MISC":
17
+ wiki = get_wiki_summary(w)
18
+ current_logs.append(format_log("wiki", w, wiki or "Wiki kaydı bulunamadı."))
19
+ misc_buffer.append({"word": w, "wiki": wiki or "Bilgi yok."})
 
20
  yield "<br>".join(current_logs), [[r["Varlık"], r["İlk"], r["Nihai"], r["Kaynak"]] for r in final_results]
21
 
22
+ # 2. Aşama: Batch LLM Analizi
23
  if misc_buffer:
24
+ current_logs.append("🧠 <b>LLM Toplu Analiz Yapıyor...</b>")
25
+ responses = refine_labels_batch(misc_buffer, text)
 
26
  for item in misc_buffer:
27
+ res = next((r for r in responses if r.get('varlik','').lower() in item['word'].lower()), {})
28
+ label = res.get('karar', 'MISC')
29
+ if label == True or label == "True": label = "MISC" # True hatası koruması
30
 
31
+ current_logs.append(format_log("cot", item['word'], res.get('analiz', 'Analiz yapılamadı.')))
32
+ final_results.append({"Varlık": item['word'], "İlk": "MISC", "Nihai": label, "Kaynak": "RAG+LLM"})
33
  yield "<br>".join(current_logs), [[r["Varlık"], r["İlk"], f"<b>{r['Nihai']}</b>", r["Kaynak"]] for r in final_results]
34
 
35
+ current_logs.append("✅ <b>Tamamlandı.</b>")
36
  yield "<br>".join(current_logs), [[r["Varlık"], r["İlk"], f"<b>{r['Nihai']}</b>", r["Kaynak"]] for r in final_results]
37
 
38
+ # Arayüzü başlat ve Event'i Bağla
39
+ demo, inp, log, tbl, btn = create_ui_layout()
40
+ with demo: # Context hatasını çözen blok
41
+ btn.click(process_ner, inputs=inp, outputs=[log, tbl])
 
 
 
 
 
 
 
42
 
43
  if __name__ == "__main__":
44
  demo.launch(auth=("admin", "1113"))