|
|
import os |
|
|
from autoagents.system.tools import SearchEngineType, WebBrowserEngineType |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
LLM_API_KEY = os.getenv("OPENAI_API_KEY") or os.getenv("LLM_API_KEY", "") |
|
|
LLM_MODEL = os.getenv("OPENAI_API_MODEL", "gpt-4o") |
|
|
|
|
|
|
|
|
OPENAI_API_BASE = os.getenv("OPENAI_API_BASE", "") |
|
|
OPENAI_API_TYPE = os.getenv("OPENAI_API_TYPE", "") |
|
|
OPENAI_API_VERSION = os.getenv("OPENAI_API_VERSION", "") |
|
|
DEPLOYMENT_ID = os.getenv("DEPLOYMENT_ID", "") |
|
|
|
|
|
|
|
|
def _as_int(name: str, default: int | None) -> int | None: |
|
|
try: |
|
|
val = os.getenv(name) |
|
|
return int(val) if val is not None else default |
|
|
except Exception: |
|
|
return default |
|
|
|
|
|
def _as_float(name: str, default: float | None) -> float | None: |
|
|
try: |
|
|
val = os.getenv(name) |
|
|
return float(val) if val is not None else default |
|
|
except Exception: |
|
|
return default |
|
|
|
|
|
def _as_bool(name: str, default: bool = False) -> bool: |
|
|
val = os.getenv(name) |
|
|
if val is None: |
|
|
return default |
|
|
return str(val).strip().lower() in ("1", "true", "yes", "y", "on") |
|
|
|
|
|
RPM = _as_int("RPM", 10) or 10 |
|
|
|
|
|
RPM = max(1, int(RPM)) |
|
|
|
|
|
MAX_TOKENS = _as_int("MAX_TOKENS", None) |
|
|
|
|
|
|
|
|
TEMPERATURE = _as_float("TEMPERATURE", 0.2) |
|
|
|
|
|
if TEMPERATURE is not None: |
|
|
TEMPERATURE = max(0.0, min(2.0, TEMPERATURE)) |
|
|
|
|
|
TOP_P = _as_float("TOP_P", 1.0) |
|
|
PRESENCE_PENALTY = _as_float("PRESENCE_PENALTY", 0.0) |
|
|
FREQUENCY_PENALTY = _as_float("FREQUENCY_PENALTY", 0.0) |
|
|
N = _as_int("N", 1) or 1 |
|
|
|
|
|
|
|
|
_STOP_RAW = os.getenv("STOP", os.getenv("STOP_WORDS", "")).strip() |
|
|
STOP = [s.strip() for s in _STOP_RAW.split(",") if s.strip()] if _STOP_RAW else None |
|
|
|
|
|
|
|
|
MAX_BUDGET = _as_float("MAX_BUDGET", 100.0) or 100.0 |
|
|
TOTAL_COST = 0.0 |
|
|
|
|
|
|
|
|
GLOBAL_PROXY = os.getenv("GLOBAL_PROXY", "") |
|
|
OPENAI_PROXY = os.getenv("OPENAI_PROXY", "") |
|
|
|
|
|
|
|
|
|
|
|
CLAUDE_API_KEY = ( |
|
|
os.getenv("Anthropic_API_KEY") |
|
|
or os.getenv("ANTHROPIC_API_KEY") |
|
|
or os.getenv("CLAUDE_API_KEY") |
|
|
or "" |
|
|
) |
|
|
CLAUDE_MODEL = os.getenv("CLAUDE_MODEL", "anthropic/claude-2") |
|
|
|
|
|
|
|
|
LONG_TERM_MEMORY = _as_bool("LONG_TERM_MEMORY", False) |
|
|
|
|
|
|
|
|
SERPAPI_API_KEY = os.getenv("SERPAPI_API_KEY", "") |
|
|
SERPER_API_KEY = os.getenv("SERPER_API_KEY", "") |
|
|
GOOGLE_API_KEY = os.getenv("GOOGLE_API_KEY", "") |
|
|
GOOGLE_CSE_ID = os.getenv("GOOGLE_CSE_ID", "") |
|
|
|
|
|
|
|
|
_SEARCH_ENGINE_NAME = os.getenv("SEARCH_ENGINE", SearchEngineType.SERPAPI_GOOGLE.value) |
|
|
try: |
|
|
SEARCH_ENGINE = SearchEngineType(_SEARCH_ENGINE_NAME) |
|
|
except Exception: |
|
|
SEARCH_ENGINE = SearchEngineType.SERPAPI_GOOGLE |
|
|
|
|
|
|
|
|
try: |
|
|
WEB_BROWSER_ENGINE = WebBrowserEngineType(os.getenv("WEB_BROWSER_ENGINE", WebBrowserEngineType.PLAYWRIGHT.value)) |
|
|
except Exception: |
|
|
WEB_BROWSER_ENGINE = WebBrowserEngineType.PLAYWRIGHT |
|
|
PLAYWRIGHT_BROWSER_TYPE = os.getenv("PLAYWRIGHT_BROWSER_TYPE", "chromium") |
|
|
SELENIUM_BROWSER_TYPE = os.getenv("SELENIUM_BROWSER_TYPE", "chrome") |
|
|
|
|
|
|
|
|
LLM_TIMEOUT = _as_float("LLM_TIMEOUT", 60.0) or 60.0 |
|
|
|
|
|
|
|
|
_proxy_to_apply = OPENAI_PROXY or GLOBAL_PROXY |
|
|
if _proxy_to_apply: |
|
|
|
|
|
os.environ.setdefault("HTTP_PROXY", _proxy_to_apply) |
|
|
os.environ.setdefault("HTTPS_PROXY", _proxy_to_apply) |
|
|
|
|
|
|
|
|
LLM_PARSER_REPAIR = _as_bool("LLM_PARSER_REPAIR", True) |
|
|
LLM_PARSER_REPAIR_ATTEMPTS = max(0, _as_int("LLM_PARSER_REPAIR_ATTEMPTS", 1) or 1) |
|
|
|
|
|
SUPERVISOR_API_KEY = os.getenv("SUPERVISOR_API_KEY") |
|
|
SUPERVISOR_MODEL = os.getenv("SUPERVISOR_MODEL") |
|
|
SUPERVISOR_API_BASE = os.getenv("SUPERVISOR_API_BASE") |
|
|
|
|
|
REASONING_API_KEY = os.getenv("REASONING_API_KEY") |
|
|
REASONING_MODEL = os.getenv("REASONING_MODEL") |
|
|
REASONING_API_BASE = os.getenv("REASONING_API_BASE") |
|
|
|
|
|
MANAGER_API_KEY = os.getenv("MANAGER_API_KEY") |
|
|
MANAGER_MODEL = os.getenv("MANAGER_MODEL") |
|
|
MANAGER_API_BASE = os.getenv("MANAGER_API_BASE") |
|
|
|
|
|
TASK_ID = -1 |
|
|
OUTPUT_FILE = os.getenv("OUTPUT_FILE", "output.json") |
|
|
|