java-maxkb 是一个基于 Java 开发的智能知识库系统,利用先进的自然语言处理和向量检索技术,为用户提供高效、准确的问答服务。通过集成文档管理、片段向量化、语义搜索和大语言模型(如 GPT-4)等功能,系统能够理解用户的问题,并从知识库中检索最相关的内容生成回答。
-
数据库设计 查看 01.html
设计并实现项目所需的数据表结构与数据库方案,为后续的数据操作打下坚实基础。 -
用户登录 查看 02.html
实现了安全可靠的用户认证系统,保护用户数据并限制未经授权的访问。 -
模型管理 查看 03.html
支持针对不同平台的模型(如 OpenAI、Google Gemini、Claude)进行管理与配置。 -
知识库管理 查看 04.html
提供创建、更新及删除知识库的功能,方便用户维护与管理文档内容。 -
文档拆分 查看 05.html
可将文档拆分为多个片段,便于后续向量化和检索操作。 -
片段向量 查看 06.html
将文本片段进行向量化处理,以便进行语义相似度计算及高效检索。 -
命中率测试 查看 07.html
通过语义相似度和 Top-N 算法,检索并返回与用户问题最相关的文档片段,用于评估检索的准确性。 -
文档管理 查看 08.html
提供上传和管理文档的功能,上传后可自动拆分为片段便于进一步处理。 -
片段管理 查看 09.html
允许对已拆分的片段进行增、删、改、查等操作,确保内容更新灵活可控。 -
问题管理 查看 10.html
为片段指定相关问题,以提升检索时的准确性与关联度。 -
应用管理 查看 11.html
提供创建和配置应用(智能体)的功能,并可关联指定模型和知识库。 -
向量检索 查看 12.html
基于语义相似度,在知识库中高效检索与用户问题最匹配的片段。 -
推理问答调试 查看 13.html
提供检索与问答性能的评估工具,帮助开发者进行系统优化与调试。 -
对话问答 查看 14.html
为用户提供友好的人机交互界面,结合检索到的片段与用户问题实时生成回答。 -
统计分析 查看 15.html
对用户的提问与系统回答进行数据化分析,并以可视化图表的形式呈现系统使用情况。 -
用户管理 查看 16.html
提供多用户管理功能,包括用户的增删改查及权限控制。 -
API 管理 查看 17.html
对外提供标准化 API,便于外部系统集成和调用本系统的功能。 -
存储文件到 S3 查看 18.html
将用户上传的文件存储至 S3 等对象存储平台,提升文件管理的灵活性与可扩展性。 -
文档解析优化 查看 19.html
介绍与对比常见的文档解析方案,并提供提升文档解析速度和准确性的优化建议。 -
片段汇总 查看 20.html
对片段内容进行汇总,以提升总结类问题的查询与回答效率。 -
文档多分块与检索 查看 21.html
将片段进一步拆分为句子并进行向量检索,提升检索的准确度与灵活度。 -
多文档支持 查看 22.html
兼容多种文档格式,包括.doc
,.docx
,.xls
,.xlsx
,.ppt
,.pptx
等。 -
对话日志 查看 23.html
记录并展示对话日志,用于后续分析和问题回溯。 -
检索性能优化 查看 24.html
提供整库扫描和分区检索等多种方式,进一步提高检索速度和效率。 -
Milvus 查看 25.html
将向量数据库切换至 Milvus,以在大规模向量检索场景中获得更佳的性能与可扩展性。 -
文档解析方案和费用对比 查看 26.html
对比不同文档解析方案在成本、速度、稳定性等方面的差异,为用户提供更加经济高效的选择。 -
爬取网页数据 查看 27.html
支持从网页中抓取所需内容,后续处理流程与本地文档一致:分段、向量化、存储与检索。
后端
前端
- 操作系统:Windows、Linux 或 macOS
- Java 开发工具包(JDK):版本 8 或更高
- Maven:用于项目构建和依赖管理
- PostgreSQL:用于数据库存储
-
克隆项目代码
# 从 GitHub 克隆 git clone https://github.com/litongjava/java-maxkb.git cd java-maxkb # 或从 Gitee 克隆 git clone https://gitee.com/ppnt/java-maxkb.git cd java-maxkb
-
配置数据库
- 安装并启动 PostgreSQL 数据库。
- 创建项目所需的数据库和用户。
- 在
src/main/resources/application.properties
中配置数据库连接信息。
-
构建项目
mvn clean install -DskipTests -Dgpg.skip=true
-
运行项目
java -jar target/java-maxkb-web.jar
-
访问系统
启动前端,打开浏览器,访问
http://localhost:3000
,即可进入系统登录界面。
我们欢迎所有对本项目感兴趣的开发者贡献代码和建议。请按照以下步骤参与贡献:
-
Fork 仓库
点击页面右上角的 “Fork” 按钮,将项目仓库复制到您的账户下。
-
克隆仓库到本地
# 从 GitHub 克隆 git clone https://github.com/yourusername/java-maxkb.git
-
创建新分支
git checkout -b feature/your-feature-name
-
提交更改
git commit -am '添加新功能: your-feature-name'
-
推送到远程仓库
git push origin feature/your-feature-name
-
创建 Pull Request
在 GitHub 上提交 Pull Request,描述您的更改内容和目的。
本项目采用 MIT 许可证,详细信息请参阅 LICENSE 文件。