From af8023de432a5c9830ff03ba077d62033b55fed3 Mon Sep 17 00:00:00 2001 From: liangxinbing <1580466765@qq.com> Date: Wed, 12 Mar 2025 13:16:05 +0800 Subject: [PATCH] remove the cycle --- main.py | 26 ++++++++++------------- run_flow.py | 61 +++++++++++++++++++++++++---------------------------- 2 files changed, 40 insertions(+), 47 deletions(-) diff --git a/main.py b/main.py index 0e5c52a..60a0032 100644 --- a/main.py +++ b/main.py @@ -6,21 +6,17 @@ from app.logger import logger async def main(): agent = Manus() - while True: - try: - prompt = input("Enter your prompt (or 'exit'/'quit' to quit): ") - prompt_lower = prompt.lower() - if prompt_lower in ["exit", "quit"]: - logger.info("Goodbye!") - break - if not prompt.strip(): - logger.warning("Skipping empty prompt.") - continue - logger.warning("Processing your request...") - await agent.run(prompt) - except KeyboardInterrupt: - logger.warning("Goodbye!") - break + try: + prompt = input("Enter your prompt: ") + if not prompt.strip(): + logger.warning("Empty prompt provided.") + return + + logger.warning("Processing your request...") + await agent.run(prompt) + logger.info("Request processing completed.") + except KeyboardInterrupt: + logger.warning("Operation interrupted.") if __name__ == "__main__": diff --git a/run_flow.py b/run_flow.py index 3a5c8ba..66872a7 100644 --- a/run_flow.py +++ b/run_flow.py @@ -12,41 +12,38 @@ async def run_flow(): "manus": Manus(), } - while True: + try: + prompt = input("Enter your prompt: ") + + if prompt.strip().isspace() or not prompt: + logger.warning("Empty prompt provided.") + return + + flow = FlowFactory.create_flow( + flow_type=FlowType.PLANNING, + agents=agents, + ) + logger.warning("Processing your request...") + try: - prompt = input("Enter your prompt (or 'exit' to quit): ") - if prompt.lower() == "exit": - logger.info("Goodbye!") - break - - flow = FlowFactory.create_flow( - flow_type=FlowType.PLANNING, - agents=agents, + start_time = time.time() + result = await asyncio.wait_for( + flow.execute(prompt), + timeout=3600, # 60 minute timeout for the entire execution + ) + elapsed_time = time.time() - start_time + logger.info(f"Request processed in {elapsed_time:.2f} seconds") + logger.info(result) + except asyncio.TimeoutError: + logger.error("Request processing timed out after 1 hour") + logger.info( + "Operation terminated due to timeout. Please try a simpler request." ) - if prompt.strip().isspace(): - logger.warning("Skipping empty prompt.") - continue - logger.warning("Processing your request...") - try: - start_time = time.time() - result = await asyncio.wait_for( - flow.execute(prompt), - timeout=3600, # 60 minute timeout for the entire execution - ) - elapsed_time = time.time() - start_time - logger.info(f"Request processed in {elapsed_time:.2f} seconds") - logger.info(result) - except asyncio.TimeoutError: - logger.error("Request processing timed out after 1 hour") - logger.info( - "Operation terminated due to timeout. Please try a simpler request." - ) - - except KeyboardInterrupt: - logger.info("Operation cancelled by user.") - except Exception as e: - logger.error(f"Error: {str(e)}") + except KeyboardInterrupt: + logger.info("Operation cancelled by user.") + except Exception as e: + logger.error(f"Error: {str(e)}") if __name__ == "__main__":