apak commited on
Commit
614a658
·
verified ·
1 Parent(s): d2ee440

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +28 -20
app.py CHANGED
@@ -1,12 +1,13 @@
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()
@@ -14,30 +15,37 @@ def process_ner(text):
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__":
 
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_entity_log
4
 
5
  def process_ner(text):
6
+ yield "🎬 <b>İşlem Başlatıldı...</b>", []
7
+ final_results = []
8
+ misc_buffer = []
9
 
10
+ # 1. NER ve Wiki Toplama
11
  ents = ner_pipe(text)
12
  for ent in ents:
13
  w = ent['word'].replace(" ", " ").strip()
 
15
  if l in ["PER", "ORG", "LOC"]:
16
  final_results.append({"Varlık": w, "İlk": l, "Nihai": l, "Kaynak": "Model"})
17
  elif l == "MISC":
18
+ wiki = get_wiki_summary(w) or "Wikipedia'da bu terim için net bir tanım bulunamadı."
19
+ misc_buffer.append({"word": w, "wiki": wiki})
 
 
20
 
21
+ # 2. Toplu Analiz ve Görselleştirme
22
  if misc_buffer:
 
23
  responses = refine_labels_batch(misc_buffer, text)
24
+
25
+ cumulative_logs = []
26
  for item in misc_buffer:
27
+ # LLM sonucunu eşleştir
28
  res = next((r for r in responses if r.get('varlik','').lower() in item['word'].lower()), {})
 
 
29
 
30
+ reasoning = res.get('reasoning', 'Reasoning süreci oluşturulamadı.')
31
+ new_label = res.get('karar', 'MISC')
32
+
33
+ # İstediğin alt alta gösterim formatı
34
+ cumulative_logs.append(format_entity_log(item['word'], item['wiki'], reasoning, new_label))
35
+
36
+ final_results.append({
37
+ "Varlık": item['word'],
38
+ "İlk": "MISC",
39
+ "Nihai": new_label,
40
+ "Kaynak": "RAG+LLM"
41
+ })
42
+
43
+ # Her bir varlık bittiğinde anlık güncelle
44
+ yield "".join(cumulative_logs), [[r["Varlık"], r["İlk"], f"<b>{r['Nihai']}</b>", r["Kaynak"]] for r in final_results]
45
 
46
+ # Arayüz Bağlantısı
47
  demo, inp, log, tbl, btn = create_ui_layout()
48
+ with demo:
49
  btn.click(process_ner, inputs=inp, outputs=[log, tbl])
50
 
51
  if __name__ == "__main__":