DiscovAI Search — 开源 AI 搜索引擎,用于工具、文档和自定义数据

发布: (2025年12月22日 GMT+8 00:53)
3 min read
原文: Dev.to

Source: Dev.to

概览

DiscovAI Search 是一个开源的、由 AI 驱动的搜索引擎,旨在使用现代向量搜索结合 LLM 推理,对 AI 工具和自定义知识库进行索引、理解和搜索。

关键特性

  • 语义搜索(基于嵌入)
  • LLM 驱动的答案生成
  • Redis 快速缓存
  • 使用 Supabase(PostgreSQL + pgvector) 的结构化存储
  • 基于 Next.js 的现代前端
  • 完全开源

适用场景

  • 生产就绪的 AI 搜索层
  • 为 AI 与 Web 开发者提供的教学参考项目

架构图

User Query

Next.js API Route

Embedding (OpenAI)

Vector Search (Supabase / pgvector)

Redis Cache (optional)

LLM‑generated response

UI

设计优势

  • 可扩展
  • 模块化
  • 易于通过新数据源扩展

技术栈

组件技术
前端Next.js (React)
AI 模型OpenAI(嵌入 + 完成)
数据库Supabase (PostgreSQL + pgvector)
缓存Redis
语言TypeScript
运行时Node.js 18+
包管理器npm 或 yarn

前置条件

  • OpenAI API 密钥
  • Supabase 账户
  • Redis 实例(本地或云端)

安装

git clone https://github.com/DiscovAI/DiscovAI-search.git
cd DiscovAI-search

# Using npm
npm install

# Or using yarn
yarn install

环境变量

创建 .env.local 文件并填入以下键值:

OPENAI_API_KEY=your_openai_key

NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key

SUPABASE_SERVICE_ROLE_KEY=your_service_role_key

REDIS_URL=redis://localhost:6379

Supabase 设置

  1. 启用 pgvector 扩展。
  2. documentsembeddings 创建表,在 vector 列中存储向量。

运行开发服务器

npm run dev   # or `yarn dev`

在浏览器中打开 http://localhost:3000 即可看到 DiscovAI Search 界面。

索引数据

DiscovAI Search 能够索引:

  • AI 工具
  • 文档
  • 文章
  • 内部知识库

典型流程:

  1. 将文档添加到 Supabase。
  2. 通过 OpenAI(或其他模型)生成嵌入。
  3. 将向量存入 pgvector 列。
  4. 通过 UI 发起查询。

扩展项目

  • 添加自己的数据集。
  • 将 OpenAI 嵌入替换为开源模型。
  • 连接多个向量索引。
  • 添加身份验证。
  • 将前端部署到 Vercel,后端使用 Supabase(数据库)和 Upstash Redis(缓存)。

为什么 DiscovAI Search 很重要

  • 展示了真实场景下的 AI 搜索架构。
  • 正确地将 LLM 与向量数据库结合。
  • 易于 fork、定制和部署。
  • 同时兼具产品和参考实现的价值。

潜在应用

  • AI 驱动的搜索引擎
  • 内部知识助理
  • 工具发现平台

深入探索

如果你对以下方向感兴趣:

  • 语义搜索
  • 向量数据库
  • LLM 驱动的用户体验

…DiscovAI Search 是一个坚实的起点。

仓库

https://github.com/DiscovAI/DiscovAI-search/

Back to Blog

相关文章

阅读更多 »