重要提示,这部分内容有一些是我修改的球友简历,放上来是为了方便大家参考,请不要相互传播,引起误会,大家参考学习就好了,后期有遇到不错的内容我也会更新上来,互帮互助,才能更进一步。
- 如果有引发误会,我就只能保留前三个,其他都会删掉,望周知。
- 项目的写法有很多,往后面翻一翻。
- 教程和源码的获取方式: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 服务器等。
- 引入 MCP 协议对本地文件操作、PDF 生成及数据库查询等能力进行 Server 端封装,实现了Agent 与工具生态的解耦。
- 参考 OpenManus 开源架构,设计了分层智能体体系(BaseAgent、ReActAgent、ToolCallAgent)。利用 SpringAI 的 FunctionCallback 机制实现本地方法的自主调用,以及 ReAct 推理,赋予 Agent“思考-规划-行动-观察”的自主决策能力,使其能够处理“检索/搜索-生成文本-生成总结PDF”等跨多步骤的复杂任务。
- 编写用户认证模块单元测试,结合 JUnit + Mockito 验证 Redis 引入前后的性能差异,为系统调优提供依据。
- 基于 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 级文档存储和毫秒级检索。
运维方向
项目名称:RAG 智能报价系统 2025.03 - 至今 运维工程师
技术栈:Spring Boot、Redis、MinIO、Elasticsearch、vLLM、Kubernetes、Prometheus、Grafana、Fluent Bit、NetworkPolicy、Helm
项目简介:为某传感器制造企业构建的智能报价系统,集成 RAG 架构与中文大模型,服务于内部销售人员与官网用户,系统日均处理超 5000 次请求,基于 Kubernetes 私有平台部署,保障数据不出内网。
个人职责:
- 部署并维护 Spring Boot、Redis、MinIO、Elasticsearch 等核心服务,基于 Deployment + Service + Ingress 实现高可用访问。90% 的线上故障可在 10 分钟内定位并修复,平均故障恢复时间 < 15 分钟。
- 集成 vLLM 推理框架,引入 NVIDIA GPU Operator,完成 Qwen-7B 等模型的本地化部署与调优。
- 为无状态服务和大模型推理服务配置 HPA 弹性伸缩策略,结合 8 张 RTX 5090 显卡实现动态调度,应对销售高峰期 200-300 QPS 的突增流量,保障 P95 延迟 ≤600ms。
- 搭建 Prometheus + Grafana 的全链路监控体系,采集 JVM 状态、Pod 资源占用、HTTP 错误率、GPU 利用率等指标,并配置自动告警。
- 使用 Fluent Bit 收集容器日志同步至 Elasticsearch,结合 Kibana 支持基于 TraceID 的链路级检索。
- 通过 NetworkPolicy 实现前后端服务间的访问控制,防止敏感组件(如数据库)被直接暴露。
- 沉淀 Helm Chart 与监控告警模板,形成可复用的基础设施交付能力,缩短后续项目上线周期。
工作党1
龙软智能矿山 AI 知识库平台 Java 开发工程师 2025.06 - 至今
项目简介:围绕矿山企业知识碎片化、AI 能力弱等问题,构建覆盖地质、生产、安全等多领域的企业级智能知识平台。
技术栈:Spring Boot、Redis、MySQL、Elasticsearch、OpenSearch、FastDFS、MQ、百炼向量模型、IK Analyzer、LangChain、ChatGLM、Vue
核心职责:
- 设计基于 MQ 解耦的文件处理流程,支持大文件分片上传与断点续传;引入 Redis 构建全链路文件状态缓存,支撑上传→解析→入库→向量化→检索等流程。
- 通过接入公司 AI 中台与数据中台,整合多源异构知识,结合 RAG 检索增强技术,实现矿体测算、瓦斯分析等复杂任务智能处理,支持文字对话、数字人问答等多模态交互。
- 实现基于 Redis 的对话上下文管理机制,以用户会话 ID 为索引,按时间戳顺序存储多轮历史消息,支持合理过期策略,提升智能对话的连贯性与上下文感知能力。
- 自研 VectorStore 接口,支持将百炼模型生成的语义向量写入 Elasticsearch;结合 IK 分词器构建混合检索引擎,融合向量 KNN 召回 + BM25 重排策略,实现语义与关键词双通道查询,关键词命中率提升约 40%。
- 引入 Prompt 重写机制与上下文增强策略,提高查询语义精度与检索相关性;结合定制 Prompt 模板限制回答边界,降低生成幻觉;编写时间、文件操作、简单计算等可调用工具类,强化对话端真实业务能力。
杰润软件(苏州) | 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 实现流式对话闭环。
自然资源部第一海洋研究所(海洋物理与遥感实验室—校企合作实习生)
6 条评论
回复