NESBox用单个Cloudflare Worker构建RAG
AI 总结
NESBox开发者mantou132介绍了一套结合Workers、Workers AI、Vectorize和KV的方案,涵盖多语言嵌入、BM25检索、缓存及流式RAG问答。单个Worker提供同步、更新、搜索和补全接口,可服务一百多款复古游戏,并按用户当前界面语言生成回答。在12条查询的小规模测试中,可选重排未改善排序,因此作者默认将其关闭。
深度见解
该架构展示了开发者如何把Cloudflare托管的AI、向量和存储服务组合成紧凑的多语言RAG实现,而无需另设服务器或向量数据库。
不需要服务器,也不需要单独的向量数据库:Workers + Workers AI + Vectorize + KV,一个 Worker 文件就实现了入库、混合检索和流式问答。
做了什么
NESBox 是我做的一个复古游戏在线联机平台。游戏库里有一百多款游戏,简介中文、英文、日文都有。用户常常记不住游戏名,只记得"那个骑摩托越野的"、"两个人一起打的格斗游戏"。
所以我给它加了两个 AI 功能,都放在全局搜索框(⌘K)里:
- 语义搜索:用自然语言描述来找游戏,结果和本地按名称、拼音匹配的结果合并显示。
- AI 问答:输入
?开头的问题,本地帮助条目都没匹配上时,基于游戏库流式生成回答,用用户当前的界面语言回复。
后端是一个 Cloudflare Worker,提供四个接口:
#NESBox#Cloudflare#Cloudflare Workers#Cloudflare Workers AI#Cloudflare Vectorize#Cloudflare KV#bge-m3#bge-reranker-base#Nemotron 3 120B#Gem