用 Cloudflare 边缘计算实现语义搜索,成本比行业标准方案低 20-40 倍。
上个月,我研究了典型的 AI 基础设施成本,才意识到为什么这么多初创公司在增加语义搜索时会困难重重。
传统 RAG 堆栈(约 10,000 次搜索/月):
Pinecone 向量数据库:$50-70/月(标准计划起价)
OpenAI embeddings API:$30-50/月(按使用量计费)
AWS EC2 服务器(t3.medium):$35-50/月
监控/日志:$15-20/月
总计:$130-190/月用于一个本应是标配的功能。
对于想要在文档中加入"AI 驱动搜索"的引导资金初创公司来说?这是 $1,560-2,280/年,而你还没从这个功能赚过一分钱。
必须有所改变。
我一直在 Cloudflare Workers 上构建 MCP 服务器(之前写过相关内容),一直在想:为什么 RAG 不能完全在边缘运行呢?
传统设置有太多跳转:
User → App Server → OpenAI (embeddings) → Pinecone (search) → User
每一跳都增加延迟。每项服务都增加成本。
如果我们能这样做呢:
User → Cloudflare Edge (embeddings + search + response) → User
所有在一个地方。没有往返。没有闲置服务器烧钱。
Vectorize MCP Worker - 一个单一 Cloudflare Worker,负责:
Embedding 生成(Workers AI)
向量搜索(Vectorize)
结果格式化(在 worker 内)
身份认证(内置)
整个堆栈在全球 300+ 城市的 Cloudflare 边缘运行。
Workers AI:bge-small-en-v1.5 模型(384 维 embeddings)
Vectorize:Cloudflare 的托管向量数据库(HNSW 索引)
TypeScript:完整类型安全
HTTP API:可从任何地方工作
async function searchIndex(query: string, topK: number, env: Env) {
const startTime = Date.now();
// Generate embedding (runs on-edge)
const embeddingStart = Date.now();
const embedding = await env.AI.run("@cf/baai/bge-small-en-v1.5", {
text: query,
});
const embeddingTime = Date.now() - embeddingStart;
// Search vectors (also on-edge)
const searchStart = Date.now();
const results = await env.VECTORIZE.query(embedding, {
topK,
returnMetadata: true,
});
const searchTime = Date.now() - searchStart;
return {
query,
results: results.matches,
performance: {
embeddingTime: `${embeddingTime}ms`,
searchTime: `${searchTime}ms`,
totalTime: `${Date.now() - startTime}ms`
}
};
}
就这样。没有复杂的编排。没有服务网格。只需 Workers AI + Vectorize。
最近的企业 MCP 讨论(Workato 的优秀系列)强调大多数实现失败的原因是暴露原始 API,而不是可组合的技能。
许多团队通过包装现有 API 来构建 MCP 服务器:
create_payment_intent
charge_payment_method
LLM 必须为每个任务编排 6+ 个 API 调用。结果:缓慢、容易出错、糟糕的用户体验。
相反,这个 worker 暴露与用户意图对齐的高级技能:
semantic_search - 查找相关信息
intelligent_search - 使用 AI 合成进行搜索
一个工具调用。完整的结果。后端处理所有复杂性。
此实现遵循 8 种推荐的企业 MCP 模式(共 9 种):
// Users search with natural language
{ "query": "How does edge computing work?" }
// Not with database IDs
{ "vector_id": "a0I8d000001pRmXEAU" }
一个工具调用处理整个工作流:
生成 embedding(Workers AI)
搜索向量(Vectorize)
返回性能指标
无需多步骤编排。
{
"query": "required",
"topK": "defaults to 5" // Reduce cognitive load
}
// Production mode requires API key
// Dev mode allows testing without auth
// Tools are automatically scoped
if (env.API_KEY && !isAuthorized(request)) {
return new Response("Unauthorized", { status: 401 });
}
每个错误都包含可操作的提示:
{
"error": "topK must be between 1 and 20",
"hint": "Adjust your topK parameter to a value between 1-20"
}
为每个请求内置计时:
{
"performance": {
"embeddingTime": "142ms",
"searchTime": "223ms",
"totalTime": "365ms"
}
}
工具名称与人们的实际表述方式相符:
"Search for X" → semantic_search
而不是 "query_vector_database_with_cosine_similarity"
/populate 端点是幂等的 - 可以安全地多次调用。
响应时间:2-4 秒
响应时间:365ms(快 6-10 倍)
成功率:~100%(确定性)
所需工具:2 个(最小)
每个任务的调用次数:1 次(单次)
区别:边缘部署 + 正确的抽象。
遵循 Workato 的指导:
"让 LLM 处理意图,让后端处理执行。"
LLM 职责(非确定性):
理解用户查询
选择 semantic_search vs intelligent_search
为用户解释结果
后端职责(确定性):
可靠地生成 embeddings
原子化地查询向量
优雅地处理错误
确保一致的性能
管理身份认证
这种分离创建了可靠、快速、用户友好的 MCP 工具 - 而不是脆弱的 API 包装器。
我在 2024 年 12 月 23 日从尼日利亚港口哈科特到 Cloudflare 边缘进行了测试:
注意:性能因地区和负载而异。这些是来自生产部署的实际测量值。
对于 10,000 次搜索/天(300K/月):
Workers:~$3/月(基于 CPU 时间)
Workers AI:~$3-5/月(按 $0.011 每 1K 神经元)
Vectorize:~$2/月(查询维度)
传统替代方案(估计用于相同容量):
Pinecone Standard:$50-70/月(最低 + 使用量)
Weaviate Cloud:$25-40/月(取决于存储)
自托管 pgvector:$40-60/月(服务器 + 维护)
节省:根据选择的替代方案,节省 85-95%。
Cloudflare 的免费层级涵盖:
100,000 Workers 请求/天
10,000 AI 神经元/天
30M Vectorize 查询/月
大多数副项目和小企业永远不会离开免费层级。
// Optional API key for production
if (env.API_KEY && !isAuthorized(request)) {
return new Response("Unauthorized", { status: 401 });
}
开发模式无需认证。生产环境需要。简单。
每个响应都包含计时:
{
"query": "edge computing",
"results": [...],
"performance": {
"embeddingTime": "142ms",
"searchTime": "223ms",
"totalTime": "365ms"
}
}
无需单独的 APM 工具。它是内置的。
访问 GET / 获得完整 API 文档:
{
"name": "Vectorize MCP Worker",
"endpoints": {
"POST /search": "Search the index",
"POST /populate": "Add documents",
"GET /stats": "Index statistics"
}
}
预配置用于 Web 应用。开箱即用。
50 人初创公司,文档分散在 Notion、Google Docs、Confluence。
前:手动搜索。员工浪费 30 分钟/天寻找答案。后:语义搜索在几秒内找到正确的文档。成本:$5/月(相比 Algolia DocSearch 的 $70)
有 500 篇支持文章的 SaaS。
前:关键词搜索遗漏相关文章。后:AI 驱动的搜索建议完美匹配。成本:$10/月(相比企业解决方案的 $200+)
拥有 1,000 份 PDF 的学术研究者。
前:Ctrl+F 浏览单个文件。后:语义查询整个库。成本:$8/月
在边缘归并所有内容消除了网络跳转。性能改进是即时且可测量的。
暴露高级技能而非原始 API 使系统既更快又更可靠。LLM 专注于意图,而非编排。
当你不为闲置服务器付费时,你可以自由地进行实验。周五发布,使用量激增?不费事。它会自动扩展。
无版本冲突。无依赖地狱。只需 curl 或 fetch。适用于 Python、Node、Go,无论什么。
Vectorize 在 wrangler dev 中不起作用。你必须部署来测试搜索。权衡:快速迭代其他所有内容,部署完整测试。
目前,你编辑代码并重新部署。未来:动态上传 API。权衡:安全性 vs 便利性。
bge-small-en-v1.5 模型对通用文本很棒。医疗或法律领域可能会受益于更大的模型。权衡:速度 vs 精度。
方法论:所有成本估计为 10,000 次搜索/天(300K/月),存储 10,000 个向量,384 维。
价格截至 2024 年 12 月。你的实际成本可能因使用模式而异。
它是开源的:https://github.com/dannwaneri/vectorize-mcp-worker
# Clone
git clone https://github.com/dannwaneri/vectorize-mcp-worker
cd vectorize-mcp-worker
npm install
# Create vector index
wrangler vectorize create mcp-knowledge-base --dimensions=384 --metric=cosine
# Deploy
wrangler deploy
# Set API key for production
openssl rand -base64 32 | wrangler secret put API_KEY
# Populate with your data
curl -X POST https://your-worker.workers.dev/populate \
-H "Authorization: Bearer YOUR_KEY"
# Search
curl -X POST https://your-worker.workers.dev/search \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "your question", "topK": 3}'
实时演示:https://vectorize-mcp-worker.fpl-test.workers.dev
停止为 AI 基础设施过度付费。以 $5/月部署此项目,将预算集中在区分你的功能上。
你现在可以有利地在固定价格项目中包含 AI 搜索。无需管理持续的基础设施麻烦。
为每个部门部署搜索,无需获得 $1,500+/年的每个团队的预算批准。
使用此作为参考实现,用于遵循企业最佳实践的可组合工具设计。
经济学有道理。曾经需要一个专项的成本现在比你团队的每日咖啡预算还便宜。
何时使用此项目:需要降低 90%+ 的成本同时保持性能;何时使用它们:需要企业功能,如命名空间、RBAC 等
何时使用此项目:想要基础设施控制、数据主权、开源;何时使用它们:想要零运维托管服务与域名优化
何时使用此项目:需要 5 分钟内生产就绪的 MCP 模式;何时使用它们:有需要定制架构的独特需求
不同的工具解决不同的问题。此 worker 针对以下方面进行了优化:
自托管基础设施
透明、可预测的成本
企业 MCP 可组合模式
完全定制(开源)
我正在帮助几家公司为其用例部署此项目。如果你正在为 AI 搜索花费 $100+/月或构建 MCP 服务器,让我们谈谈。
有疑问?有评论?也在构建可组合的 MCP 工具?在下面留言。
如果你觉得这很有用,给仓库加星:https://github.com/dannwaneri/vectorize-mcp-worker
相关阅读:MCP Sampling on Cloudflare Workers - 如何在不管理 LLM 的情况下构建智能 MCP 工具;为什么边缘计算迫使我写出更好的代码 - 此架构背后的经济强制函数
灵感来自:Beyond Basic MCP: Why Enterprise AI Needs Composable Architecture 和 Designing Composable Tools for Enterprise MCP
一些评论可能仅对登录访问者可见。登录以查看所有评论。
如需进一步操作,你可以考虑屏蔽此人和/或举报滥用