花拾录是一个个人运营的「技术与日常知识分享」站点:既沉淀知识型文章,也提供类似贴吧的社区讨论。业务背景是内容由 AI 管线每天自动生成约 10 篇、同时开放用户投稿与讨论,单人维护、无专职运营团队。
点击空白处退出提示
花拾录是一个个人运营的「技术与日常知识分享」站点:既沉淀知识型文章,也提供类似贴吧的社区讨论。业务背景是内容由 AI 管线每天自动生成约 10 篇、同时开放用户投稿与讨论,单人维护、无专职运营团队。
项目按「知识库 + 社区 + AI」三条主线组织:
1. 知识库:文章列表与详情、分类与标签、归档、热门榜;
2. 全文搜索:关键词精确匹配 + 分词 + 向量语义,三通道混合检索后 RRF 融合排序;
3. 站内问答:检索片段后生成带引用的回答,引用经后校验(越界或零引用即判不可信,重试一次仍不合格则降级为只给文章列表);
4. 相关文章:按内容语义相近排序推荐(向量近邻,在线计算约 35ms);
5. 社区:吧、帖子、楼中楼回复、点赞收藏关注、通知;
6. 用户创作链:草稿 → 合规预检 → 待审 → 发布;
7. 管理后台:审核队列、公告、反馈、AI 管线触发与健康状态;
8. AI 管线:每日生成、讨论帖补齐、向量索引每 15 分钟对账、生成前语义查重;
9. 移动端:uni-app 安卓 App 与小程序,与网页共用同一套接口。
个人独立项目:从架构设计、前后端开发、AI 管线到部署运维全部由我完成。
技术栈:Vue 3 + TypeScript + Naive UI(站点主入口);Java 21 + Spring Boot + MyBatis(全部 /api/**);Python + FastAPI(AI 管线);PostgreSQL 17 + pgvector + pg_trgm;fastembed 本地 ONNX 推理(bge-small-zh-v1.5,512 维,不联外网);uni-app 移动端;Docker Compose + nginx + frp 隧道 + HTTPS。
难点与亮点:
1. 检索三通道 + RRF 融合:量出「带空格必然返回 0 条」的根因后重做检索,并用 35 条人工评测集把 hit@5 拉到 100%;
2. 防幻觉做成机制而非口号:引用后校验在结构上拦住「模型编引用」,不可信的回答返回不出去;
3. 阈值靠标定不靠拍:区分「一句话→文章」与「文章↔文章」两套尺度,量出阈值 0.25;
4. 弱依赖必须可被发现:向量服务不可用时自动降级,并留下 WARN、计数与管理侧可见状态;
5. 契约驱动:从真实响应抓样本 → 生成 OpenAPI → 生成客户端类型,避免前后端各自漂移;
6. 可执行验收:契约、时间基准、分页完整性、边界行为、真浏览器回归五组。





评论