import requests import os from typing import Any, Optional, List, Dict from smolagents.tools import Tool class CaloriesCheckerTool(Tool): name = "calories_check" description = "Based on a query including some food you want to check, it returns the calories and other nutritional parameters of the food" inputs = { "query": { "type": "string", "description": "The query with the food you want to check.", } } output_type = "list" def __init__(self, *args, **kwargs): self.is_initialized = False self.api_key = os.environ.get("CALORIES_API_KEY", None) def forward(self, query: str) -> list[dict[str, Any]]: api_url = "https://api.api-ninjas.com/v1/nutrition?query={}".format(query) response = requests.get(api_url, headers={"X-Api-Key": self.api_key}) if response.status_code == requests.codes.ok: return response.text return [{"Error": response.status_code, "message": "response.text"}]