Stem_Copilot / config.py
Krishna111111's picture
claude code x2
52cbf99
Raw
History Blame Contribute Delete
1.88 kB
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-canvas")
# --- 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"
# Public URL of the deployed app — used as the OpenRouter HTTP-Referer header.
APP_URL = os.environ.get("APP_URL", "https://moai633-stem-copilot.hf.space")
# --- Defaults ---
DEFAULT_PERSONA = "nerd"
RETRIEVAL_TOP_K = 3
LLM_TIMEOUT = 180 # seconds — free models are slow, needs generous timeout
# Number of most-recent messages sent to the LLM per request (full history is
# still stored for the /history view). Caps input-token growth on long chats.
CONTEXT_WINDOW = int(os.environ.get("CONTEXT_WINDOW", "10"))
# Minimum Pinecone relevance score for a chunk to be injected as context.
RETRIEVAL_MIN_SCORE = float(os.environ.get("RETRIEVAL_MIN_SCORE", "0.45"))
# --- Logging ---
import logging
logging.basicConfig(
level=os.environ.get("LOG_LEVEL", "INFO").upper(),
format="%(asctime)s [%(levelname)s] %(name)s: %(message)s",
)