[开源]AI聊天应用,实现了RAG(检索增强生成)的知识库问答系统
开源系统
![[开源]AI聊天应用,实现了RAG(检索增强生成)的知识库问答系统](https://yy123.ink/api/img/1781065122923-3v479v.jpg)
一、开源项目简介
智能知识库问答系统
HzsparrowAI是一个基于SpringAI搭建的AI软件,这个项目本意是为了学习、测试AI功能,之后会基于此项目开发一些业务落地的实践项目,所有的需求和功能都将保证基本可用,可以作为企业级项目的开发基座。
二、开源协议
使用Apache-2.0开源协议
三、界面展示
系统截图
以下是系统的主要功能界面截图:
智能对话界面
通过智能对话界面,用户可以与AI进行自然语言交互,选择不同知识库进行问答。

知识库管理
知识库管理界面允许用户创建、查看和管理自己的知识库。

文档列表
每个知识库中的文档列表,用户可以查看、添加和删除文档。

文档内容查看
查看知识库中的文档详细内容,支持Markdown格式显示。

平台设置
设置平台的系统信息,主要用来设置默认模型。

模型设置
可以在平台中预置多种模型,解决模型需要灵活多变的需求。

四、功能概述
智能知识库问答系统
这是一个基于Spring Boot的AI聊天应用,集成了Spring AI和Ollama,实现了RAG(检索增强生成)功能的知识库问答系统。用户可以创建并管理知识库,添加文档,并通过智能问答功能检索知识库中的信息。
核心功能
智能对话
-
基于Ollama的自然语言交互 -
支持流式响应,实时显示AI回答 -
多模型支持,可灵活切换不同AI模型
知识库管理
-
创建、查看和管理多个知识库 -
支持知识库的增删改查操作 -
知识库权限管理
文档管理
-
支持多种文档格式上传(PDF、Word、TXT、Markdown等) -
文档内容自动解析和向量化存储 -
文档预览和内容管理 -
批量文档处理
对话管理
-
创建、查看和管理多个对话会话 -
支持对话标题自定义修改 -
对话历史记录和搜索 -
对话上下文保持
RAG检索增强
-
基于ElasticSearch的向量存储 -
智能文档检索和相关性匹配 -
检索结果与生成内容的有机结合 -
可调节的相似度阈值
用户系统
-
JWT身份认证和授权 -
基于角色的访问控制 -
用户注册和登录管理 -
用户数据隔离
用户体验
-
现代化响应式Web界面 -
支持Markdown格式渲染 -
移动设备友好的设计 -
直观的操作交互
五、技术选型
技术架构
后端技术栈
- Spring Boot 3.4.2
- 应用框架 - Spring AI 1.0.0
- AI集成框架 - Spring Security + JWT
- 安全认证 - MyBatis-Plus 3.5.11
- 数据持久化 - ElasticSearch
- 向量存储和检索 - WebSocket
- 实时通信 - Spring AI Tika
- 文档解析 - FlexMark
- Markdown处理
前端技术栈
- HTML/CSS/JavaScript
- 基础前端技术 - Marked.js
- Markdown解析渲染 - 响应式设计
- 适配多种设备
AI服务支持
- Ollama
- 本地大语言模型服务 - OpenAI兼容API
- 支持多种AI服务提供商
环境要求
- Java 17+
- MySQL 5.7+
- Maven 3.6+
- ElasticSearch 8.x
- Ollama服务
或其他兼容的AI服务
快速开始
详细内容请查看 README.md 文档
项目结构
评论