Retriever Service
Vector indexing and similarity search backing the Retrieval API. Generates embeddings via a configurable HTTP embedding service and stores/searches vectors in MongoDB or a dedicated vector database.
This service is not open-source but its image is publicly accessible on DockerHub
Configuration
The following environment variables are used to configure this service:
| Name | Description |
|---|---|
| MONGOMONGODB_CONNECTION_STRING | Required MongoDB connection string |
| MONGODB_DATABASE_NAME | Optional. Sets or overrides the database name. |
| LICENSE_KEY | Required. A license key. See Plans |
| SEARCH_MODE | Optional. Search mode. Supported modes: FullText, Vector, FullTextAndVector. Default: FullText |
| EMBEDDING_SERVICE_URL | Optional. Embedding service URL. Required if SEARCH_MODE is Vector or FullTextAndVector |
| EMBEDDING_SERVICE_API_KEY | Optional. Embedding service API key if applicable |
| EMBEDDING_SERVICE_REQUEST_TEMPLATE | Optional. Request body to send to an embedding service. Default: { 'model': 'embeddinggemma', 'input': null } |
| EMBEDDING_SERVICE_CONTENT_JSON_PATH | Optional. Json path to replace content in the template. Default: $.input |
| EMBEDDING_SERVICE_RESULT_JSON_PATH | Optional. Json path to get a results array from the embedding service response. Default: $.embeddings |
| EMBEDDING_VECTORS_LENGTH | Optional. Embedding vector length. Default 768 (the default value for the embeddinggemma model) |
| SEARCH_MONGODB_CONNECTION_STRING | Optional. Vector database connection string. If not specified, the primary MongoDB is used (in this case it must be MongoDB Atlas). |
| SEARCH_DB_DATABASE_NAME | Optional. Sets or overrides the vector database name. |
| MIN_LOG_LEVEL | Optional. Minimal log level. Default value is Information |
Vector database
To perform vector search, a vector database is required to store embeddings and execute similarity queries.
Supported vector databases: