DiscovAI
一个支持人工智能工具或个人数据的人工智能搜索引擎。
https://github.com/user-attachments/assets/2cdc92d0-d0c9-4098-8166-260e973783f0
如有任何问题,请随时在 Twitter 上联系我或 创建问题。
💻 在线演示
DiscovAI.io(无需注册或信用卡即可免费使用)
🗂️ 概览
🛠 功能
-
基于向量的搜索:将用户查询转换为向量,在我们的人工智能产品数据库中进行精确的相似性匹配。
-
Redis 缓存:利用 Redis 缓存搜索结果和输出,显著提高重复查询的响应时间。
-
全面的人工智能数据库:维护涵盖各种类别和行业的最新人工智能产品集合。
-
大语言模型驱动的响应:利用大语言模型根据搜索结果提供详细的、上下文相关的回答。
-
用户友好界面:提供直观的设计,便于导航和高效的人工智能产品发现。
🧱 技术栈
- 应用框架: Next.js
- 文本流: Vercel AI SDK
- 大语言模型: gpt-4o-mini
- 数据库: Supabase
- 向量: Pgvector
- 嵌入模型: Jina AI
- Redis 缓存: Upstash
- 组件库: shadcn/ui
- 无头组件原件: Radix UI
- 样式: Tailwind CSS
🚀 快速入门
1. 克隆仓库
运行以下命令克隆仓库:
git clone https://github.com/DiscovAI/DiscovAI-search
2. 安装依赖
cd discovai-search
pnpm i
3. 设置 Supabase
创建一个 supabase 项目,然后在 SQL Editor 中运行 src/db/init.sql 以设置数据库。
4. 设置 Upstash
按照以下指南设置 Upstash Redis。创建数据库并获取 UPSTASH_REDIS_REST_URL
和 UPSTASH_REDIS_REST_TOKEN
。有关如何进行的说明,请参阅 Upstash 指南。
4. 填写秘密信息
cp .env.local.example .env.local
你的 .env.local 文件应如下所示:
# 必填项
# 用于匹配文档
NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
# 用于嵌入查询,检索于: https://jina.ai/embeddings/
JINA_API_KEY=
# 用于大语言模型输出,检索于: https://platform.openai.com/api-keys
OPENAI_API_KEY=
OPENAI_API_URL=
# 用于大语言模型缓存和搜索缓存
UPSTASH_REDIS_REST_URL=
UPSTASH_REDIS_REST_TOKEN=
5. 本地运行应用
pnpm dev
现在,你可以访问 http://localhost:3000。
🌐 部署
你可以在任何 SaaS 平台上进行部署,如 vercel、zeabur、cloudflare pages。