@lmliheng/rag-chunk
v1.0.2
Published
RAG资料读取,解析,分块,存储,向量化,入库。以及线上管理milvus
Readme
架构
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
│ Markdown │───▶│ │ │ │ │ │
│ PDF │───▶│ Chunk │───▶│Embedding │───▶│ Milvus │
│ DOCX* │───▶│ Split │ │(ZhipuAI) │ │ Search │
└──────────┘ └──────────┘ └──────────┘ └──────────┘
│ │
▼ ▼
JSON Output REST API功能
文档解析 — Markdown 元数据提取、PDF 文本抽取
智能分块 — 段落感知、可配置 overlap、长度自适应
向量化 — 对接智谱 embedding-3 模型,支持 128/256/512 维度
向量检索 — 连接 Milvus/Zilliz Cloud,支持 ANN 搜索与标量过滤
REST API — Express 服务,提供分块/嵌入/检索接口
技术栈
| 模块 | 技术 | |------|------| | 运行时 | Node.js 24+, TypeScript 5.x | | Web 框架 | Express 5 | | 向量数据库 | @zilliz/milvus2-sdk-node | | Embedding | 智谱 AI embedding-3 | | 文档解析 | pdf-parse | | 文件上传 | multer |
项目结构
├── index.ts # 入口 & CLI
├── src/
│ ├── server/index.ts # Express Web 服务
│ ├── chunk/
│ │ ├── markdown/index.ts # Markdown 解析 & 分块引擎
│ │ ├── pdf/index.ts # PDF 解析
│ │ └── word/index.ts # (开发中)
│ ├── embedding/embedding.ts # 向量化
│ └── file/write.ts # (开发中)
├── documents/ # 示例文档
├── output/ # 分块输出
└── .env # API Key & Milvus 配置环境变量
Z_API_KEY — 智谱 AI API Key
MILVUS_DB_IP — Milvus 地址
MILVUS_DB_COLLECTION — Collection 名称
API 路由
GET / 健康检查
GET /getState 检查 Milvus 连接状态
GET /collection_list 列出 Milvus Collections
POST /md_chunk 上传 Markdown → 返回分块 JSON
POST /entity 上传 Markdown → 分块 + 嵌入 → 返回完整 JSON
GET /search?search_content=关键词 向量检索