AskAITools Community Edition
Overview
AskAITools is a state-of-the-art search engine project created specifically for the domain of AI products with the objective to transform how users find AI solutions. It provides a highly accurate, comprehensive, and fast search experience, making it effortless for users to find the perfect AI product. More information can be found on their website: AskAITools.
AskAITools is available in two versions: a feature-rich commercial edition and a community edition. The community edition offers a basic front-end interface along with essential search capabilities, and its code is entirely open-source. Developers can integrate their own data within this framework to craft specialized search engines or internal search systems for their organizations.
The underlying architecture of AskAITools employs a hybrid search engine that cleverly combines keyword search and semantic search features. This ensures a balanced approach, considering both relevance and popularity of search results.
Project Architecture and Tech Stack
- Front-end: Built with Next.js
- Deployment: Hosted using Vercel
- Styling: Utilizes Tailwind CSS for an appealing interface
- Database: Uses Supabase for database functions
- Keyword Search: Operated through PostgreSQL / Supabase Full-Text Search Engine
- Semantic Search: Managed via Pgvector / Supabase Vector Database
- Semantic Vector Generation: Powered by OpenAI's text-embedding-3 model
Getting Started
To get started with AskAITools Community Edition, follow these steps:
- Prepare Your Data: Organize your specific dataset as per their provided data table schema.
- Customize the Database: Adjust the
item
table schema if necessary, create the table, and load your data into Supabase. - Environment Configuration: Copy the
.env.local.example
template, rename it to.env.local
, and input your Supabase and OpenAI details, including any proxy settings. - Tailor Search Functionality: Adjust the search parameters in files like
./app/pages/index.tsx
,./app/pages/api/embedding_search.ts
, and./supabase/migrations/20240506_init.sql
to your needs. - Create Search Functions: Set up two search functions in Supabase as guided by
20240506_init.sql
. - Install and Start Development: In the
app
directory, runyarn install
to gather necessary dependencies, followed byyarn dev
to start a local development environment for testing and debugging. - Deploy the Project: Follow Vercel documentations for deployment.
- Celebrate Your Success! 🎉
Usage Restrictions
When using the AskAITools Community Edition, observe the following guidelines:
- Derivatives of this project should prominently credit AskAITools by showing its name and open-source address on the homepage or documentation homepage.
- Avoid using the AskAITools brand name for your project unless you use the AskAITools Commercial Edition.
- If creating a project similar to the AskAITools Commercial Edition, redesign and redevelop the front-end pages to avoid issues like plagiarism in formatting or content according to Google's search algorithms.