Spaces:
Sleeping
Sleeping
| import os | |
| import gradio as gr | |
| from huggingface_hub import login | |
| from smolagents import DuckDuckGoSearchTool, InferenceClientModel, CodeAgent | |
| from tools import best_city, ClassifierTool | |
| web_search_tool = DuckDuckGoSearchTool() | |
| classifier_tool = ClassifierTool() | |
| hf_token = os.environ.get('HF_TOKEN') | |
| if hf_token: | |
| login(token=hf_token) | |
| model = InferenceClientModel(model_id='Qwen/Qwen3-4B-Instruct-2507', token=hf_token) | |
| tools = [ | |
| web_search_tool, | |
| classifier_tool, | |
| best_city | |
| ] | |
| my_aiagent = CodeAgent( | |
| tools=tools, | |
| # For the purpose of this tutorial, just have tools you integrated. | |
| # Also by default when teh add_base_tools is set to true, it will integrate DuckDuckGo Search. | |
| add_base_tools=False, | |
| model=model | |
| ) | |
| def respond( | |
| message, | |
| history: list[dict[str, str]], | |
| system_message | |
| ): | |
| full_prompt = f"{system_message}\n\nChat history:\n{history}\n\nUser: {message}" | |
| response = my_aiagent.run( | |
| full_prompt, | |
| max_steps=5, | |
| stream=False, | |
| ) | |
| yield response | |
| """ | |
| For information on how to customize the ChatInterface, peruse the gradio docs: https://www.gradio.app/docs/chatinterface | |
| """ | |
| chatbot = gr.ChatInterface( | |
| respond, | |
| type="messages", | |
| additional_inputs=[], | |
| ) | |
| with gr.Blocks() as demo: | |
| chatbot.render() | |
| if __name__ == "__main__": | |
| demo.launch() | |