Files
AIRegulation-DocAnalysis/README.md

128 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# AI+合规智能中枢 - 法律法规文档解析入库
面向车企与工厂的合规智能平台,实现法规文档的解析、分块、嵌入和向量存储。
## MVP功能
本次实现的核心功能(最小可用版本):
- ✅ PDF/DOCX文档解析MinerU + PyMuPDF
- ✅ 智能分块(章节级+条款级双粒度切割)
- ✅ BGE-M3嵌入Dense+Sparse双路向量
- ✅ Milvus向量数据库存储与混合检索
- ✅ FastAPI接口封装
## 项目结构
```text
AIRegulation-DocAnalysis-Demo/
├── backend/
│ ├── app/
│ │ ├── api/ # FastAPI 接口层
│ │ ├── config/ # 配置与日志
│ │ ├── services/ # 解析、分块、嵌入、存储、Agent
│ │ └── workers/
│ ├── requirements.txt
│ └── main.py
├── frontend/ # Vite React 前端
├── tests/ # 根级测试,导入 backend/app
├── docker/
│ └── docker-compose.yml
├── pyproject.toml
└── .env.example
```
## 快速开始
### 1. 安装依赖
```bash
pip install -r backend/requirements.txt
```
### 2. 启动Milvus向量数据库
```bash
cd docker
docker-compose up -d
```
等待Milvus启动完成约30秒
```bash
docker-compose logs -f milvus
```
### 3. 运行验证脚本
```bash
python tests/verify_mvp.py
```
根级测试脚本会自动把 `backend/` 加入导入路径,并从 `app.*` 加载当前后端代码。
### 4. 启动API服务
```bash
PYTHONPATH=backend uvicorn app.main:app --reload --port 8000
```
访问API文档http://localhost:8000/docs
## API接口
### 上传文档
```bash
curl -X POST http://localhost:8000/api/v1/documents/upload \
-F "file=@your_regulation.pdf" \
-F "doc_name=GB 7258-2017" \
-F "regulation_type=车辆安全"
```
### 检索法规
```bash
curl -X POST http://localhost:8000/api/v1/knowledge/search \
-H "Content-Type: application/json" \
-d '{"query": "机动车安全技术要求", "top_k": 10}'
```
## 技术栈
| 类别 | 技术 |
|------|------|
| 文档解析 | MinerU + PyMuPDF + python-docx |
| 分块策略 | 章节级+条款级双粒度切割 |
| 嵌入模型 | BGE-M31024维 Dense + Sparse |
| 向量数据库 | Milvus 2.4本地Docker部署 |
| 检索方式 | Dense+Sparse混合检索 + RRF融合 |
| API框架 | FastAPI |
## 配置
创建 `.env` 文件(参考 `.env.example`
```env
# Milvus配置
MILVUS_HOST=localhost
MILVUS_PORT=19530
# 嵌入模型配置
EMBEDDING_MODEL=BAAI/bge-m3
EMBEDDING_DIM=1024
# 分块配置
CHUNK_SIZE=512
```
## 后续迭代不在本次MVP范围
- LLM摘要生成DeepSeek/Qwen API
- 文档上传UI界面
- 混合检索问答功能
- 法规变更监控与自动更新
## 许可证
MIT License