# =========================================== # QMDSearch 环境变量配置 # =========================================== # --- 应用 --- APP_PORT=8000 LOG_LEVEL=info # --- 嵌入模型 --- # openai | local。默认走本地 Ollama 的 BGE-M3(多语言榜首、dense+sparse 一体,零 API 成本) EMBEDDING_PROVIDER=local # 以下为 EMBEDDING_PROVIDER=openai 时启用的 OpenAI 兼容配置(本地模式可留空) OPENAI_API_KEY=sk-xxx OPENAI_BASE_URL=https://api.openai.com/v1 EMBEDDING_MODEL=text-embedding-3-small # 维度需与所选嵌入模型一致:BGE-M3 为 1024;切换 OpenAI 时改回 1536 EMBEDDING_DIMENSION=1024 # --- Qdrant --- QDRANT_PORT=6333 QDRANT_DASHBOARD_PORT=6334 # --- Redis --- REDIS_PORT=6379 # --- Ollama 本地模型(文档三级总结)--- OLLAMA_PORT=11434 OLLAMA_MODEL=qwen2.5:1.5b # 备选模型: qwen2.5:3b(更好的总结质量,需更多内存) # EMBEDDING_PROVIDER=local 时使用的 Ollama 嵌入模型 OLLAMA_EMBEDDING_MODEL=bge-m3 # --- 重排模型(cross-encoder,经 Ollama /api/rerank 对 chunk 候选精排)--- # 启用后显著提升最终 Top-K 相关性;需 Ollama 已拉取 RERANKER_MODEL(见 docker-compose) RERANKER_ENABLED=true RERANKER_MODEL=qwen3-reranker:0.6b # --- NAS 持久化 --- NAS_DATA_DIR=./data # --- 检索参数 --- # L2 语义检索召回数量 RETRIEVAL_TOP_K=20 # L3 重排后返回数量 RETRIEVAL_FINAL_K=5 # --- 文档入库参数 --- # 低于此字符数触发 2.5 级回退 SUMMARY_MIN_TEXT_LENGTH=500 # --- 入库异步任务 --- # 入库后台任务并发上限 INGEST_MAX_CONCURRENCY=2 # 任务状态 Redis 保留秒数(进行中与已完成,默认 24 小时) INGEST_TASK_TTL_DONE=86400 # 失败任务状态 Redis 保留秒数(默认 7 天) INGEST_TASK_TTL_FAILED=604800 # --- 知识分类(taxonomy)--- # taxonomy JSON 文件路径,留空使用内置默认类目集 TAXONOMY_PATH= # 分类置信度低于此值归入 uncategorized CLASSIFY_CONFIDENCE_THRESHOLD=0.6 # query 路由命中类目数上限,超过走全库兜底 CLASSIFY_MAX_CATEGORIES=3 # --- 分层检索参数 --- # L1 层候选文档数 L1_DOC_TOP_N=10 # L2 层候选 section 数 L2_SECTION_TOP_N=5 # L3 层定位数 L3_TOP_N=10 # 是否启用稀疏检索 SPARSE_ENABLED=true # Redis 缓存秒数 CACHE_TTL=300 # --- 分块参数 --- # chunk 超长二次切分阈值(字符数) CHUNK_MAX_CHARS=800 # --- 认证(JWT)--- # JWT 签名密钥,生产环境必须设置为足够长的随机串;留空则启动时自动生成(仅开发用) JWT_SECRET_KEY= # JWT 签名算法 JWT_ALGORITHM=HS256 # token 有效期(分钟),默认 24 小时 JWT_EXPIRE_MINUTES=1440 # 是否开放 POST /api/v1/auth/register 注册接口 AUTH_REGISTER_ENABLED=true # 启动时自动创建的默认管理员用户名 DEFAULT_ADMIN_USERNAME=admin # 默认管理员密码,留空则不创建默认管理员 DEFAULT_ADMIN_PASSWORD= # --- 检索结果 AI 总结 --- # 参与总结的最大 hit 条数(控制 prompt 长度) RESULT_SUMMARY_MAX_HITS=5 # --- 文件上传 --- # 原始文件保存目录(相对路径以工作目录为基) UPLOAD_DIR=./uploads # 单文件大小上限(MB) UPLOAD_MAX_SIZE_MB=20 # 允许上传的扩展名(逗号分隔,含点号,全小写) UPLOAD_ALLOWED_EXTENSIONS=.txt,.md,.html,.htm,.pdf,.docx