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 设置
- 启用
pgvector扩展。 - 为
documents和embeddings创建表,在vector列中存储向量。
运行开发服务器
npm run dev # or `yarn dev`
在浏览器中打开 http://localhost:3000 即可看到 DiscovAI Search 界面。
索引数据
DiscovAI Search 能够索引:
- AI 工具
- 文档
- 文章
- 内部知识库
典型流程:
- 将文档添加到 Supabase。
- 通过 OpenAI(或其他模型)生成嵌入。
- 将向量存入
pgvector列。 - 通过 UI 发起查询。
扩展项目
- 添加自己的数据集。
- 将 OpenAI 嵌入替换为开源模型。
- 连接多个向量索引。
- 添加身份验证。
- 将前端部署到 Vercel,后端使用 Supabase(数据库)和 Upstash Redis(缓存)。
为什么 DiscovAI Search 很重要
- 展示了真实场景下的 AI 搜索架构。
- 正确地将 LLM 与向量数据库结合。
- 易于 fork、定制和部署。
- 同时兼具产品和参考实现的价值。
潜在应用
- AI 驱动的搜索引擎
- 内部知识助理
- 工具发现平台
深入探索
如果你对以下方向感兴趣:
- 语义搜索
- 向量数据库
- LLM 驱动的用户体验
…DiscovAI Search 是一个坚实的起点。