from flask import Flask, request, jsonify from smolagents import CodeAgent, DuckDuckGoSearchTool, HfApiModel app = Flask(__name__) def get_tool_instance(tool_name): if tool_name == "DuckDuckGoSearchTool": return DuckDuckGoSearchTool() # Add other tools here (e.g., from LangChain) return None @app.route('/run_agent', methods=['POST']) def run_agent(): data = request.get_json() query = data.get('query') tool_names = data.get('tools',) tools = [get_tool_instance(tool_name) for tool_name in tool_names if get_tool_instance(tool_name)] model = HfApiModel() # Or any other LLM model you want to use agent = CodeAgent(tools=tools, model=model) try: result = agent.run(query) return jsonify({'result': result}) except Exception as e: return jsonify({'result': f"Error: {str(e)}"}), 500 if __name__ == '__main__': app.run(debug=False) # Important: Change to debug=False for production