RAGSample / ui.py
VietCat's picture
fix prompt
c6d8421
import gradio as gr
import logging
from rag_core.business import build_index, rescan_index, answer_query, retriever, is_ready
import os
os.environ["SPACE_HOST"] = "https://vietcat-ragsample.hf.space"
logging.info("🎨 Khởi tạo Gradio UI...")
def handle_rebuild():
if retriever.index is None:
logging.info("⚙️ Chưa có index, gọi build_index()")
build_index()
return "✅ Đã tạo mới FAISS index."
else:
logging.info("♻️ Đã có index, gọi rescan_index()")
result = rescan_index()
return result["status"]
def handle_query(query):
logging.info(f"📨 Người dùng gửi truy vấn: {query}")
result = answer_query(query)
return result.get("answer", result.get("error", "❌ Lỗi không xác định."))
with gr.Blocks(title="Luật Giao Thông RAG") as iface:
gr.Markdown("## 📚 Trợ lý hỏi đáp văn bản luật")
query_box = gr.Textbox(label="❓ Nhập câu hỏi", lines=2)
answer_box = gr.Textbox(label="💬 Trả lời", lines=6)
submit_btn = gr.Button("📤 Gửi câu hỏi")
rebuild_btn = gr.Button("🔄 Rebuild Index")
submit_btn.click(fn=handle_query, inputs=query_box, outputs=answer_box)
rebuild_btn.click(fn=handle_rebuild, outputs=answer_box)
app_ui = iface