跳转到内容
View in the app

A better way to browse. Learn more.

彼岸论坛

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
欢迎抵达彼岸 彼岸花开 此处谁在 -彼岸论坛

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

发表于

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

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

作为独立开发者,同时也是前搜索算法工程师,我曾经也想过自己做一个通用 AI 搜索工具(当时还做了一个 Demo:https://web.okjike.com/originalPost/653241bbaa7d4f2b30fed187)。不过考虑到这个赛道的大厂太多,成本也高,最终放弃。

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

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

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

最终,我在 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 美元。虽然后续用户每次搜索,也都会消耗一些费用,但几乎可以忽略不计

语义搜索成本只要 0.63 美元:

https://askaitools.ai

AskAITools 桌面版网页截图:

https://askaitools.ai

AskAITools 移动版网页截图:

https://askaitools.ai

最后再重复一下地址:https://github.com/askaitools/askaitools-community-edition,README 中有详细部署方式,欢迎大家 Fork 、Star 、PR !希望能对大家有点帮助!

Featured Replies

No posts to show

创建帐户或登录来提出意见

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.