File size: 2,577 Bytes
dd8e099 f9a89db 2a3656e f9a89db 18eddf0 f9a89db | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | # 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 |