项目描述:Ocean AI是基于RAG(检索增强生成)架构开发的企业级知识库系统,支持大文件分片上传、文档向量化处理和语义检索实现了从文档管理到智能问答的完整流程,打破了海洋环境数据、地理与地质等多源数据的管理孤岛,赋能科研智能应用。
核心职责:
1、基于Redis BitMap管理文件分片状态,结合MinIO实现大文件分片上传与断点续传,将1GB文件上传耗时由15s优化至3s。
2、构建基于RabbitMQ的文档处理异步流水线,解耦文件上传、解析和向量化过程,实现系统削峰,文档处理效率提升3倍。
3、集成 Elasticsearch +IK分词器构建多格式文档索引,融合通义干问Embedding模型实现2048维向量转换,结合 KNN向量召回与BM25重排序,实现关键词匹配与语义相似度的混合检索。
4、设计检索增强生成(RAG)流程,通过用户提问与检索结果生成增强Prompt,并结合上下文语义理解提升问答准确度。
5、基于WebSocket建立长连接,集成DeepSeek大模型Stream API实现流式响应,为用户提供"打字机式"逐字生成的对话体验。
6、基于Redis实现会话管理,支持7天对话历史存储,并在Embedding API调用失败时自动降级至文本搜索保障可用。
Ocean AI 是基于 RAG 架构开发的企业级知识库系统,采用前后端分离设计,后端基于 Spring Boot 构建核心服务,以 Redis 为缓存与状态中心、RabbitMQ 实现异步解耦,搭配 MinIO 存储、Elasticsearch 全文检索与向量引擎,前端通过 WebSocket 实现流式交互,打造了从文档上传、解析向量化到智能问答的全链路流程,打破了海洋环境、地理地质等多源数据的管理孤岛,赋能科研智能应用。
我负责的核心模块包括:一是基于 Redis BitMap 管理文件分片状态,结合 MinIO 实现大文件分片上传与断点续传,将 1GB 文件上传耗时由 15s 优化至 3s;二是构建基于 RabbitMQ 的文档处理异步流水线,解耦文件上传、解析和向量化过程,实现系统削峰,文档处理效率提升 3 倍;三是集成 Elasticsearch + IK 分词器构建多格式文档索引,融合通义千问 Embedding 模型实现 2048 维向量转换,结合 KNN 向量召回与 BM25 重排序实现混合检索;四是设计 RAG 增强生成流程,通过用户提问与检索结果生成增强 Prompt,提升问答准确度;五是基于 WebSocket 集成 DeepSeek 大模型 Stream API 实现流式响应,同时基于 Redis 实现会话管理,支持 7 天对话历史存储,并在 Embedding API 调用失败时自动降级至文本搜索保障服务可用。
项目过程中,我遇到的难点与解决方案包括:大文件上传时的分片状态一致性问题,通过 Redis BitMap 原子操作标记分片状态,结合 MinIO 预合并接口解决;异步处理时的消息堆积与丢失问题,通过 RabbitMQ 持久化、死信队列与重试机制保障任务可靠执行;向量检索时的召回精度不足问题,通过调整 KNN 近邻数量、优化 BM25 权重实现关键词与语义的平衡;Embedding 服务依赖外部 API 的可用性问题,通过 Redis 缓存向量结果、实现文本搜索降级策略,确保服务在 API 故障时仍能正常使用。