这是一个基于向量数据库的文档检索和问答系统,支持多种存储后端。
- 向量数据库: ChromaDB (核心存储)
- 结构化存储: MySQL, MongoDB, Elasticsearch
- 本地存储: JSON/CSV 文件
- 文档预处理: 分块、清洗
- 向量化: 使用 sentence-transformers 模型
- 存储与索引: 向量和原始文本关联存储
- 向量检索: 相似度搜索
- 上下文构建: 原始文本拼接
- 问答生成: 调用 DeepSeek 大模型
tagDemo/
├── app/
│ ├── __init__.py
│ ├── main.py # FastAPI 主应用
│ ├── config.py # 配置管理
│ ├── models/ # 数据模型
│ ├── services/ # 业务逻辑
│ ├── api/ # API 路由
│ └── utils/ # 工具函数
├── data/ # 数据存储目录
├── docs/ # 文档目录
├── requirements.txt # 依赖包
└── README.md # 项目说明
- 安装依赖:
pip install -r requirements.txt- 配置环境变量:
cp .env.example .env
# 编辑 .env 文件配置数据库连接等- 运行应用:
uvicorn app.main:app --reloadPOST /api/documents/upload- 上传文档POST /api/documents/query- 查询问答GET /api/documents/list- 获取文档列表DELETE /api/documents/{doc_id}- 删除文档
支持多种存储后端配置:
- ChromaDB (向量数据库)
- MySQL (关系数据库)
- MongoDB (文档数据库)
- Elasticsearch (搜索引擎)