公司技术文档堆了几千篇?我用 AI 3 天搭了个智能搜索,同事都问我要链接
01. 痛点:找文档比写代码还难
去年接手了一个老项目,项目文档分散在各种地方:
Confluence 上几百篇 Wiki 飞书云文档几百个 本地电脑各种 Word、PDF、Markdown 代码仓库里的 README
每次新人问问题,我就要在这些文档里翻半天。
最离谱的是,有个同事问"用户认证接口怎么调用?",我找了 2 小时才发现,文档早在 3 个月前更新过了,但我还在看旧版本。
找人问太慢,自己搜太累,这日子没法过了。
02. 灵感:AI 搜索应该能解决这个问题
某天刷技术文章,看到个词:RAG(Retrieval-Augmented Generation,检索增强生成)
简单说就是:
先在文档库里找相关内容 把找到的内容喂给 AI AI 根据这些内容生成回答
这不就是我想要的吗?
不用自己翻文档,AI 帮我找,AI 帮我答!
03. 动手:3 天搭了个智能知识库
核心思路
用户提问 → 文档向量化检索 → 找到相关片段 → AI 生成回答技术栈
后端:Spring Boot 3.x + Java 17 AI 能力:OpenAI API(智谱 AI、通义千问都支持) 文档处理:Apache POI(Word)+ PDFBox(PDF) 前端:Thymeleaf + Bootstrap 5
关键实现
1. 文档切片
长文档直接向量化太贵,所以要切片:
// 每段 500 字符,重叠 50 字符List<String> chunks = textChunker.chunk(content);2. 向量化存储
把每段文字转换成向量:
// 使用 Embedding APIDouble[] embedding = embeddingService.embed(chunkText);3. 语义检索
用户提问时,先把问题向量化,然后计算和文档片段的相似度:
// 计算余弦相似度double similarity = VectorSimilarity.cosineSimilarity( queryVector, chunk.getEmbedding());4. RAG 问答
把最相关的 Top-5 片段拼起来,扔给 AI:
String context = "上下文:片段1 + 片段2 + ...";String answer = ai.generateAnswer(question, context);就这么简单!
04. 效果:同事都问我要链接
上线第一天,就炸了。
场景一:新人入职
以前:HR 给新人一堆文档,新人翻了一周还在问基础问题 现在:新人问"怎么配置数据库?",AI 10 秒给出答案+代码示例
场景二:代码评审
以前:Reviewer 要翻各种文档确认代码规范 现在:AI 告诉你"这个接口要求幂等性,当前实现有问题"
场景三:技术分享
以前:每次分享都要翻半天资料 现在:AI 直接给出相关文档+最佳实践
效率提升不是一点点。
05. 成本:几乎为 0
开发时间:3 天(包括测试) API 成本:每问答一次约 0.001 元 服务器成本:一台 2 核 4G 的 VPS 足够
比招一个专职文档管理员便宜太多了。
06. 代码开源了
完整项目已经上传到 Gitee,包括:
完整的前后端代码 详细的部署文档 一键启动脚本 支持多种 AI 模型(OpenAI、智谱、通义千问)
仓库地址
👉 https://gitee.com/smile-smily/rag-knowledge-base
快速开始
git clone git@gitee.com:smile-smily/rag-knowledge-base.gitcd rag-knowledge-base# 修改 application.yml,配置你的 API Key# ./start.sh 启动5 分钟就能跑起来。
07. 适合谁用
技术团队:API 文档、技术规范、最佳实践 产品团队:需求文档、设计规范 客服团队:常见问题、解决方案 HR 团队:规章制度、福利政策
任何有知识库需求的团队,都能用。
08. 后续优化
这只是 MVP 版本,还有很多可以做的:
[ ] 集成专业向量数据库(Milvus) [ ] 支持图片、表格检索 [ ] 添加用户权限管理 [ ] 支持多语言检索 [ ] 接入企业 IM(飞书、钉钉)
如果你感兴趣,欢迎一起来完善。
最后
如果你也在为找文档发愁,不妨试试这个方案。
代码已经开源,拿去用就好。
有问题可以提 Issue,或者直接在下面评论交流。
推荐阅读:
《7年Java程序员实测:ChatGPT API怎么接入?完整代码》 《用OpenAI API写一个AI写作助手,2小时搞定》 《作为Java程序员,我再也不写重复业务逻辑了!靠AI Agent一周干完一个月的活》
👉 项目地址:https://gitee.com/smile-smily/rag-knowledge-base
如果觉得有用,点个「在看」支持下~
夜雨聆风