Spaces:
Running on Zero
Running on Zero
| # config.py | |
| import os | |
| import threading | |
| from dotenv import load_dotenv | |
| from huggingface_hub import login | |
| load_dotenv(override=True) | |
| # ββ Auth ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| hf_token = os.getenv("HF_TOKEN") | |
| if hf_token: | |
| login(token=hf_token) | |
| else: | |
| print( | |
| "Warning: HF_TOKEN not set. Running without Hugging Face authentication. " | |
| "Set HF_TOKEN in your Space secrets for higher rate limits." | |
| ) | |
| # ββ Concurrency βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| append_answer_lock = threading.Lock() | |
| # ββ Model ID βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| MODEL_ID = "Qwen/Qwen3.6-27B:featherless-ai" | |
| # ββ Model role mapping ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| CUSTOM_ROLE_CONVERSIONS = {"tool-call": "assistant", "tool-response": "user"} | |
| # ββ Browser / HTTP ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| USER_AGENT = ( | |
| "Mozilla/5.0 (Windows NT 10.0; Win64; x64) " | |
| "AppleWebKit/537.36 (KHTML, like Gecko) " | |
| "Chrome/119.0.0.0 Safari/537.36 Edg/119.0.0.0" | |
| ) | |
| BROWSER_CONFIG = { | |
| "viewport_size": 1024 * 5, | |
| "downloads_folder": "downloads_folder", | |
| "request_kwargs": { | |
| "headers": {"User-Agent": USER_AGENT}, | |
| "timeout": 300, | |
| }, | |
| "exa_key": os.getenv("EXA_API_KEY"), | |
| } | |
| os.makedirs(f"./{BROWSER_CONFIG['downloads_folder']}", exist_ok=True) | |
| # ββ Agent βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| AUTHORIZED_IMPORTS = [ | |
| "requests", "zipfile", "pandas", "numpy", "sympy", "json", "bs4", | |
| "pubchempy", "xml", "yahoo_finance", "Bio", "sklearn", "scipy", | |
| "pydub", "PIL", "chess", "PyPDF2", "pptx", "torch", "datetime", | |
| "fractions", "csv", | |
| ] | |
| TEXT_LIMIT = 20_000 |