# 这个项目没有 mock provider。没有可用模型,服务直接起不来,这是刻意的。 # 一个在没有模型时还能正常返回的对话服务,会掩盖掉所有真实的失败模式。 # # 下面 A 和 B 至少配一个。只配 B 也能完整跑检索那条线, # 因为 embedding 和 rerank 都在本地,一次 LLM 调用都没有。 # ---------------------------------------------------------------- A 托管模型 # 变量名是 LLM_API_KEY。OPENAI_API_KEY 也认,作为兼容 LLM_API_KEY=sk-... LLM_BASE_URL=https://api.openai.com/v1 TIER_CHEAP=gpt-5-mini TIER_STRONG=gpt-5 TIER_JUDGE=gpt-5-mini-2025-08-07 # judge 必须 pin 版本,否则基线不可比 REASONING_EFFORT=minimal # Gemini 走原生适配器,不是 OpenAI 兼容层。把 TIER_* 换成 gemini- 开头即可 # TIER_CHEAP=gemini-2.0-flash # ---------------------------------------------------------------- B 端侧兜底 # llama-server -hf --port 8091 # 配了这个就不需要 key。cheap 和 strong 两档不可用时,router 降到这一档 LOCAL_BASE_URL=http://127.0.0.1:8091/v1 LOCAL_MODEL=qwen2.5-3b-instruct # ---------------------------------------------------------------- 存储 # 端口是 55433 和 56379,不是默认端口。避免和机器上已有的 Postgres/Redis 撞 DB_URL=postgresql+psycopg://persona:persona@localhost:55433/persona REDIS_URL=redis://localhost:56379/0 # ---------------------------------------------------------------- 检索调参 RETRIEVE_FETCH=20 # 第一段召回宽度 RETRIEVE_K=4 # 最终进 context 的条数。调到 1 这游戏会明显变难 RRF_K=60 USE_RERANK=1 TOKEN_BUDGET=2200