|
|
|
|
|
import os |
|
|
from pathlib import Path |
|
|
from dotenv import load_dotenv |
|
|
|
|
|
load_dotenv() |
|
|
|
|
|
|
|
|
BASE_DIR = Path(__file__).parent.parent |
|
|
DATA_DIR = BASE_DIR / "data" |
|
|
|
|
|
|
|
|
HF_API_TOKEN = os.getenv("HF_API_TOKEN", "") |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MODEL_NAME = os.getenv("MODEL_NAME", "Qwen/Qwen2.5-3B-Instruct") |
|
|
MODEL_NAME_FALLBACK = os.getenv("MODEL_NAME_FALLBACK", "microsoft/Phi-3-mini-4k-instruct") |
|
|
|
|
|
|
|
|
|
|
|
SKIP_WEB_SEARCH = os.getenv("SKIP_WEB_SEARCH", "false").lower() == "true" |
|
|
|
|
|
|
|
|
VECTOR_INDEX_PATH = os.getenv("VECTOR_INDEX_PATH", str(DATA_DIR / "faiss.index")) |
|
|
EMBEDDING_MODEL = "sentence-transformers/all-MiniLM-L6-v2" |
|
|
EMBEDDING_DIM = 384 |
|
|
|
|
|
|
|
|
MCP_SEARCH_PORT = int(os.getenv("MCP_SEARCH_PORT", "9001")) |
|
|
MCP_EMAIL_PORT = int(os.getenv("MCP_EMAIL_PORT", "9002")) |
|
|
MCP_CALENDAR_PORT = int(os.getenv("MCP_CALENDAR_PORT", "9003")) |
|
|
MCP_STORE_PORT = int(os.getenv("MCP_STORE_PORT", "9004")) |
|
|
|
|
|
|
|
|
COMPANY_FOOTER_PATH = os.getenv("COMPANY_FOOTER_PATH", str(DATA_DIR / "footer.txt")) |
|
|
ENABLE_CAN_SPAM = os.getenv("ENABLE_CAN_SPAM", "true").lower() == "true" |
|
|
ENABLE_PECR = os.getenv("ENABLE_PECR", "true").lower() == "true" |
|
|
ENABLE_CASL = os.getenv("ENABLE_CASL", "true").lower() == "true" |
|
|
|
|
|
|
|
|
MIN_FIT_SCORE = float(os.getenv("MIN_FIT_SCORE", "0.5")) |
|
|
FACT_TTL_HOURS = int(os.getenv("FACT_TTL_HOURS", "168")) |
|
|
|
|
|
|
|
|
COMPANIES_FILE = DATA_DIR / "companies.json" |
|
|
SUPPRESSION_FILE = DATA_DIR / "suppression.json" |
|
|
|