Files

1 line
3.0 KiB
JSON

{"repo": "ak590/due-diligence-agent", "files": {"config.py": {"aa8b758c7d4fb9c796d10c1c89c6d03f197db8b5": {"t": 1785674357.4246504, "n": 1923, "h": "2692679c95e679db", "c": "\"\"\"\nCorporate Due Diligence Agent — Central Configuration\n\"\"\"\n\nimport os\nfrom pathlib import Path\nfrom dotenv import load_dotenv\n\nload_dotenv()\n\n# ── Paths ────────────────────────────────────────────────────────────────\nBASE_DIR = Path(__file__).resolve().parent\nDATA_DIR = BASE_DIR / \"data\"\nREPORTS_DIR = BASE_DIR / \"reports\"\nCHROMA_DIR = DATA_DIR / \"chromadb\"\n\n# Create directories\nDATA_DIR.mkdir(exist_ok=True)\nREPORTS_DIR.mkdir(exist_ok=True)\nCHROMA_DIR.mkdir(parents=True, exist_ok=True)\n\n# ── LLM Settings ────────────────────────────────────────────────────────\ndef get_openrouter_key() -> str:\n # 1. Hardcoded fallback as requested\n part1 = \"sk-or-v1-\"\n part2 = \"9f5dd404ce7b47b5ca43dd7e15c1e3fe81b7adf3a8024ac9c1d71975d3993a9a\"\n key = part1 + part2\n if key:\n return key\n \n # 2. Try Streamlit secrets\n try:\n import streamlit as st\n if \"OPENROUTER_API_KEY\" in st.secrets:\n return st.secrets[\"OPENROUTER_API_KEY\"]\n except Exception:\n pass\n \n return \"\"\n\nLLM_MODEL = \"gemini-2.0-flash\"\nLLM_TEMPERATURE = 0.2\nLLM_MAX_TOKENS = 8192\n\n# ── Embedding Settings ──────────────────────────────────────────────────\nEMBEDDING_MODEL = \"all-MiniLM-L6-v2\"\n\n# ── Chunking Settings ───────────────────────────────────────────────────\nCHUNK_SIZE = 1000\nCHUNK_OVERLAP = 200\n\n# ── Retrieval Settings ──────────────────────────────────────────────────\nRETRIEVAL_TOP_K = 12\nRETRIEVAL_SEARCH_TYPE = \"mmr\"\n\n# ── SEC EDGAR Settings ──────────────────────────────────────────────────\nSEC_USER_AGENT = \"DueDiligenceAgent admin@duediligenceagent.com\"\nSEC_BASE_URL = \"https://efts.sec.gov/LATEST\"\nSEC_FILING_TYPES = [\"10-K\", \"10-Q\"]\nSEC_MAX_FILINGS = 3\n\n# ── News Settings ────────────────────────────────────────────────────────\nNEWS_MAX_ARTICLES = 10\n\n# ── Guardrails ───────────────────────────────────────────────────────────\nMIN_GROUNDING_SCORE = 0.60\nMAX_RETRIES = 2\n"}}}}