# ============================================================================= # OpenAI / LangSmith credentials # ============================================================================= OPENAI_API_KEY=sk-your-key-here # LangSmith is optional and only used in 06_observability_fastapi. # Leave LANGSMITH_TRACING=false until you reach 06 — early notebooks generate # huge ingestion traces that exceed LangSmith's 25MB payload limit. LANGSMITH_API_KEY=lsv2_pt_your-key-here LANGSMITH_TRACING=false LANGSMITH_PROJECT=fin-rag-lab # ============================================================================= # Model selection — dual-model strategy # ============================================================================= # Three roles, three different cost/quality tradeoffs. Defaults below match # what's set in src/core/config.py. Override individually if you want to # experiment or tighten cost. # # GENERATOR — produces user-facing answers. Defaults to gpt-5-mini, the named # successor to o4-mini. Reasoning capability matters here because # the model has to distinguish "Q4 2025 net income" from # "Q4 2024 net income" or segment-level numbers in dense # financial tables. (This was Q0's failure mode in our eval.) # # JUDGE — Ragas + HallucinationDetector. Use a STRONGER model than the # generator, otherwise the judge has the same blindspots. # # VISION — bulk image / table captioning during ingestion. High volume, # low per-call stakes -> use the cheap end of GPT-5 family. # # Note: gpt-4o, gpt-4o-mini, and o4-mini are DEPRECATED in OpenAI's directory # as of 2026-04. We default to GPT-5 family models instead. # ----------------------------------------------------------------------------- # GENERATOR_MODEL=gpt-5-mini # default - cost/quality balance # GENERATOR_MODEL=gpt-5.4 # quality tier # GENERATOR_MODEL=gpt-5-nano # cheap tier - for fast iteration only # JUDGE_MODEL=gpt-5.4-mini # default - strongest mini, vision-capable # JUDGE_MODEL=gpt-5.5 # max quality - flagship, expensive # VISION_MODEL=gpt-5-mini # default # VISION_MODEL=gpt-5-nano # cheap (verify image input support first) # EMBEDDING_MODEL=text-embedding-3-small # default # EMBEDDING_MODEL=text-embedding-3-large # ~6x cost, ~5% quality gain