ramy2018 commited on
Commit
481da23
·
verified ·
1 Parent(s): 9c2b1d4

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +8 -9
app.py CHANGED
@@ -1,6 +1,3 @@
1
- # ✅ Arabic RAG System with Cascaded Memory Pipeline
2
- # Step-by-step: Chunking -> Question -> Retrieval -> Summarization
3
-
4
  import gradio as gr
5
  from rag_pipeline import RAGPipeline
6
  from utils import process_documents
@@ -29,11 +26,12 @@ def store_question(q):
29
 
30
  def retrieve_passages(question, chunks, logs):
31
  passages = rag.retrieve_passages(question)
 
32
  logs = log_message(f"[RAG] تم العثور على {len(passages)} مقطع مرتبط بالسؤال.", logs)
33
- return passages, logs
34
 
35
- def summarize_answer(question, passages, logs):
36
- answer, summary = rag.generate_answer_from_passages(question, passages)
37
  logs = log_message("[RAG] تم توليد الإجابة النهائية.", logs)
38
  return answer, summary, logs
39
 
@@ -56,13 +54,14 @@ with gr.Blocks() as demo:
56
  find_btn = gr.Button("🔍 بحث عن المقاطع المرتبطة")
57
  answer_btn = gr.Button("✍️ تلخيص وتوليد الإجابة")
58
 
59
- answer_output = gr.Textbox(label=" الإجابة", lines=5)
60
  summary_output = gr.Textbox(label="📌 الملخص المستخدم", lines=5)
 
61
  logs_output = gr.Textbox(label="📜 سجل العمليات", lines=10, interactive=False)
62
 
63
  upload_btn.click(upload_and_prepare, inputs=[files_input, logs], outputs=[chunks, logs_output, store_question_btn, find_btn, answer_btn])
64
  store_question_btn.click(store_question, inputs=question_input, outputs=question_state)
65
- find_btn.click(retrieve_passages, inputs=[question_state, chunks, logs], outputs=[retrieved_passages, logs_output])
66
- answer_btn.click(summarize_answer, inputs=[question_state, retrieved_passages, logs], outputs=[answer_output, summary_output, logs_output])
67
 
68
  demo.launch()
 
 
 
 
1
  import gradio as gr
2
  from rag_pipeline import RAGPipeline
3
  from utils import process_documents
 
26
 
27
  def retrieve_passages(question, chunks, logs):
28
  passages = rag.retrieve_passages(question)
29
+ passages_text = "\n---\n".join(passages)
30
  logs = log_message(f"[RAG] تم العثور على {len(passages)} مقطع مرتبط بالسؤال.", logs)
31
+ return passages, passages_text, logs
32
 
33
+ def summarize_answer(question, passages_text, logs):
34
+ answer, summary = rag.generate_answer_from_passages(question, passages_text)
35
  logs = log_message("[RAG] تم توليد الإجابة النهائية.", logs)
36
  return answer, summary, logs
37
 
 
54
  find_btn = gr.Button("🔍 بحث عن المقاطع المرتبطة")
55
  answer_btn = gr.Button("✍️ تلخيص وتوليد الإجابة")
56
 
57
+ passage_output = gr.Textbox(label="📄 المقاطع المرتبطة", lines=8)
58
  summary_output = gr.Textbox(label="📌 الملخص المستخدم", lines=5)
59
+ answer_output = gr.Textbox(label="✅ الإجابة النهائية", lines=5)
60
  logs_output = gr.Textbox(label="📜 سجل العمليات", lines=10, interactive=False)
61
 
62
  upload_btn.click(upload_and_prepare, inputs=[files_input, logs], outputs=[chunks, logs_output, store_question_btn, find_btn, answer_btn])
63
  store_question_btn.click(store_question, inputs=question_input, outputs=question_state)
64
+ find_btn.click(retrieve_passages, inputs=[question_state, chunks, logs], outputs=[retrieved_passages, passage_output, logs_output])
65
+ answer_btn.click(summarize_answer, inputs=[question_state, passage_output, logs], outputs=[answer_output, summary_output, logs_output])
66
 
67
  demo.launch()