refactor: 移除 PostgreSQL 支持,简化为纯 SQLite 部署
- config.py: DATABASE_URL 默认值改为 SQLite - database.py: 移除 PostgreSQL 分支,简化为纯 SQLite - models/base.py: 移除 pgvector 导入和条件分支 - search_service.py: 移除 _search_postgres 方法 - import_service.py: 移除 pgvector 相关代码 - requirements.txt: 移除 asyncpg/alembic/pgvector 依赖 - pyproject.toml: 同步移除相关依赖 - docker-compose.yml: 移除 db 服务,- 删除 alembic.ini/Dockerfile.db/sql 目录 - README.md: 更新文档,移除 PostgreSQL 相关内容 适合 NAS 等资源受限环境的轻量级部署
This commit is contained in:
24
README.md
24
README.md
@@ -19,10 +19,10 @@
|
||||
- **BM25 索引**: 内置倒排索引搜索引擎,jieba 中文分词
|
||||
|
||||
### AI 搜索
|
||||
- **知识库搜索**: 向量语义搜索 + 全文检索混合排序
|
||||
- **知识库搜索**: 关键词搜索
|
||||
- **图片搜索**: MiniMax M2.7 语义匹配,SSE 流式实时返回结果
|
||||
- **并发池**: 最多 10 个 LLM 请求并发,每批数量可配置
|
||||
- **可配置参数**: 搜索返回数量、LLM 批量判断数量均可在网页端设置
|
||||
- **可配置参数**: 搜索返回数量、LLM 批量判断数量、OCR 并发数量均可在网页端设置
|
||||
|
||||
### 企业微信机器人
|
||||
- **WebSocket 长连接**: 基于官方 SDK,无需公网 IP
|
||||
@@ -33,7 +33,7 @@
|
||||
|
||||
### 其他
|
||||
- **MCP 协议**: 支持 Model Context Protocol,可被 AI Agent 调用
|
||||
- **Docker 部署**: 完整的 Docker Compose 编排(应用 + PostgreSQL + pgvector)
|
||||
- **Docker 部署**: 单容器部署,轻量级
|
||||
|
||||
## 技术栈
|
||||
|
||||
@@ -41,13 +41,13 @@
|
||||
|------|------|
|
||||
| 后端框架 | FastAPI + Uvicorn |
|
||||
| ORM | SQLAlchemy 2.0 (async) |
|
||||
| 数据库 | PostgreSQL (pgvector) / SQLite |
|
||||
| 数据库 | SQLite |
|
||||
| 前端 | 纯 HTML + CSS + JS(苹果风格 SPA) |
|
||||
| OCR | DeepSeek Vision / PaddleOCR / 阿里云 / 腾讯云 |
|
||||
| LLM | MiniMax M2.7 / DeepSeek / Qwen3-8B |
|
||||
| 搜索 | BM25 倒排索引 + 向量语义搜索 |
|
||||
| 搜索 | BM25 倒排索引 + 关键词搜索 |
|
||||
| 企业微信 | wecom-aibot-python-sdk (WebSocket 长连接) |
|
||||
| 部署 | Docker + Docker Compose |
|
||||
| 部署 | Docker |
|
||||
|
||||
## 项目结构
|
||||
|
||||
@@ -56,12 +56,12 @@ edu-brain/
|
||||
├── app/
|
||||
│ ├── main.py # FastAPI 入口,路由注册,生命周期管理,BotManager
|
||||
│ ├── config.py # pydantic-settings 配置管理
|
||||
│ ├── database.py # 数据库连接(PG/SQLite 双后端)
|
||||
│ ├── database.py # SQLite 数据库连接
|
||||
│ ├── models/base.py # ORM 模型(KnowledgePage, OCRImage 等)
|
||||
│ ├── schemas/ # Pydantic 请求/响应 Schema
|
||||
│ ├── api/v1/ # API 路由
|
||||
│ │ ├── pages.py # 知识页面 CRUD
|
||||
│ │ ├── search.py # 语义搜索
|
||||
│ │ ├── search.py # 关键词搜索
|
||||
│ │ ├── images.py # 图片 OCR + AI 搜索(SSE)+ 去重 + 删除
|
||||
│ │ ├── import_export.py # 文件导入导出
|
||||
│ │ └── settings.py # 系统设置 + 机器人管理
|
||||
@@ -69,7 +69,7 @@ edu-brain/
|
||||
│ │ ├── ocr_service.py # OCR 识别服务(多 Provider)
|
||||
│ │ ├── llm_service.py # LLM 服务(标签提取/搜索匹配)
|
||||
│ │ ├── search_engine.py # BM25 倒排索引引擎
|
||||
│ │ ├── search_service.py # 混合搜索服务
|
||||
│ │ ├── search_service.py # 搜索服务
|
||||
│ │ ├── embedding_service.py # 嵌入模型服务
|
||||
│ │ ├── import_service.py # 文件导入服务
|
||||
│ │ └── page_service.py # 页面 CRUD 服务
|
||||
@@ -80,7 +80,6 @@ edu-brain/
|
||||
├── .env.example # 环境变量模板
|
||||
├── requirements.txt # Python 依赖
|
||||
├── Dockerfile # 应用镜像
|
||||
├── Dockerfile.db # 数据库镜像(PG + pgvector)
|
||||
└── docker-compose.yml # Docker 编排
|
||||
```
|
||||
|
||||
@@ -192,7 +191,7 @@ docker-compose up -d
|
||||
| POST | `/api/v1/images/dedup` | 一键去重 |
|
||||
| GET | `/api/v1/pages` | 知识页面列表 |
|
||||
| POST | `/api/v1/pages` | 创建知识页面 |
|
||||
| POST | `/api/v1/search` | 语义搜索知识库 |
|
||||
| POST | `/api/v1/search` | 关键词搜索知识库 |
|
||||
| POST | `/api/v1/import/file` | 导入文件 |
|
||||
| GET | `/api/v1/settings` | 获取系统设置 |
|
||||
| PUT | `/api/v1/settings` | 更新系统设置 |
|
||||
@@ -216,7 +215,7 @@ docker-compose up -d
|
||||
| Provider | 说明 | 额外配置 |
|
||||
|----------|------|----------|
|
||||
| `minimax` | MiniMax 嵌入 | `MINIMAX_API_KEY` |
|
||||
| `openai` | OpenAI 嵌入 | `OPENAI_API_KEY` |
|
||||
| `openai` | OpenAI 嵌入(兼容硅基流动等第三方接口) | `OPENAI_API_KEY` |
|
||||
| `zhipu` | 智谱 AI 嵌入 | `ZHIPU_API_KEY` |
|
||||
| `dashscope` | 阿里云 DashScope | `DASHSCOPE_API_KEY` |
|
||||
| `local_bge` | 本地 BGE 模型 | `LOCAL_BGE_MODEL_PATH` |
|
||||
@@ -227,3 +226,4 @@ docker-compose up -d
|
||||
|------|------|--------|------|
|
||||
| 搜索返回数量 | 每次搜索最多返回多少条匹配结果 | 3 | 1-10 |
|
||||
| LLM 批量判断数量 | 每批发给 LLM 判断的图片数量 | 10 | 1-50 |
|
||||
| OCR 并发数量 | 多用户同时上传时 OCR 并发识别数量 | 1 | 1-10 |
|
||||
|
||||
Reference in New Issue
Block a user