前言
RAG测试文档 智慧城市.xlsx

对接RAG包括:📁 知识库管理、⚙️ 向量化服务、🔍 相似度检索、💬 RAG 问答。
功能模块:
- 知识库管理:多知识库管理、上传解析(PDF/Word/Excel)、Token 分块、pgvector 向量存储
- 向量化服务:文档异步向量化、实时文本向量化
- **相似度检索
:**通过pgvector 余弦相似度召回Top 3 - RAG 问答:相似度检索 + 多模型 LLM 生成答案(可配置系统提示词)
- 管理前台portalUI: Vue 3 单页应用
一、SpringAI RAG UI

1.目录结构
portalUI/
├── index.html # SPA 入口 HTML
├── package.json # 依赖与 npm 脚本
├── vite.config.ts # Vite 配置(别名、开发/预览代理)
├── tsconfig.json # TypeScript 主配置
├── tsconfig.node.json # Node 侧 TS 配置(vite.config 等)
├── env.d.ts # Vite 环境变量与 .vue 模块声明
├── .env.development # 开发环境 API 基址
├── .env.production # 生产构建 API 基址
├── .gitignore
├── README.md # 前台专用说明
├── public/
│ └── vite.svg # 静态资源(不经打包处理)
└── src/
├── main.ts # 应用入口:注册 Vue、Router、Element Plus
├── App.vue # 根组件,挂载 <router-view>
├── api/ # REST 封装层(与后端路径一一对应)
│ ├── request.ts # Axios 实例、拦截器、baseURL
│ ├── knowledgeBase.ts# 知识库 CRUD
│ ├── document.ts # 文档上传/列表/解析/启用/删除
│ ├── vectorize.ts # 向量化(同步/异步/实时)
│ ├── rag.ts # RAG 问答、相似度检索
│ └── llm.ts # LLM 提供商列表(问答页选模型)
├── types/
│ └── rag.ts # TS 类型(对齐 Java ragapi DTO)
├── router/
│ └── index.ts # 路由表与页面 meta.title
├── layouts/
│ └── MainLayout.vue # 侧边栏 + 顶栏 + 内容区布局
├── views/ # 业务页面
│ ├── KnowledgeBaseList.vue # 知识库列表与创建
│ ├── KnowledgeBaseDetail.vue # 文档管理(某知识库下)
│ ├── VectorizePage.vue # 向量化服务
│ ├── RagSearchPage.vue # 相似度检索(GET/POST)
│ └── RagAskPage.vue # RAG 问答
├── utils/
│ └── format.ts # 日期、文件大小、解析状态格式化
└── styles/
└── main.css # 全局样式与页面通用 class
二、SpringAI RAG 架构和LLM流程
1.知识库管理
1.1 创建知识库
名称 ,描述 ,嵌入提供商 ,嵌入模型 ,解析方法 ,Chunk 大小 ,Chunk 重叠

1.2 知识库-文档管理
文档解析(解析文档并自动执行向量化)、向量化(加载文档的最新解析分块数据、调用 Embedding API 生成向量、插入到向量数据库表rag_vector_store)

2.向量化
文档向量化API基础服务。

3.相似度检索
通过pgvector 余弦相似度召回Top 3。

4.RAG 问答
检索增强生成。

三、向量数据库PostgreSQL
知识库信息表rag_knowledge_base
文档表rag_document

文档向量化存储表rag_vector_store

