async def run_async(self, *args, **kwargs):
        """
        Asynchronous version of the run method.
        """
        llm_model = kwargs.get("llm_model", None)

        # If there is an two positional arguments we will run it in self.agent_async(first argument, second argument)
        if len(args) == 2:
            
            if isinstance(args[0], AgentConfiguration) and isinstance(args[1], Task):
                return await self.agent_async(args[0], args[1])
            elif isinstance(args[0], list):
                return await self.multi_agent_async(args[0], args[1])
        

        if len(args) == 1:
            return await self.call_async(args[0], llm_model=llm_model)

        Asynchronous version of the run method.
        
src/upsonic/client/base.py