General Introduction
Trieve is an all-encompassing infrastructure developed by Devflow, Inc. designed for search, recommendations, RAG (retrieval augmentation generation), and analytics. The platform is served via APIs, is self-hosted, and is available for environments such as AWS, GCP, Kubernetes, and Docker Compose.Trieve integrates OpenAI and Jina's embedding model, provides semantic vector search, and supports typo-tolerant full-text/neural search. Trieve also supports multiple filtering and grouping functions to ensure the accuracy and relevance of search results.
Function List
- self-hosted: Supports self-hosting in VPC or local environments with detailed self-hosting guides.
- semantic vector search: Integrate OpenAI or Jina embedding models to provide high-quality semantic vector search.
- Typo Tolerance Search: Providing typo-tolerant neural sparse vector search using the naver/efficient-splade-VI-BT-large-query model.
- clause highlighting: Enhance user experience by highlighting matching words or sentences in search results.
- recommender system: Provide personalized recommendations based on user behavior (e.g. favorites, bookmarks, likes).
- RAG API Routing: Integrates with OpenRouter, provides multiple LLM access options, and supports topic memory management.
- Hybrid Search: Reordering optimization with BAAI/bge-reranker-large provides the best search results.
- Freshness bias: Prevent stale results by biasing search results based on the latest content.
- Adjustable commercialization: Adjust relevance based on signals such as clicks, add to cart or citations.
- Multiple filtration: Supports various filter types such as date range, substring match, label, numeric value, and so on.
- grouping function: Support for marking multiple blocks as part of the same file ensures that top results are not duplicated.
Using Help
Installation process
- Preparing the environment: Ensure that the necessary packages are installed, such as curl, gcc, g++, make, pkg-config, python3, libpq-dev, libssl-dev, etc.
- Installing NodeJS and Yarn: Install the NodeJS LTS version using NVM and install Yarn globally.
- Setting environment variables: Copy the .env file to the appropriate directory and add the OpenAI API key.
- Starting the Docker Service: Start the required container service using docker-compose.
- local development: Use tmuxp or terminal tabs to manage the local development services and start the modules.
Guidelines for use
- Create an account: Visit a local server, create an account and upload a test dataset.
- Search Dataset: Perform a dataset search using a local server to verify that the setup is working properly.
- Debugging and Support: If you encounter problems, get support through Discord, or use diesel::debugquery(&query).tostring() debugs SQL queries.
Main function operation flow
- semantic vector search: After uploading the data, the system will automatically vectorize it, and users can search semantically through the API.
- recommender system: Based on user behavior data, the system will automatically generate recommended content, and users can get the recommended results through the API.
- RAG API Routing: Users can select different LLMs for the RAG operation, the system will provide the best results based on the subject memory management.
- Hybrid Search: Using the hybrid search function, the system will automatically reorder and optimize to provide the most relevant search results.
- Filtering and grouping: Users can set different filters and groupings as needed to ensure the accuracy and relevance of search results.
With the detailed installation and usage guide above, users can easily get started with Trieve's features and take full advantage of its powerful search, recommendation and analysis capabilities.