Spaces:
Running
Running
| import os | |
| # --- API Keys & Secrets --- | |
| GOOGLE_API_KEY = os.environ.get("GOOGLE_API_KEY", "") | |
| PINECONE_API_KEY = os.environ.get("PINECONE_API_KEY", "") | |
| GOOGLE_CLIENT_ID = os.environ.get("GOOGLE_CLIENT_ID", "") | |
| # Optional: shared fallback key (users bring their own via BYOK) | |
| OPENROUTER_API_KEY = os.environ.get("OPENROUTER_API_KEY", "") | |
| # Optional: shared Tavily web-search fallback key (users bring their own via BYOK) | |
| TAVILY_API_KEY = os.environ.get("TAVILY_API_KEY", "") | |
| # --- LangSmith (tracing & analytics) --- | |
| os.environ["LANGCHAIN_TRACING_V2"] = os.environ.get("LANGSMITH_TRACING", "true") | |
| os.environ["LANGCHAIN_API_KEY"] = os.environ.get("LANGSMITH_API_KEY", "") | |
| os.environ["LANGCHAIN_PROJECT"] = os.environ.get("LANGCHAIN_PROJECT", "stemcopilot-prod") | |
| # --- Pinecone --- | |
| PINECONE_INDEX = "stem-embed" | |
| # --- Embedding --- | |
| EMBED_MODEL_NAME = "BAAI/bge-large-en-v1.5" | |
| BGE_QUERY_PREFIX = "Represent this sentence: " | |
| # --- Database --- | |
| DB_PATH = "/data/stemgraph.db" if os.path.isdir("/data") else "stemgraph.db" | |
| # --- Defaults --- | |
| DEFAULT_PERSONA = "nerd" | |
| RETRIEVAL_TOP_K = 5 | |
| LLM_TIMEOUT = 180 # seconds — free models are slow, needs generous timeout | |