AskAITools (https://askaitools.ai) is a cutting-edge search engine project tailored specifically for the AI product domain. Our mission is to revolutionize the way users discover AI products by providing the most accurate, comprehensive, lightning-fast, and intelligent search experience. With AskAITools, finding the perfect AI solution has never been easier.
AskAITools Desktop Web Screenshot:
AskAITools Mobile Web Screenshot:
This project comes in two flavors: a feature-rich commercial edition and a community edition. The community edition offers a solid foundation with a basic front-end interface and search functionality, and its code is completely open-source in this repository. Developers can effortlessly integrate their own data on top of this framework, enabling them to swiftly build specialized vertical search engines or internal document search systems for their organizations.
Under the hood, AskAITools employs a hybrid search engine architecture, seamlessly combining keyword search (full-text search) and semantic search (vector search/embedding search) capabilities. By leveraging statistical data and weighted fusion techniques, it achieves a balance between relevance and popularity.
- Front-end: Next.js
- Deployment: Vercel
- Styling: Tailwind CSS
- Database: Supabase
- Keyword Search: PostgreSQL / Supabase Full-Text Search Engine
- Semantic Search: Pgvector / Supabase Vector Database
- Semantic Vector Generation: OpenAI text-embedding-3 model
- Gather and structure your niche data. Refer to our data table schema for guidance on the required fields.
- Modify the
item
table schema as needed. Create the table and import the data into Supabase. - Duplicate the environment variable template
.env.local.example
and rename it to.env.local
. Fill in your Supabase and OpenAI configuration details. If needed, provide proxy information. - Tailor the search parameters and strategies in
./app/pages/index.tsx
,./app/pages/api/embedding_search.ts
, and./supabase/migrations/20240506_init.sql
to suit your requirements. - Refer to
20240506_init.sql
and create two search functions in Supabase. - In the
app
directory, runyarn install
to install dependencies, followed byyarn dev
to initiate the local development environment and conduct code debugging. - Follow the Vercel official documentation to deploy your project on Vercel.
- Once deployed, celebrate your accomplishment 🎉
- All projects that are derivatives of this project must prominently acknowledge AskAITools by displaying its name and open-source address on the user interface homepage or documentation homepage. The easiest way to comply with this requirement is to keep the "Powered by AskAITools" component intact in the footer.
- When deploying projects derived from this open-source project, please avoid using the AskAITools brand name as your product/project name. This restriction does not apply to the "AskAITools Commercial Edition" (https://askaitools.ai).
- If you want to develop AI product search platforms, AI product directory sites, or other projects that closely resemble the AskAITools Commercial Edition using this open-source project as a foundation, please redesign and redevelop the front-end pages. Failure to do so may result in Google identifying the later-launched website as plagiarism due to similar formatting and content, potentially hindering its ability to attract search traffic.