Skip to content

Commit 6bfbf86

Browse files
authored
Merge pull request #248 from makeplane/chore-opensearch-embedding-dimension-config
chore: opensearch embedding model dimension configurability
2 parents 8f568ee + 5904a2b commit 6bfbf86

File tree

3 files changed

+83
-48
lines changed

3 files changed

+83
-48
lines changed

docs/self-hosting/govern/aws-opensearch-embedding.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -224,10 +224,12 @@ POST /_plugins/_ml/models/<model_id>/_predict
224224

225225
## Configure Plane
226226

227-
Add the deployed model ID to `/opt/plane/plane.env`:
227+
Add the deployed model ID and configuration to `/opt/plane/plane.env`:
228228

229229
```bash
230-
EMBEDDING_MODEL_ID=<model_id>
230+
OPENSEARCH_ML_MODEL_ID=<model_id>
231+
EMBEDDING_MODEL=cohere/embed-v4.0
232+
OPENSEARCH_EMBEDDING_DIMENSION=1536
231233
```
232234

233235
Restart Plane and complete the remaining steps in [Enable Plane AI](/self-hosting/govern/plane-ai#configure-an-embedding-model).

docs/self-hosting/govern/environment-variables.md

Lines changed: 40 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -227,14 +227,15 @@ Use these when routing requests through self-hosted gateways, proxies, or compat
227227

228228
These settings are required for semantic search and Plane AI Chat. Configure one of the following options.
229229

230-
| Variable | Description | Required |
231-
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------- |
232-
| **EMBEDDING_MODEL_ID** | ID of an existing embedding model deployed in OpenSearch (works with both self-hosted and AWS OpenSearch) | Conditional |
233-
| **EMBEDDING_MODEL** | Embedding model to automatically deploy (e.g., `cohere/embed-v4.0`, `openai/text-embedding-3-small`, `bedrock/amazon.titan-embed-text-v1`). Self-hosted OpenSearch only. | Conditional |
234-
| **COHERE_API_KEY** | API key for Cohere embedding models | Conditional |
235-
| **BR_AWS_ACCESS_KEY_ID** | AWS access key ID for Bedrock Titan embedding | Conditional |
236-
| **BR_AWS_SECRET_ACCESS_KEY** | AWS secret access key for Bedrock Titan embedding | Conditional |
237-
| **BR_AWS_REGION** | AWS region for Bedrock Titan embedding | Conditional |
230+
| Variable | Description | Required |
231+
| ---------------------------------- | ---------------------------------------------------------------------------------------- | ----------- |
232+
| **OPENSEARCH_ML_MODEL_ID** | ID of an existing embedding model deployed in OpenSearch. | Conditional |
233+
| **EMBEDDING_MODEL** | Model used for generating embeddings and query construction (e.g., `cohere/embed-v4.0`). | Required |
234+
| **OPENSEARCH_EMBEDDING_DIMENSION** | The dimension of the embedding model (e.g., `1536`). | Required |
235+
| **COHERE_API_KEY** | API key for Cohere embedding models | Conditional |
236+
| **BR_AWS_ACCESS_KEY_ID** | AWS access key ID for Bedrock Titan embedding | Conditional |
237+
| **BR_AWS_SECRET_ACCESS_KEY** | AWS secret access key for Bedrock Titan embedding | Conditional |
238+
| **BR_AWS_REGION** | AWS region for Bedrock Titan embedding | Conditional |
238239

239240
For setup instructions, supported models, and IAM permissions, see [Enable Plane AI](/self-hosting/govern/plane-ai).
240241

@@ -292,35 +293,37 @@ For setup instructions, supported models, and IAM permissions, see [Enable Plane
292293

293294
### Plane Intelligence (PI) settings
294295

295-
| Variable | Description | Default Value |
296-
| --------------------------------------- | ----------------------------------------------------------------------------- | ------------------------------------- |
297-
| **OPENAI_API_KEY** | API key for OpenAI services used by Plane Intelligence. | |
298-
| **OPENAI_BASE_URL** | Custom base URL for OpenAI-compatible API endpoints. | |
299-
| **CLAUDE_API_KEY** | API key for Anthropic Claude services used by Plane Intelligence. | |
300-
| **CLAUDE_BASE_URL** | Custom base URL for Claude API endpoints. | |
301-
| **GROQ_API_KEY** | API key for Groq services used by Plane Intelligence. | |
302-
| **GROQ_BASE_URL** | Custom base URL for Groq API endpoints. | |
303-
| **COHERE_API_KEY** | API key for Cohere services used by Plane Intelligence. | |
304-
| **COHERE_BASE_URL** | Custom base URL for Cohere API endpoints. | |
305-
| **CUSTOM_LLM_ENABLED** | Enable a custom OpenAI-compatible LLM provider. Set to `true` to enable. | false |
306-
| **CUSTOM_LLM_MODEL_KEY** | Model key identifier for the custom LLM. | gpt-oss-120b |
307-
| **CUSTOM_LLM_BASE_URL** | Base URL for the custom LLM API endpoint. | |
308-
| **CUSTOM_LLM_API_KEY** | API key for the custom LLM provider. | |
309-
| **CUSTOM_LLM_NAME** | Display name for the custom LLM in the Plane UI. | GPT-OSS-120B |
310-
| **CUSTOM_LLM_DESCRIPTION** | Description of the custom LLM shown in the Plane UI. | A self-hosted OpenAI-compatible model |
311-
| **CUSTOM_LLM_MAX_TOKENS** | Maximum token limit for the custom LLM. | 128000 |
312-
| **EMBEDDING_MODEL** | Model used for generating text embeddings for search features. | |
313-
| **BR_AWS_ACCESS_KEY_ID** | AWS access key for Amazon Bedrock integration. | |
314-
| **BR_AWS_SECRET_ACCESS_KEY** | AWS secret key for Amazon Bedrock integration. | |
315-
| **BR_AWS_SESSION_TOKEN** | AWS session token for Amazon Bedrock integration (for temporary credentials). | |
316-
| **FASTAPI_APP_WORKERS** | Number of FastAPI workers for the PI service. | 1 |
317-
| **PLANE_OAUTH_STATE_EXPIRY_SECONDS** | Expiry time (in seconds) for PI OAuth state tokens. | 82800 |
318-
| **CELERY_VECTOR_SYNC_ENABLED** | Enable periodic vector synchronization for AI-powered search. | 0 |
319-
| **CELERY_VECTOR_SYNC_INTERVAL** | Interval (in seconds) for vector synchronization. | 3 |
320-
| **CELERY_WORKSPACE_PLAN_SYNC_ENABLED** | Enable periodic workspace plan synchronization. | 0 |
321-
| **CELERY_WORKSPACE_PLAN_SYNC_INTERVAL** | Interval (in seconds) for workspace plan synchronization. | 86400 |
322-
| **CELERY_DOCS_SYNC_ENABLED** | Enable periodic documents synchronization for AI indexing. | 0 |
323-
| **CELERY_DOCS_SYNC_INTERVAL** | Interval (in seconds) for documents synchronization. | 86400 |
296+
| Variable | Description | Default Value |
297+
| --------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------- |
298+
| **OPENAI_API_KEY** | API key for OpenAI services used by Plane Intelligence. | |
299+
| **OPENAI_BASE_URL** | Custom base URL for OpenAI-compatible API endpoints. | |
300+
| **CLAUDE_API_KEY** | API key for Anthropic Claude services used by Plane Intelligence. | |
301+
| **CLAUDE_BASE_URL** | Custom base URL for Claude API endpoints. | |
302+
| **GROQ_API_KEY** | API key for Groq services used by Plane Intelligence. | |
303+
| **GROQ_BASE_URL** | Custom base URL for Groq API endpoints. | |
304+
| **COHERE_API_KEY** | API key for Cohere services used by Plane Intelligence. | |
305+
| **COHERE_BASE_URL** | Custom base URL for Cohere API endpoints. | |
306+
| **CUSTOM_LLM_ENABLED** | Enable a custom OpenAI-compatible LLM provider. Set to `true` to enable. | false |
307+
| **CUSTOM_LLM_MODEL_KEY** | Model key identifier for the custom LLM. | gpt-oss-120b |
308+
| **CUSTOM_LLM_BASE_URL** | Base URL for the custom LLM API endpoint. | |
309+
| **CUSTOM_LLM_API_KEY** | API key for the custom LLM provider. | |
310+
| **CUSTOM_LLM_NAME** | Display name for the custom LLM in the Plane UI. | GPT-OSS-120B |
311+
| **CUSTOM_LLM_DESCRIPTION** | Description of the custom LLM shown in the Plane UI. | A self-hosted OpenAI-compatible model |
312+
| **CUSTOM_LLM_MAX_TOKENS** | Maximum token limit for the custom LLM. | 128000 |
313+
| **EMBEDDING_MODEL** | Model key for generating embeddings (e.g. `cohere/embed-v4.0`). Required for PI API startup when Plane AI is enabled. | |
314+
| **OPENSEARCH_ML_MODEL_ID** | OpenSearch ML model ID for the deployed embedding model. | |
315+
| **OPENSEARCH_EMBEDDING_DIMENSION** | Vector dimension for `knn_vector` fields; must match the embedding model and stay aligned with the API service. See [Plane AI](/self-hosting/govern/plane-ai). | 1536 |
316+
| **BR_AWS_ACCESS_KEY_ID** | AWS access key for Amazon Bedrock integration. | |
317+
| **BR_AWS_SECRET_ACCESS_KEY** | AWS secret key for Amazon Bedrock integration. | |
318+
| **BR_AWS_SESSION_TOKEN** | AWS session token for Amazon Bedrock integration (for temporary credentials). | |
319+
| **FASTAPI_APP_WORKERS** | Number of FastAPI workers for the PI service. | 1 |
320+
| **PLANE_OAUTH_STATE_EXPIRY_SECONDS** | Expiry time (in seconds) for PI OAuth state tokens. | 82800 |
321+
| **CELERY_VECTOR_SYNC_ENABLED** | Enable periodic vector synchronization for AI-powered search. | 0 |
322+
| **CELERY_VECTOR_SYNC_INTERVAL** | Interval (in seconds) for vector synchronization. | 3 |
323+
| **CELERY_WORKSPACE_PLAN_SYNC_ENABLED** | Enable periodic workspace plan synchronization. | 0 |
324+
| **CELERY_WORKSPACE_PLAN_SYNC_INTERVAL** | Interval (in seconds) for workspace plan synchronization. | 86400 |
325+
| **CELERY_DOCS_SYNC_ENABLED** | Enable periodic documents synchronization for AI indexing. | 0 |
326+
| **CELERY_DOCS_SYNC_INTERVAL** | Interval (in seconds) for documents synchronization. | 86400 |
324327

325328
::: details Community Edition
326329

0 commit comments

Comments
 (0)