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 git@gitlab.com:lambda-vision/expertgpt.git && cd ExpertGPT
-
Step 2: Copy the
.XXXXX_env
filescd expertgpt cp .backend_env.example backend/core/.env cp .frontend_env.example frontend/.env
-
Step 3: Update the
backend/.env
andfrontend/.env
fileYour
supabase_service_key
can be found in your Supabase dashboard under Project Settings -> API. Use theanon
public
key found in theProject API keys
section.Your
JWT_SECRET_KEY
can be found in your supabase settings under Project Settings -> API -> JWT Settings -> JWT SecretThe
NEXT_PUBLIC_BACKEND_URL
is set to localhost:5050 for the docker. Update it if you are running the backend on a different machine.The
ENCODER_MODEL
can be selectedall-MiniLM-L6-v2
or othersZEP_API_URL
is zep server url. If you installed zep server locally, you can set it localhost:8000PROXYCURL_API_KEY
can be found in proxycurl site.- Change variables in
backend/.env
- Change variables in
frontend/.env
- Change variables in
-
Step 4: Use the
migration.sh
script 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:3000
in your browser