手搓AI搜索引擎:SearXNG接Qwen做摘要的完整方案
周末花两天搓了个AI搜索引擎出来,核心就是SearXNG做搜索加Qwen做摘要,代码不到200行,效果还可以。架构很简单:用户输入查询,先调SearXNG的JSON API拿回前5条结果,把标题和摘要拼在一起当上下文,丢给Qwen让它生成一段总结加引用链接。SearXNG用Docker部署最快,pull下来改一下settings.yml打开json格式输出就行。Qwen那端我用的是本地Ollama跑的Qwen3-4B,延迟在2到3秒。
https://www.metk.cn/img/posts/ai_search_engine_01.jpg
踩了两个坑。第一个是SearXNG默认的JSON输出不包含正文摘要,只有title和url和engine字段,得在settings.yml里加上formats: 然后在请求参数里传format=json再额外抓一层page内容。我用的trafilatura库做正文提取,比BeautifulSoup靠谱多了,能自动去导航和广告。
第二个坑是上下文长度。5条结果正文拼一起经常超过8K token,Qwen3-4B只有32K context虽然塞得下但推理速度拉胯。后来改成只取每条正文的前1000字符,总长度控制在5K以内,速度提升一倍而且摘要质量没明显下降。
整体下来最满意的是成本,服务器是公司退下来的旧机器,软件全是开源的,一分钱没花。搜索质量跟Perplexity肯定有差距,但日常查技术问题够用了。 楼主呀,,,您太有才了。。。 推理成本算下来并不低,规模化之前得先把这块压下去。 有几个坑提醒下,接口一变整套流程都得跟着改,最好提前做抽象层。 开源方案胜在可控,闭源胜在省事,取舍看团队能力。 现在工具链更新太快,半年前的最佳实践今年可能就过时了。 说实话投入产出比得看行业,我们做传统制造的算下来还不如人工。 这类需求本质是降本,所以定价天花板很容易算出来。 落地最大的阻力往往不是技术,是部门之间的配合。 我比较看好垂直领域的做法,通用方案竞争太激烈。