LOADING
innocentBox
innocentBox
← 返回

给小博客加一个「问我的文章」AI

1 分钟#技术#AI

思路

个人博客的文章量不大,几十篇、几十万字。这种规模不需要上向量数据库,一个朴素的检索就够了:

  1. 构建时把每篇文章切成段,抽出标题、摘要、正文
  2. 运行时按关键词打分,取最相关的几段
  3. 把这几段塞进 prompt,让模型只基于它们回答

为什么不上 RAG 全家桶

向量库、embedding 服务、chunk 策略……对一个个人博客来说是过度工程。关键词检索在小语料 + 中文上的召回其实不差,而且零依赖、零成本、可解释。

一条检索打分

function score(query: string, text: string): number {
  const q = query.toLowerCase().split(/\s+/);
  const t = text.toLowerCase();
  return q.reduce((s, w) => s + (t.includes(w) ? 1 : 0), 0);
}

够了。真的不够的时候再换。

约束比模型重要

比"用哪个模型"更重要的,是 prompt 里的边界:

  • 只依据给定文章回答
  • 找不到就说"博客里没写到"
  • 回答带引用,能点回原文

不然它一定会很自信地编。

问这篇文章

只基于博客内容 · 带来源引用

对文章有疑问?直接问,助手只根据博客里的内容回答。