VexaSearch is a simple AI-powered search application designed to determine the actions to perform based on a function call.
Currently, the application is able to perform the following tasks:
- Generate images
- Search the internet
- Retrieve information about a specific URL
- firefunction-v1 (for function calls)
- Mixtral for text generation
- stable-diffusion-xl-1024-v1-0 (for image generation)
- nomic-ai/nomic-embed-text-v1.5 (for RAG)
- Supabase account
- Firework account
- Google Custom Search Engine API key and Search Engine ID
- Bing Search API key
-
Create a new project on Supabase
-
Create a
Searchtable with the following columns:
id(Primary Key)response(Text)links(Text Array)query(Text)slug(Text)created_at(Timestamp)
CREATE TABLE Search (
id SERIAL PRIMARY KEY,
response TEXT,
links TEXT[],
query TEXT,
slug TEXT,
created_at TIMESTAMP DEFAULT now()
);- Create a
Querytable with the following columns:
id(Primary Key)query(Text)slug(Text)
CREATE TABLE Query (
id SERIAL PRIMARY KEY,
query TEXT,
slug TEXT
);- Clone the repository
git clone https://github.com/n4ze3m/vexasearch.git- Copy the
.env.examplefile to.envand fill in the required information
cp .env.example .env- Open the
.envfile and fill in the required information
- Install the required packages
npm install- Start the application
npm run devThis will start the application on http://localhost:3000
or you can start the application using Docker
docker-compose upThis will start the application on http://localhost:3000
If you like the project and want to support it, you can buy me a coffee. It will help me to keep working on the project.