import json import difflib import gradio as gr # Load Q&A data with open("premanand_qa_full.json", "r", encoding="utf-8") as f: qa_pairs = json.load(f) def get_answer(user_question): questions = [item["question"] for item in qa_pairs] closest_match = difflib.get_close_matches(user_question, questions, n=1, cutoff=0.4) if closest_match: for item in qa_pairs: if item["question"] == closest_match[0]: return f"ЁЯМ╕ {item['answer']}" else: return "ЁЯЩП рдмреЗрдЯрд╛, рдЗрд╕ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рдЕрднреА рдореЗрд░реЗ рдкрд╛рд╕ рдирд╣реАрдВ рд╣реИред рдХреГрдкрдпрд╛ рдХреБрдЫ рдФрд░ рдкреВрдЫреЛред" # Gradio UI iface = gr.Interface( fn=get_answer, inputs=gr.Textbox(lines=2, placeholder="рдкреНрд░рд╢реНрди рдкреВрдЫрд┐рдП..."), outputs="text", title="ЁЯМ╝ рд╢реНрд░реА рдкреНрд░реЗрдорд╛рдирдВрдж рдЬреА рдорд╣рд╛рд░рд╛рдЬ", description="рдкреНрд░реЗрдорд╛рдирдВрдж рдЬреА рдорд╣рд╛рд░рд╛рдЬ рдХреЗ рднрд╛рд╡реЛрдВ рдореЗрдВ рдЖрдзреНрдпрд╛рддреНрдорд┐рдХ рдЙрддреНрддрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред" ) iface.launch()