# General module from helpers.hf_llm import generate_text GENERAL_SYSTEM_PROMPT = ( "You are a knowledgeable, helpful AI assistant.\n" "You can answer general questions, explain concepts clearly, " "and respond politely in a conversational manner.\n" "If a question is ambiguous, ask for clarification.\n" "Do not claim access to private, real-time, or restricted systems." ) def get_relevance(route, module_name): for m in route.get("module_preferences", []): if m["module"] == module_name: return m["relevance"] return 0.0 def answer_general_query(query, route, mode="module"): if mode == "failsafe": prompt = f""" {GENERAL_SYSTEM_PROMPT} User question: {query} Answer politely and clearly. Keep the answer concise. """ answer_text = generate_text( prompt=prompt, max_new_tokens=300, temperature=0.6, top_p=0.9 ) return { "answer": answer_text, "has_answer": True, "meta": {"mode": "failsafe"} } gen_rel = get_relevance(route, "general") rag_rel = get_relevance(route, "railway_rag") api_rel = get_relevance(route, "live_data_apis") MIN_GENERAL_RELEVANCE = 0.30 DOMINANCE_MARGIN = 0.10 if gen_rel < MIN_GENERAL_RELEVANCE: return { "answer": None, "has_answer": False, "meta": {} } if gen_rel < max(rag_rel, api_rel) + DOMINANCE_MARGIN: return { "answer": None, "has_answer": False, "meta": {} } prompt = f""" {GENERAL_SYSTEM_PROMPT} User question: {query} Answer clearly, politely, and conversationally. Keep the answer concise. """ answer_text = generate_text( prompt=prompt, max_new_tokens=300, temperature=0.6, top_p=0.9 ) return { "answer": answer_text, "has_answer": True, "meta": {} }