支持 PDF、Markdown 和 TXT 的企业知识库助手。系统使用本地 BGE Embedding、 ChromaDB 持久化检索,以及 OpenAI 兼容 API 生成带页码引用的答案。
- 多文件上传,PDF 保留页码
- 500 字切片、100 字重叠(环境变量可调)
- 文件哈希去重、Top-K 语义检索和相似度展示
- 回答标注资料编号,可展开查看命中原文
- 支持 OpenAI、DeepSeek 等 OpenAI 兼容接口
建议使用 Python 3.11:
python -m venv .venv
.venv\Scripts\Activate.ps1
pip install -r requirements.txt
Copy-Item .env.example .env编辑 .env,然后启动:
streamlit run app.py首次启动会下载中文 BGE 模型。DeepSeek 配置示例:
LLM_API_KEY=your-deepseek-key
LLM_BASE_URL=https://api.deepseek.com
LLM_MODEL=deepseek-chat准备 .env 后运行 docker compose up --build,访问
http://localhost:8501。向量数据保存在 data/chroma。
app.py Streamlit 页面入口
config.py 环境变量配置
document/loader.py PDF / Markdown / TXT 读取
document/splitter.py LangChain 文本切片
vector/embedding.py 本地 BGE 向量化
vector/database.py Chroma 持久化与检索
rag/retriever.py Top-K 检索
rag/qa.py 提示词与大模型问答
扫描版 PDF 不包含文本层,当前版本会提示先进行 OCR。