/
githubmirror
/
Multi-GPT
Обзор
Документация
Войти
/
githubmirror
/
Multi-GPT
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
autogpt/args.py
137 строк
5 KB
ryderwishart
Use correct MultiConfig class
22 апр 2023, 01:09
22 апр 2023, 01:09
e243c19
Код
Авторство
О чём код?
"""This module contains the argument parsing logic for the script.""" import argparse from colorama import Fore from autogpt import utils from autogpt.logs import logger from autogpt.memory import get_supported_memory_backends from multigpt.multi_config import MultiConfig CFG = MultiConfig() def parse_arguments() -> None: """Parses the arguments passed to the script Returns: None """ CFG.set_debug_mode(False) CFG.set_continuous_mode(False) CFG.set_speak_mode(False) parser = argparse.ArgumentParser(description="Process arguments.") parser.add_argument( "--continuous", "-c", action="store_true", help="Enable Continuous Mode" ) parser.add_argument( "--continuous-limit", "-l", type=int, dest="continuous_limit", help="Defines the number of times to run in continuous mode", ) parser.add_argument("--speak", action="store_true", help="Enable Speak Mode") parser.add_argument("--debug", action="store_true", help="Enable Debug Mode") parser.add_argument( "--gpt3only", action="store_true", help="Enable GPT3.5 Only Mode" ) parser.add_argument("--gpt4only", action="store_true", help="Enable GPT4 Only Mode") parser.add_argument( "--use-memory", "-m", dest="memory_type", help="Defines which Memory backend to use", ) parser.add_argument( "--skip-reprompt", "-y", dest="skip_reprompt", action="store_true", help="Skips the re-prompting messages at the beginning of the script", ) parser.add_argument( "--use-browser", "-b", dest="browser_name", help="Specifies which web-browser to use when using selenium to scrape the web.", ) parser.add_argument( "--ai-settings", "-C", dest="ai_settings_file", help="Specifies which ai_settings.yaml file to use, will also automatically" " skip the re-prompt.", ) args = parser.parse_args() if args.debug: logger.typewriter_log("Debug Mode: ", Fore.GREEN, "ENABLED") CFG.set_debug_mode(True) if args.continuous: logger.typewriter_log("Continuous Mode: ", Fore.RED, "ENABLED") logger.typewriter_log( "WARNING: ", Fore.RED, "Continuous mode is not recommended. It is potentially dangerous and may" " cause your AI to run forever or carry out actions you would not usually" " authorise. Use at your own risk.", ) CFG.set_continuous_mode(True) if args.continuous_limit: logger.typewriter_log( "Continuous Limit: ", Fore.GREEN, f"{args.continuous_limit}" ) CFG.set_continuous_limit(args.continuous_limit) # Check if continuous limit is used without continuous mode if args.continuous_limit and not args.continuous: parser.error("--continuous-limit can only be used with --continuous") if args.speak: logger.typewriter_log("Speak Mode: ", Fore.GREEN, "ENABLED") CFG.set_speak_mode(True) if args.gpt3only: logger.typewriter_log("GPT3.5 Only Mode: ", Fore.GREEN, "ENABLED") CFG.set_smart_llm_model(CFG.fast_llm_model) if args.gpt4only: logger.typewriter_log("GPT4 Only Mode: ", Fore.GREEN, "ENABLED") CFG.set_fast_llm_model(CFG.smart_llm_model) if args.memory_type: supported_memory = get_supported_memory_backends() chosen = args.memory_type if chosen not in supported_memory: logger.typewriter_log( "ONLY THE FOLLOWING MEMORY BACKENDS ARE SUPPORTED: ", Fore.RED, f"{supported_memory}", ) logger.typewriter_log("Defaulting to: ", Fore.YELLOW, CFG.memory_backend) else: CFG.memory_backend = chosen if args.skip_reprompt: logger.typewriter_log("Skip Re-prompt: ", Fore.GREEN, "ENABLED") CFG.skip_reprompt = True if args.ai_settings_file: file = args.ai_settings_file # Validate file (validated, message) = utils.validate_yaml_file(file) if not validated: logger.typewriter_log("FAILED FILE VALIDATION", Fore.RED, message) logger.double_check() exit(1) logger.typewriter_log("Using AI Settings File:", Fore.GREEN, file) CFG.ai_settings_file = file CFG.skip_reprompt = True if args.browser_name: CFG.selenium_web_browser = args.browser_name