Spring AI Framework(三:RAG与LLM问答)

前言

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