import os from dotenv import load_dotenv from mistralai import Mistral from src.agent.utils.tooling import generate_tools_json from src.agent.tools import ( calculate_sum, retrieve_knowledge, visit_webpage, get_production_status, get_downtimes, ) load_dotenv() class MistralAgent: def __init__(self): self.api_key = os.getenv("MISTRAL_API_KEY") self.agent_id = os.getenv("AGENT_ID") self.client = Mistral(api_key=self.api_key) self.model = "mistral-medium-latest" self.prompt = None self.names_to_functions = { "calculate_sum": calculate_sum, "retrieve_knowledge": retrieve_knowledge, "visit_webpage": visit_webpage, "get_production_status": get_production_status, "get_downtimes": get_downtimes, } self.tools = self.get_tools() @staticmethod def get_tools(): """Generate the tools.json file with the tools to be used by the agent.""" return generate_tools_json( [ calculate_sum, retrieve_knowledge, visit_webpage, get_production_status, get_downtimes, ] ).get('tools')