dce9e31bde
- 新增 JWT 认证模块,支持登录/注册/用户管理 - 新增文件上传接口,支持 .txt/.md/.html/.pdf/.docx 等格式解析入库 - 新增检索结果 AI 总结功能 - 新增文本去重缓存机制 - 新增全局认证夹具简化测试 - 新增配置项与环境变量支持 - 完善文档与测试覆盖
101 lines
2.7 KiB
Bash
101 lines
2.7 KiB
Bash
# ===========================================
|
||
# QMDSearch 环境变量配置
|
||
# ===========================================
|
||
|
||
# --- 应用 ---
|
||
APP_PORT=8000
|
||
LOG_LEVEL=info
|
||
|
||
# --- 嵌入模型 ---
|
||
# openai | local
|
||
EMBEDDING_PROVIDER=openai
|
||
OPENAI_API_KEY=sk-xxx
|
||
OPENAI_BASE_URL=https://api.openai.com/v1
|
||
EMBEDDING_MODEL=text-embedding-3-small
|
||
EMBEDDING_DIMENSION=1536
|
||
|
||
# --- 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
|
||
|
||
# --- 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
|