Ensure you have the following installed:
- Docker
- Docker Compose
- Qdrant
- Zep
Additionally, you'll need a Supabase account for:
- Creating a new Supabase project
- Supabase Project API key
- Supabase Project URL
-
Step 1: Clone the repository using one of these commands:
- If you don't have an SSH key set up:
git clone https://gitlab.com/lambda-vision/expertgpt.git && cd ExpertGPT
- If you have an SSH key set up or want to add it (guide here)
git clone [email protected]:lambda-vision/expertgpt.git && cd ExpertGPT
-
Step 2: Copy the
.XXXXX_envfilescd expertgpt cp .backend_env.example backend/core/.env cp .frontend_env.example frontend/.env -
Step 3: Update the
backend/.envandfrontend/.envfileYour
supabase_service_keycan be found in your Supabase dashboard under Project Settings -> API. Use theanonpublickey found in theProject API keyssection.Your
JWT_SECRET_KEYcan be found in your supabase settings under Project Settings -> API -> JWT Settings -> JWT SecretThe
NEXT_PUBLIC_BACKEND_URLis set to localhost:5050 for the docker. Update it if you are running the backend on a different machine.The
ENCODER_MODELcan be selectedall-MiniLM-L6-v2or othersZEP_API_URLis zep server url. If you installed zep server locally, you can set it localhost:8000PROXYCURL_API_KEYcan be found in proxycurl site.- Change variables in
backend/.env - Change variables in
frontend/.env
- Change variables in
-
Step 4: Use the
migration.shscript to run the migration scriptschmod +x migration.sh ./migration.sh
-
Step 5: Qdrant Database Install
- Qdrant
docker pull qdrant/qdrant # Download qdrant docker run -p 6335:6333 \ -v $(pwd)/qdrant_storage:/qdrant/storage:z \ qdrant/qdrant
- Collection Install
cd expertgpt/backend/core python3 setup_qdrant.py -
Step 5: Launch the app
docker compose up --build
You can run individual components by following:
- ExpertGPT
cd expertgpt docker compose -f docker-compose.dev.yml up --build- OpenAPI Document
cd openapi-test docker compose up- Zep
cd zep docker-compose up -
Step 6: Navigate to
localhost:3000in your browser