摸鱼 发现创造 Rules & Tips
1. 遵守中国大陆相关法律法规
2. 推崇「哥伦布式」的发现
3. 创造不是复制粘贴,是自我表达

【代码已开源】不到 1 美元,不租服务器部署一个垂直领域的关键词、语义混合搜索引擎

查看: 1705|回复: 1
1
xiao 发表于 2024-7-13 20:29:00
AI搜索这个话题最近相当火。前一阵子谣传OpenAI要做搜索,不过没有等到OpenAI的搜索发布,倒是等到了谷歌的AI Overview的全量上线。在这之前,OpenAI很早发布过联网对话功能,微软发布过New Bing,海外创业公司有Perplexity,国内则有秘塔、天工搜索。开源的有Lepton,独立开发者做的有ThinkAny。

作为独立开发者,同时也是前搜索算法工程师,我曾经也想过自己做一个通用AI搜索工具。不过考虑到这个赛道的大厂太多,成本也高,最终放弃。

于是我转向了垂直领域,做了一款AI工具的搜索引擎,叫AskAITools(https://askaitools.ai),目标是在“帮人找AI应用”这个垂域下,将搜索体验做到极致(关于这个产品的初衷和功能介绍,参考上一条帖子:https://www.chongbuluo.com/thread-19873-1-1.html)。

在设计这个产品时,我希望它不仅能像传统搜索那样,实现关键词匹配;还能理解搜索词的语义,实现智能搜索;最后,排序应该同时考虑到相关性和各结果的质量,让热门的应用相对排在前面。

本以为上面的需求很普通,应该有很多成熟方案实现了,但我找了很久也没找到现成可用且便宜/免费的解决方案。

最终,我在supabase提供的方案的基础上,进行了部分调整,实现了几乎零成本的搜索引擎的部署。整条链路走通的瞬间,感慨自己真是白嫖高手,稍稍得意了一分钟。

为了能让更多的人知道、使用我的产品;同时也为了让更多对搜索技术不熟悉的开发者,了解混合搜索引擎的实现方式,以及能以最低成本在自己所需领域搭建一套垂域的搜索引擎,我决定将这个项目的搜索和前端部分开源(地址:https://github.com/askaitools/askaitools-community-edition)。大家可以在这个项目基础上,灌入自己的数据,快速实现搜索功能。期待大家的Star!

我之前是算法工程师,虽然有些代码基础,但非科班出生,前后端等技术都是从头学起。整个过程都是和GPT一起协作完成的,前后耗时5个多月。在专业的开发者眼中,这份代码一定很丑,可能还有很多问题,还望大家多多包涵、多提建议和PR。

以下是这套成本不到1美元的技术方案简介:

先说整体项目架构。

- 前端:Next.js,部署在Vercel上,Hobby 套餐成本为0
- 数据库:Supabase,500M数据库存储空间,5GB带宽以内可用免费套餐
- 对象存储:Cloudflare R2,每月10GB以内免费
- CDN:Cloudflare,也是免费
- 后端:多数逻辑是客户端直接和数据库交互,不用服务端;少量服务端逻辑用的Node.js,和前端一起部署在Vercel上,不用租服务器,成本为0

然后是搜索。

- Supabase底层用的Postgresql,包括全文搜索(也就是关键词搜索)和向量数据库(也就是语义搜索)功能,需要组装开发一下,然后就能实现混合搜索。这两个功能也都免费
- 文本到语义向量的转化用的OpenAI的API,这是唯一需要付费的地方,不过也挺便宜的。具体用的text-embedding-3-small这个模型,价格是每1百万Token花费0.02美元。我上传了一万多个文档,总共也才花费了0.63美元。而且这是一次性费用,而非每个月都要花0.63美元。虽然后续用户每次搜索,也都会消耗一些费用,但几乎可以忽略不计




最后再重复一下地址:https://github.com/askaitools/askaitools-community-edition,README中有详细部署方式,欢迎大家Fork、Star、PR!希望能对大家有点帮助!
zdb1115 发表于 2025-3-29 21:03:30
不错的思路和角度 感谢分享,
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

虫部落 陕ICP备14001577号-1川公网安备 51019002003015号联系我们FAQ关于虫部落免责声明虫部落生存法则社区广场RSS

Build with for "make search easier" Copyright © 2013-2025. Powered by Discuz! GMT+8, 2025-5-2 06:16

快速回复 返回顶部 返回列表