
Trieve
STDIOAll-in-one solution for search, recommendations, and RAG with semantic and neural search capabilities.
All-in-one solution for search, recommendations, and RAG with semantic and neural search capabilities.
Sign Up (1k chunks free) | PDF2MD | Hacker News Search Engine | Documentation | Meet a Maintainer | Discord | Matrix
Are we missing a feature that your use case would need? - call us at 628-222-4090, make a Github issue, or join the Matrix community 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.
To install Trieve for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install trieve-mcp-server --client claude
sudo apt install curl \ gcc \ g++ \ make \ pkg-config \ python3 \ python3-pip \ libpq-dev \ libssl-dev \ openssl
sudo pacman -S base-devel postgresql-libs
You can install NVM using its install script.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
You should restart the terminal to update bash profile with NVM. Then, you can install NodeJS LTS release and Yarn.
nvm install --lts
npm install -g yarn
mkdir server/tmp
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
cargo install cargo-watch
You might need to create the analytics
directory in ./frontends
cp .env.analytics ./frontends/analytics/.env
cp .env.chat ./frontends/chat/.env
cp .env.search ./frontends/search/.env
cp .env.example ./server/.env
cp .env.dashboard ./frontends/dashboard/.env
LLM_API_KEY
to ./server/.env
Here is a guide for acquiring that.
./server/.env
fileLLM_API_KEY
to be your own OpenAI API key.OPENAI_API_KEY
to be your own OpenAI API key.The PAGEFIND_CDN_BASE_URL and S3_SECRET_KEY_CSVJSONL could be set to a random list of strings.
export OPENAI_API_KEY="your_OpenAI_api_key" \
LLM_API_KEY="your_OpenAI_api_key" \
PAGEFIND_CDN_BASE_URL="lZP8X4h0Q5Sj2ZmV,aAmu1W92T6DbFUkJ,DZ5pMvz8P1kKNH0r,QAqwvKh8rI5sPmuW,YMwgsBz7jLfN0oX8" \
S3_SECRET_KEY_CSVJSONL="Gq6wzS3mjC5kL7i4KwexnL3gP8Z1a5Xv,V2c4ZnL0uHqBzFvR2NcN8Pb1g6CjmX9J,TfA1h8LgI5zYkH9A9p7NvWlL0sZzF9p8N,pKr81pLq5n6MkNzT1X09R7Qb0Vn5cFr0d,DzYwz82FQiW6T3u9A4z9h7HLOlJb7L2V1" \
GROQ_API_KEY="GROQ_API_KEY_if_applicable"
cat .env.chat .env.search .env.server .env.docker-compose > .env
./convenience.sh -l
cd frontends
yarn
cd ..
cd clients/ts-sdk
yarn build
cd ../..
It is recommend to manage services through tmuxp, see the guide here or terminal tabs.
cd frontends
yarn
yarn dev
cd server
cargo watch -x run
cd server
cargo run --bin ingestion-worker
cd server
cargo run --bin file-worker
cd server
cargo run --bin delete-worker
cd search
yarn
yarn dev
After the cargo build has finished (after the tmuxp load trieve
):
To test the Cross Encoder rerankers in local dev,
Fulltext Enabled
option.Reach out to us on discord for assistance. We are available and more than happy to assist.
diesel::debug_query(&query).to_string();
The evals package loads an mcp client that then runs the index.ts file, so there is no need to rebuild between tests. You can load environment variables by prefixing the npx command. Full documentation can be found here.
OPENAI_API_KEY=your-key npx mcp-eval evals.ts clients/mcp-server/src/index.ts
Install Stripe CLI.
stripe login
stripe listen --forward-to localhost:8090/api/stripe/webhook
STRIPE_WEBHOOK_SECRET
in the server/.env
to the resulting webhook signing secretstripe products create --name trieve --default-price-data.unit-amount 1200 --default-price-data.currency usd
stripe plans create --amount=1200 --currency=usd --interval=month --product={id from response of step 3}