An AI-powered search engine for AI tools, or your own data.
discovai-demo.mp4
Please feel free to contact me on Twitter or create an issue if you have any questions.
DiscovAI.io (use it for free without signin or credit card)
- π Features
- 𧱠Tech-Stack
- π Quickstart
- π Deploy
-
Vector-based Search: Converts user queries into vectors for precise similarity matching in our AI product database.
-
Redis-powered Caching: Utilizes Redis to cache search results and outputs, significantly improving response times for repeated queries.
-
Comprehensive AI Database: Maintains an up-to-date collection of AI products across various categories and industries.
-
LLM-powered Responses: Leverages large language models to provide detailed, context-aware answers based on search results.
-
User-friendly Interface: Offers an intuitive design for effortless navigation and efficient AI product discovery.
- App framework: Next.js
- Text streaming: Vercel AI SDK
- LLM Model: gpt-4o-mini
- Database: Supabase
- Vector: Pgvector
- Embedding Model: Jina AI
- Redis Cache: Upstash
- Component library: shadcn/ui
- Headless component primitives: Radix UI
- Styling: Tailwind CSS
run the following command to clone the repo:
git clone https://github.com/DiscovAI/DiscovAI-search
cd discovai-search
pnpm i
create a supabase project, then run the src/db/init.sql in SQL Editor to setup database
Follow the guide below to set up Upstash Redis. Create a database and obtain UPSTASH_REDIS_REST_URL
and UPSTASH_REDIS_REST_TOKEN
. Refer to the Upstash guide for instructions on how to proceed.
cp .env.local.example .env.local
Your .env.local file should look like this:
# Required
# for match documents
NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
# for embedding query, retrieved here: https://jina.ai/embeddings/
JINA_API_KEY=
# for llm output, retrieved here: https://platform.openai.com/api-keys
OPENAI_API_KEY=
OPENAI_API_URL=
# for llm cache and serach cache
UPSTASH_REDIS_REST_URL=
UPSTASH_REDIS_REST_TOKEN=
pnpm dev
You can now visit http://localhost:3000.
You can deploy on any saas platform like vercel, zeabur, cloudflare pages.