既然数据是核心资产,我就用 n8n 把十年的博客连上了向量库

这个项目终于跑通了。我坐在电脑前,看着自己过去十年写的几百篇博客,现在能通过一个搜索框,用自然语言找到任何一篇里提过的细节,而不是靠记忆里的关键词。这感觉,有点像给自己的大脑外接了一个硬盘,而且带上了语义索引。

十年前我绝对想不到,有一天我会亲手把自己的文字“喂”给AI。2016年那会儿,我还在死磕SEO,为了一个关键词排名能折腾一宿,研究百度蜘蛛的爬取规律,分析DOM树结构,就为了那点可怜的流量。那时候的“数据资产”就是后台那点UV、PV数字,还有一堆自己都懒得看的Excel表格。现在回头看,那些流量焦虑真他妈可笑,但当时就是全部。

说回正事。这次的核心工具是n8n,一个低代码/无代码的自动化平台。选它不是因为时髦,而是因为它够“脏”,能连接各种稀奇古怪的旧系统。我的博客数据散落在好几个地方:早期用WordPress,后来迁移到Hexo静态站,还有一堆没发布的Markdown草稿躺在GitHub和本地文件夹里。第一步,用n8n的HTTP Request节点、Git节点和本地文件系统节点,把这些零散的文字全部抓取、清洗、合并。这里坑不少,比如编码问题,早年的WordPress导出文件里一堆乱码,还有Markdown里各种自定义的Front-matter格式,都得写点JavaScript代码节点来预处理。

数据齐了,下一步是切片和向量化。这是最吃算力的部分。我用了n8n里的Python节点,调用LangChain的文本分割器,按语义段落切,避免把一整篇文章扔进去导致信息稀释。然后调用OpenAI的embedding API,把每一段文字转换成1536维的向量。这里必须处理API的频率限制和错误重试,我设置了一个队列机制,失败的任务自动延迟重试,不然几千个切片能把API额度瞬间打爆,还容易丢数据。

向量生成完,就要存进向量数据库。我选了Chroma,轻量,够用。n8n里没有现成的Chroma节点,但没关系,用Code节点执行Python脚本,调用Chroma的客户端SDK,把向量和对应的元数据(文章标题、发布日期、原始URL)批量导入。这一步的关键是建立好索引,不然检索速度慢得像在爬。

最后是搭建检索接口。我建了一个简单的Webhook节点作为入口,接收用户查询。查询文本同样走一遍embedding,变成向量,然后在Chroma里做相似度搜索,返回最匹配的5个文本片段,并附带上原文的链接。整个流程在n8n里画成一个大工作流,从触发到返回结果,全自动。

搞完这套东西,我盯着那个简陋的搜索框,突然有点恍惚。2019年我带团队那会儿,想搞个内部知识库,光需求评审就开了三次会,技术选型扯皮半个月,最后因为“投入产出比不高”不了了之。现在,我一个人,一个周末,用几个开源工具串起来,就搞定了当年一个团队都不敢拍板的事。技术民主化的威力,恐怖如斯。

但这不仅仅是技术问题。这意味着我过去十年所有深夜的复盘、踩过的坑、瞬间的灵感,那些曾经写完就封存在服务器日志里的东西,现在真正“活”了过来,成了可以随时调取、组合、产生新价值的资产。它们不再是一篇篇孤立的文章,而是一个知识网络。我甚至可以想象,未来基于这个向量库,能训练一个专属的“Flovico”顾问AI,那才是真正的数字孪生。

当然,现在这还是雏形。检索精度还要调,UI丑得没法看,移动端更是一塌糊涂。但核心通了,其他的都是迭代问题。最重要的是一种踏实感:我的时间,我的思考,终于没有白白流走,它们被结构化了,成了我作为“超级个体”最硬的底气。接下来,该想想怎么用这套方法论,去给那些还在用Excel管理知识的企业主们,一点小小的AI震撼了。

© 版权声明
THE END
喜欢就支持一下吧
点赞36 分享