Spaces:
Sleeping
Sleeping
| import yaml | |
| import os | |
| import gradio as gr | |
| # --------------------------------------------------- | |
| # 🔧 Patch 1: Blocks ignores deprecated kwargs | |
| # --------------------------------------------------- | |
| _old_blocks = gr.Blocks | |
| def PatchedBlocks(*args, **kwargs): | |
| # Remove smolagents old kwargs | |
| for k in ["theme", "fill_height"]: | |
| kwargs.pop(k, None) | |
| return _old_blocks(*args, **kwargs) | |
| gr.Blocks = PatchedBlocks | |
| # --------------------------------------------------- | |
| # 🔧 Patch 2: Chatbot ignores ALL deprecated kwargs | |
| # --------------------------------------------------- | |
| _old_chatbot = gr.Chatbot | |
| def PatchedChatbot(*args, **kwargs): | |
| # Allowed kwargs in Gradio 6 Chatbot: | |
| allowed = { | |
| "value", "height", "scale", "min_height", "max_height", | |
| "rtl", "show_copy_button", "avatar_images", | |
| "layout","render","visible","interactive" | |
| } | |
| # Strip unsupported ones | |
| kwargs = {k: v for k, v in kwargs.items() if k in allowed} | |
| return _old_chatbot(*args, **kwargs) | |
| gr.Chatbot = PatchedChatbot | |
| # --------------------------------------------------- | |
| from smolagents import GradioUI, CodeAgent, InferenceClientModel | |
| # Get current directory path | |
| CURRENT_DIR = os.path.dirname(os.path.abspath(__file__)) | |
| from tools.web_search import WebSearchTool as WebSearch | |
| from tools.visit_webpage import VisitWebpageTool as VisitWebpage | |
| from tools.suggest_menu import SimpleTool as SuggestMenu | |
| from tools.catering_service_tool import SimpleTool as CateringServiceTool | |
| from tools.superhero_party_theme_generator import SuperheroPartyThemeTool as SuperheroPartyThemeGenerator | |
| from tools.final_answer import FinalAnswerTool as FinalAnswer | |
| # Model | |
| model = InferenceClientModel( | |
| model_id='Qwen/Qwen3-Next-80B-A3B-Thinking', | |
| ) | |
| # Tools | |
| web_search = WebSearch() | |
| visit_webpage = VisitWebpage() | |
| suggest_menu = SuggestMenu() | |
| catering_service_tool = CateringServiceTool() | |
| superhero_party_theme_generator = SuperheroPartyThemeGenerator() | |
| final_answer = FinalAnswer() | |
| # Load Prompts | |
| with open(os.path.join(CURRENT_DIR, "prompts.yaml"), 'r') as stream: | |
| prompt_templates = yaml.safe_load(stream) | |
| # Agent | |
| agent = CodeAgent( | |
| model=model, | |
| tools=[ | |
| web_search, | |
| visit_webpage, | |
| suggest_menu, | |
| catering_service_tool, | |
| superhero_party_theme_generator, | |
| ], | |
| managed_agents=[], | |
| max_steps=10, | |
| verbosity_level=2, | |
| planning_interval=None, | |
| executor_type='local', | |
| prompt_templates=prompt_templates | |
| ) | |
| # Launch UI | |
| if __name__ == "__main__": | |
| GradioUI(agent).launch() | |