Manavraj's picture
Update app.py
f4ccfcb verified
raw
history blame
1.84 kB
import gradio as gr
# --- Tool: Simulated troubleshooting knowledge base ---
def search_knowledge_base(issue: str) -> str:
if "wifi" in issue.lower():
return "Check if your router is powered on. Restart your router. Try connecting again."
elif "screen" in issue.lower():
return "Adjust display cable. Update graphics drivers. Restart the system."
return "No predefined solution found in the knowledge base."
# --- Tool: Simulated web search (basic dummy) ---
def search_web(query: str) -> str:
return f"(Simulated Web Result) Top search result for '{query}'."
# --- Tool: Format output into step-by-step troubleshooting response ---
def format_response(raw_steps: str) -> str:
steps = raw_steps.split(". ")
steps = [f"{i+1}. {step.strip('.')}" for i, step in enumerate(steps) if step.strip()]
return "\n".join(steps)
# Register each tool with a separate interface
tools = [
gr.Interface(fn=search_knowledge_base,
inputs="text",
outputs="text",
title="Knowledge Base Search",
description="Search for predefined troubleshooting instructions.",
name="search_knowledge_base"),
gr.Interface(fn=search_web,
inputs="text",
outputs="text",
title="Web Search Tool",
description="Fetch dynamic info from the web (simulated).",
name="search_web"),
gr.Interface(fn=format_response,
inputs="text",
outputs="text",
title="Response Formatter",
description="Format the raw instructions into steps.",
name="format_response")
]
# Launch all tools under one MCP server
if __name__ == "__main__":
gr.mount_gradio_apps(tools).launch()