import os # ----- BACKEND ----- BACKEND_BASE_URL = os.getenv("BACKEND_BASE_URL", "http://backend:8001/api/run") # ----- LiteLLM ----- LITELLM_BASE_URL = os.getenv("LITELLM_BASE_URL", "http://litellm:4000/v1") LITELLM_API_KEY = os.getenv("LITELLM_API_KEY") # ----- MCP SERVER ----- MCP_SERVER_URL = os.getenv("MCP_SERVER_URL", "http://mcp:8002/mcp") JUSTICE_API_BASE = os.getenv("JUSTICE_API_BASE") # ----- HTTP FOR TOOLS ----- HTTP_TIMEOUT = 10.0 HTTP_MAX_CONNECTIONS = 20 HTTP_MAX_KEEPALIVE = 10 # ----- HTTP FOR CHAINLIT CLIENT ----- HTTP_TIMEOUT_TOTAL = 300.0 HTTP_TIMEOUT_CONNECT = 10.0 # ----- CACHE ----- CACHE_TTL = 300 CACHE_MAX_SIZE = 256 # ----- RETRY ----- RETRY_ATTEMPTS = 3 RETRY_MULTIPLIER = 1 RETRY_MIN_WAIT = 1 RETRY_MAX_WAIT = 5 # ----- LLM MODELS ----- ALL_MODELS = [ {"id": "gpt-oss-120b", "desc": "Uses **openrouter/openai/gpt-oss-120b**", "icon": "gpt.svg"}, {"id": "llama-3.1-8b", "desc": "Uses **groq/llama-3.1-8b-instant**", "icon": "ollama.svg"}, {"id": "qwen-qwq-32b", "desc": "Uses **groq/qwen/qwen3-32b**", "icon": "qwen.svg"}, {"id": "qwen3-235b", "desc": "Uses **cerebras/qwen-3-235b**", "icon": "qwen.svg"}, {"id": "gemini-2.5-flash", "desc": "Uses **gemini/gemini-2.5-flash**", "icon": "gemini.svg"}, {"id": "gemini-2.5-pro", "desc": "Uses **gemini/gemini-2.5-pro**", "icon": "gemini.svg"}, {"id": "deepseek-r1", "desc": "Uses **openrouter/deepseek/deepseek-r1**", "icon": "deepseek.svg"}, ] # ----- AI AGENT ----- DEFAULT_MODEL= "gpt-oss-120b" AGENT_TEMPERATURE = 0.3 LLM_TIMEOUT = 120.0 # ----- CHAINLIT DATABASE ----- CHAINLIT_DATABASE_URL = os.getenv("CHAINLIT_DATABASE_URL") CHAINLIT_AUTH_SECRET = os.getenv("CHAINLIT_AUTH_SECRET") # ----- CHAINLIT AUTH ----- AUTH_USER = os.getenv("AUTH_USER") AUTH_PASS = os.getenv("AUTH_PASS") # ----- CHAINLIT STARTERS ----- ALL_STARTERS = [ {"label": "Legal Data Search", "prompt": "What legal data can the agent find?", "icon": "magnifying-glass.svg"}, {"label": "Restricted Actions List", "prompt": "What is the agent not allowed to do or use?", "icon": "ban.svg"}, {"label": "Agent Data Sources", "prompt": "What data sources does the agent rely on?", "icon": "database.svg"}, {"label": "Example Legal Case", "prompt": "Give me an example of a legal question you can answer.", "icon": "scale-balanced.svg"}, ]