apak commited on
Commit
d9e276a
·
verified ·
1 Parent(s): 71e89d6

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +45 -0
app.py ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ # Uygulamayı Başlat
41
+ demo, input_text, log_output, table_output, submit_btn = create_ui_layout()
42
+ submit_btn.click(process_ner, inputs=input_text, outputs=[log_output, table_output])
43
+
44
+ if __name__ == "__main__":
45
+ demo.launch(auth=("admin", "1113"))