From 6f302ad9446b6bfd0c4a0a5d1739a54e00a79e2a Mon Sep 17 00:00:00 2001 From: Jerry Lin Date: Mon, 15 Sep 2025 10:19:34 -0700 Subject: [PATCH 1/7] Ignore RustRover configs --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index b67360fbbd..edf7c697ae 100644 --- a/.gitignore +++ b/.gitignore @@ -97,4 +97,5 @@ pdf2md/ch_migrations/chm.toml clients/trieve-shopify-extension/shopify.app.skept-trieve-extension-test.toml clients/trieve-shopify-extension/shopify.app.skept-laptop-trieve-extension.toml charts/charts/**/*.tgz -clients/trieve-shopify-extension/.env.skept-trieve-extension-test \ No newline at end of file +clients/trieve-shopify-extension/.env.skept-trieve-extension-test +.idea From d22f50c2522eaa5070c59358ee53349e2ffa328c Mon Sep 17 00:00:00 2001 From: Jerry Lin Date: Mon, 15 Sep 2025 10:54:50 -0700 Subject: [PATCH 2/7] fix: docker-compose.yml build errors --- docker-compose.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index fe1644de66..4fd3787fae 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -245,8 +245,8 @@ services: dashboard: image: trieve/dashboard build: - context: ./frontends - dockerfile: ./dashboard/Dockerfile + context: . + dockerfile: ./frontends/dashboard/Dockerfile networks: - app-network ports: @@ -261,8 +261,8 @@ services: chat: image: trieve/chat build: - context: ./frontends - dockerfile: ./chat/Dockerfile + context: . + dockerfile: ./frontends/chat/Dockerfile networks: - app-network ports: @@ -275,8 +275,8 @@ services: search: image: trieve/search build: - context: ./frontends - dockerfile: /search/ + context: . + dockerfile: ./frontends/search/Dockerfile networks: - app-network ports: From dc7361ec42565d4bd2231a7ab065c2dfcb4ad24f Mon Sep 17 00:00:00 2001 From: Jerry Lin Date: Mon, 15 Sep 2025 10:58:25 -0700 Subject: [PATCH 3/7] docs: Add MacOS system dependencies step --- README.md | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index dc918b6e44..90aa2b2cad 100644 --- a/README.md +++ b/README.md @@ -56,7 +56,7 @@ **Are we missing a feature that your use case would need?** - call us at [628-222-4090](mailto:+16282224090), make a [Github issue](https://github.com/devflowinc/trieve/issues), or join the [Matrix community](https://matrix.to/#/#trieve-general:trieve.ai) and tell us! We are a small company who is still very hands-on and eager to build what you need; professional services are available. -## Local development with Linux +## Local Development ### Installing via Smithery @@ -66,8 +66,9 @@ To install Trieve for Claude Desktop automatically via [Smithery](https://smithe npx -y @smithery/cli install trieve-mcp-server --client claude ``` -### Debian/Ubuntu Packages needed packages +### System Dependencies +#### Linux (Debian/Ubuntu) ```sh sudo apt install curl \ gcc \ @@ -81,12 +82,23 @@ libssl-dev \ openssl ``` -### Arch Packages needed - +#### Linux (Arch) ```sh sudo pacman -S base-devel postgresql-libs ``` +#### MacOS +```sh +# Install Xcode command line tools +xcode-select --install + +# Install Homebrew if not already installed +/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" + +# Install required packages +brew install pkg-config openssl +``` + ### Install NodeJS and Yarn You can install [NVM](https://github.com/nvm-sh/nvm) using its install script. From 531fde593333a045f0fa829992cf6cdbd72340af Mon Sep 17 00:00:00 2001 From: Jerry Lin Date: Mon, 15 Sep 2025 11:50:10 -0700 Subject: [PATCH 4/7] fix: Minor improvement to start the server locally --- .env.example | 3 +++ README.md | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.env.example b/.env.example index 6fcfcecce9..66ae7b3da5 100644 --- a/.env.example +++ b/.env.example @@ -65,6 +65,9 @@ JINA_CODE_API_KEY="" VECTOR_SIZES="384,512,768,1024,1536,3072" RUST_LOG="INFO" BM25_ACTIVE="true" +PAGEFIND_CDN_BASE_URL="lZP8X4h0Q5Sj2ZmV,aAmu1W92T6DbFUkJ,DZ5pMvz8P1kKNH0r,QAqwvKh8rI5sPmuW,YMwgsBz7jLfN0oX8" +SHOPIFY_SECRET_KEY="foobar" +GROQ_API_KEY="loremipsum" ##### Firecrawl ##### NUM_WORKERS_PER_QUEUE=8 diff --git a/README.md b/README.md index 90aa2b2cad..3cf4901847 100644 --- a/README.md +++ b/README.md @@ -154,9 +154,9 @@ cp .env.dashboard ./frontends/dashboard/.env 2. Replace the value for `LLM_API_KEY` to be your own OpenAI API key. 3. Replace the value for `OPENAI_API_KEY` to be your own OpenAI API key. -### Export the following keys in your terminal for local dev +### Override the following keys in your terminal for local dev -The PAGEFIND_CDN_BASE_URL and S3_SECRET_KEY_CSVJSONL could be set to a random list of strings. +The PAGEFIND_CDN_BASE_URL and S3_SECRET_KEY_CSVJSONL can be set to a random list of strings. ``` export OPENAI_API_KEY="your_OpenAI_api_key" \ From 1a312591e90a29a7774fd938101e8723acdaea84 Mon Sep 17 00:00:00 2001 From: Jerry Lin Date: Mon, 15 Sep 2025 11:56:48 -0700 Subject: [PATCH 5/7] fix: Make clickhouse reach jina via the host --- docker-compose.override.yml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 docker-compose.override.yml diff --git a/docker-compose.override.yml b/docker-compose.override.yml new file mode 100644 index 0000000000..0ec1c911dd --- /dev/null +++ b/docker-compose.override.yml @@ -0,0 +1,7 @@ +version: '3' + +services: + clickhouse-db: + environment: + # Loop back to the host machine to reach the embedding server + - EMBEDDING_SERVER_URL=http://host.docker.internal:6000 \ No newline at end of file From de6f7a2af361d679119e7b969df83a8f32ce0011 Mon Sep 17 00:00:00 2001 From: Jerry Lin Date: Mon, 15 Sep 2025 11:57:37 -0700 Subject: [PATCH 6/7] fix: Provide MacOS workaround to spin up CPU embeddings --- .gitignore | 1 + README.md | 29 ++++++++++++++++++++++ docker-compose-cpu-embeddings.override.mac | 21 ++++++++++++++++ 3 files changed, 51 insertions(+) create mode 100644 docker-compose-cpu-embeddings.override.mac diff --git a/.gitignore b/.gitignore index edf7c697ae..267cc1abbd 100644 --- a/.gitignore +++ b/.gitignore @@ -99,3 +99,4 @@ clients/trieve-shopify-extension/shopify.app.skept-laptop-trieve-extension.toml charts/charts/**/*.tgz clients/trieve-shopify-extension/.env.skept-trieve-extension-test .idea +docker-compose-cpu-embeddings.override.yml diff --git a/README.md b/README.md index 3cf4901847..086b4720a7 100644 --- a/README.md +++ b/README.md @@ -175,6 +175,35 @@ cat .env.chat .env.search .env.server .env.docker-compose > .env ./convenience.sh -l ``` +### Start embedding servers + +We offer 2 docker-compose files for embedding servers. One for GPU and one for CPU. + +```sh +docker compose -f docker-compose-cpu-embeddings.yml up -d +``` + +or + +```sh +docker compose -f docker-compose-gpu-embeddings.yml up -d +``` + +* Note on embedding servers. If you want to use a separate GPU enabled device for embedding servers you will need to update the following parameters + +``` +SPARSE_SERVER_QUERY_ORIGIN +SPARSE_SERVER_DOC_ORIGIN +EMBEDDING_SERVER_ORIGIN +SPARSE_SERVER_QUERY_ORIGIN +``` + +#### Using CPU embeddings on MacOS +``` +cp docker-compose-cpu-embeddings.override.mac docker-compose-cpu-embeddings.override.yml +docker-compose -f docker-compose-cpu-embeddings.yml -f docker-compose-cpu-embeddings.override.yml docker up -d +``` + ### Install front-end packages for local dev ``` diff --git a/docker-compose-cpu-embeddings.override.mac b/docker-compose-cpu-embeddings.override.mac new file mode 100644 index 0000000000..1260cc0497 --- /dev/null +++ b/docker-compose-cpu-embeddings.override.mac @@ -0,0 +1,21 @@ +# Docker Compose overrides for macOS development with CPU embeddings +# To use this file: docker-compose -f docker-compose-cpu-embeddings.yml -f docker-compose-cpu-embeddings.override.yml up +# For Linux development, don't include this override file + +version: '3' + +services: + splade-doc: + platform: linux/amd64 + + splade-query: + platform: linux/amd64 + + jina: + platform: linux/amd64 + + bgem3: + platform: linux/amd64 + + reranker: + platform: linux/amd64 \ No newline at end of file From 7426cc3f88aba7336b3622686c3eb5ae85220fc9 Mon Sep 17 00:00:00 2001 From: Jerry Lin Date: Mon, 15 Sep 2025 16:18:11 -0700 Subject: [PATCH 7/7] fix: Update to stable versions of TEI for bgem3 and reranker --- docker-compose-cpu-embeddings.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker-compose-cpu-embeddings.yml b/docker-compose-cpu-embeddings.yml index e1228f47d9..c9193d3844 100644 --- a/docker-compose-cpu-embeddings.yml +++ b/docker-compose-cpu-embeddings.yml @@ -27,7 +27,7 @@ services: - ./data:/data bgem3: - image: ghcr.io/huggingface/text-embeddings-inference:cpu-1.5 + image: ghcr.io/huggingface/text-embeddings-inference:cpu-1.2 command: --model-id BAAI/bge-m3 --revision main ports: - "7000:80" @@ -35,7 +35,7 @@ services: - ./data:/data reranker: - image: ghcr.io/huggingface/text-embeddings-inference:cpu-1.5 + image: ghcr.io/huggingface/text-embeddings-inference:cpu-1.8.2 command: --model-id BAAI/bge-reranker-base --revision main ports: - "8000:80"