重要提示,这部分内容有一些是我修改的球友简历,放上来是为了方便大家参考,请不要相互传播,引起误会,大家参考学习就好了,后期有遇到不错的内容我也会更新上来,互帮互助,才能更进一步。
- 如果有引发误会,我就只能保留前三个,其他都会删掉,望周知。
- 项目的写法有很多,往后面翻一翻。
- 教程和源码的获取方式:https://t.zsxq.com/XBc0a
- 派聪明的学习路线:https://paicoding.com/article/detail/2530200055836673
:::
写法1 派聪明 RAG 知识库 Java 后端开发 2025-06 ~ 2025-09
项目描述:派聪明是一个基于私有知识库的企业级智能对话平台,允许用户上传文档构建专属知识空间,并通过自然语言交互方式查询和获取知识。它结合了大语言模型和向量检索技术,能够让用户能够通过对话的形式与自己的知识库进行高效交互。
技术栈:SpringBoot、MySQL、Redis、Apache Tika、Ollama、Elasticsearch、MinIO、Kafka、Spring Security、WebSocket、Linux、Shell
核心职责:
- 编写 shell 脚本,一键启动 Kafka 的 KRaft模式,自动处理 cluster ID 的冲突问题,包括清理日志、生成集群 ID、格式化存储目录、启动 Kafka 服务器等。
- 基于 Kafka 解耦文件上传、处理与向量化流程,实现分片上传与断点续传;使用 Redis 的 Bitmap 存储分片状态,并通过 MinIO 按照 MD5 进行分片合并。
- 能够在 Linux 服务器下通过 HTTPS 的方式启动 ElasticSearch,并设置 ES 的 JDK 加载版本为 17;可通过 CA 证书+ CURL 获取/更新 ElasticSearch 的键值对。
- 使用 Redis 的 BitMap 来存储文件分片上传状态,能最大程度节省内存,即使一个文件有 1000 个分片,也只需要 125 字节的存储空间。
- 支持 Docker 容器化部署,只需一个命令
docker-compose up -d就可以在 1 分钟内一键启动整套系统。极大地简化了部署过程,并保证了开发、测试和生产环境的一致性。 - 利用 Elasticsearch + IK 分词器对知识库文档进行索引和向量检索,支持 Word、PDF 和 TXT 等多种文本类型;并集成豆包 Embedding 模型进行文本到向量的转换,支持 2048 维;再结合 ES 的 KNN 向量召回、关键词过滤和 BM25 重排序实现「关键词+语义」 的双引擎搜索。
- 基于 WebSocket 实现前端和后端之间的长连接通信通道,并结合 DeepSeek 大模型的 Stream API 实现流式响应返回,只要后端有新的内容到达,前端就即时将文本逐步拼接显示,用户看到的就是一个“打字机”式的逐字生成过程。
- 使用 Redis 缓存文件元信息与上传分片,结合 MinIO 实现大文件分片上传与断点续传,优化后 1GB 文件上传耗时由 15s 降至 3s。 (本机是 macOS 顶配,128G 内存 Apple M3 Max 芯片)
- 构建 RAG 检索流程:通过用户提问 + 检索片段拼接生成增强型 Prompt,结合上下文与语义召回提升问答准确度,构建企业私有知识问答体系。
- 实现基于 Kafka 的文档处理异步流水线,解耦文件上传、解析和向量化过程,经测试,500M 文件上传仅需 200 毫秒。
- 利用 Spring Security+JWT 实现基于组织标签的 RBAC 的多级权限系统,通过用户角色、组织归属和文件属性的权限过滤,实现精细化的文档访问控制,确保敏感数据安全。
- 登录与鉴权模块采用 JWT 实现无状态认证,结合 ThreadLocal 管理用户上下文,配合拦截器实现 token 校验与自动续约,避免因 token 过期频繁导致的重新登录问题。
- 采用 JWT+Redis 的双令牌机制,通过 Access token 处理业务请求,Refresh token 实现用户无感的令牌刷新。
- 当用户搜索时,我们利用 Elasticsearch 的 KNN 算法计算查询向量和文档向量的余弦相似度,接着利用 ES 默认的 BM25 算法对关键词在文档中的出现频率、重要性进行打分,最后根据自定义公式综合计算出最后的置信分,方便用户判断检索结果的可靠性。
- 引入滑动窗口机制,在相邻 chunk 之间保持一定的重叠区域,以保证跨 chunk 的信息完整性。
- 采用基于 Redis 的对话历史管理机制,每个用户都有一个唯一的会话 ID,所有的对话内容都按照时间顺序存在 Redis 中,并设置了 7 天的过期时间,以便在多轮对话中保证上下文信息的完整性。
- 在调用豆包向量 API 失败时,我们会自动回退到纯文本搜索,实现服务降级;并在调用豆包向量 API 时,采用 Reactor 的重试机制,支持固定延迟重试 3 次,并设置了 30 秒的超时保护。
- 项目采用了 Mockito 注解驱动的测试模式,践行测试驱动开发(TDD)的理念,每个业务功能都有对应的测试用例,包括正常流程和异常流程。
智能 RAG 知识库管理系统(测试方向) 2025.06 - 至今
技术栈:Spring Boot、Spring Security、MySQL、Redis、Elasticsearch、Kafka、MinIO、Ollama
项目描述:构建智能化的知识库管理系统,支持文件存储、检索增强问答(RAG)、权限控制与智能文档处理。
主要工作:
- 参与整体后端架构设计,基于 Spring Boot + Spring Security 构建模块化分层架构,确保系统 低耦合、高内聚。
- 设计 MySQL + Redis + MinIO + Elasticsearch 的多级存储体系,实现文件元数据、对象存储与向量数据的分离,结合 用户标签权限模型,实现多租户知识库隔离。
- 集成 RAG 检索增强架构,利用 Embedding API 生成文档向量,结合 Elasticsearch 语义检索,较关键词搜索准确率提升 40%+;通过 Kafka 异步结构文档的解析、向量化和存储,从而提升系统的整体 QPS。
- 编写 JUnit + Mockito 单元测试,覆盖用户注册、认证、会话管理等功能与异常场景;对比验证 Redis 优化前后性能差异,为系统调优提供数据支撑。
- 项目采用了 Mockito 注解驱动的测试模式,践行测试驱动开发(TDD)的理念,每个业务功能都有对应的测试用例,包括正常流程和异常流程。
- 对文件分片上传、向量检索等关键环节进行压力测试和性能优化,检索响应时间从初始的 800ms 降低到 200ms,支持 TB 级文档存储和毫秒级检索。
工作党1
杰润软件(苏州) | Java开发实习生 | 2025.04 – 2025.07
技术栈: Spring Boot、Spring Security、Spring Data JPA、MinIO、Elasticsearch、Kafka、JWT、WebSocket
项目描述:参与构建基于 RAG 的企业级智能知识库,聚焦公司教学资源与项目知识的统一存储、高效检索及智能问答,解决教学资源管理痛点。
主要职责:
- 参与搭建模块化分层架构,整合 MySQL + Redis + MinIO + Elasticsearch 多级存储体系,分离元数据、对象与向量数据,并设计组织标签权限模型,实现精细化的访问控制。
- 使用 Kafka 解耦文件上传、处理、向量化与检索环节;实现分片上传与断点续传,结合 Redis 缓存文件状态、MinIO 存储内容,保障大文件可靠上传。
- 通过 ElasticSearch 优化向量检索逻辑,将接口响应时间由 800ms 降至 200ms;基于 Embedding API 生成文档向量并存储至 Elasticsearch,检索准确率较传统关键词搜索提升 40%+。
- 设计基于角色过滤的多级权限模型(RBAC);整合检索结果元数据构建 Prompt,结合 WebSocket 实现流式对话闭环。
自然资源部第一海洋研究所(海洋物理与遥感实验室—校企合作实习生)
游知通 — 基于 RAG 的智能游戏助手系统 2025.3 — 2025.7
技术栈:Spring Boot、MySQL、Redis、Apache Tika、ElasticSearch、Kafka、Spring Security、WebSocket
项目描述:这是一款基于 RAG 的游戏智能问答系统,整合百科、论坛、攻略等数据源,通过语义检索和上下文对话,为玩家提供实时、精准的游戏解答与建议。
核心职责:
- 基于 LangChain4j 封装 Spring Boot Starter,集成通义千问大模型,并封装只能问答接口,以加载“游戏助手”角色 Prompt,接口响应时间稳定在 300ms 以内;
- 使用 MongoDB 持久化用户会话历史,在 AIService 中实现用户多轮对话管理;
- 采用 Pinecone 向量知识库接入游戏攻略与官方数据,配合 RAG 流程实现“先检索再生成”,提升模型回答的专业度;实现本地 Ollama DeepSeek 与 OpenAI 线上 API 双模型路由策略;
- 检索层采用 ElasticSearch + IK 分词器融合关键词与语义检索,提升专业术语和长尾问题的召回效果;
- 利用 Apache Tika 解析并抽取 1500+ 文档信息,通过 Kafka 异步分发更新任务,将接口响应时间优化至 20ms 内;
- 接口层引入 Spring Security + JWT 做鉴权,确保 LLM 调用安全;前端通过 WebSocket 实现 AI 回答实时推送。
同恩工程技术 | 高级开发工程师助理 2025.07 – 至今
项目描述:主要参与 teamerp 管理系统的开发,深度参与基于 RAG 架构的智能知识库系统建设,涵盖文档管理、语义检索和智能问答等核心模块。
核心职责:
- 参与文件处理流水线设计,基于 MinIO 实现大文件分片上传,并结合 Red...
3 条评论
回复