Skip to content

Commit 5c9f931

Browse files
authored
AI Bedrock support (#239)
* AI Bedrock support * formatting fixes
1 parent 97c6ad4 commit 5c9f931

File tree

2 files changed

+29
-21
lines changed

2 files changed

+29
-21
lines changed

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

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -198,18 +198,19 @@ Plane AI uses a separate PostgreSQL database. Create a new database (e.g. `plane
198198

199199
Plane AI supports multiple LLM providers. Configure one or more by adding their API keys.
200200

201-
| Variable | Description | Required |
202-
| -------------------------- | --------------------------------------------------------------- | -------- |
203-
| **OPENAI_API_KEY** | API key for OpenAI models | Optional |
204-
| **CLAUDE_API_KEY** | API key for Anthropic models | Optional |
205-
| **GROQ_API_KEY** | API key for speech-to-text features | Optional |
206-
| **CUSTOM_LLM_ENABLED** | Set to `true` to use a custom LLM with an OpenAI-compatible API | Optional |
207-
| **CUSTOM_LLM_MODEL_KEY** | Identifier key for the custom model | Optional |
208-
| **CUSTOM_LLM_BASE_URL** | Base URL of the custom model's OpenAI-compatible endpoint | Optional |
209-
| **CUSTOM_LLM_API_KEY** | API key for the custom endpoint | Optional |
210-
| **CUSTOM_LLM_NAME** | Display name for the custom model | Optional |
211-
| **CUSTOM_LLM_DESCRIPTION** | Description of the custom model | Optional |
212-
| **CUSTOM_LLM_MAX_TOKENS** | Maximum token limit for the custom model | Optional |
201+
| Variable | Description | Required |
202+
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | -------- |
203+
| **OPENAI_API_KEY** | API key for OpenAI models | Optional |
204+
| **CLAUDE_API_KEY** | API key for Anthropic models | Optional |
205+
| **GROQ_API_KEY** | API key for speech-to-text features | Optional |
206+
| **CUSTOM_LLM_ENABLED** | Set to `true` to enable a custom LLM. Supports OpenAI-compatible endpoints and AWS Bedrock. | Optional |
207+
| **CUSTOM_LLM_PROVIDER** | Backend provider for the custom model. Accepted values: `openai` (default), `bedrock`. | Optional |
208+
| **CUSTOM_LLM_MODEL_KEY** | Identifier key for the custom model (e.g. a model ID or name). | Optional |
209+
| **CUSTOM_LLM_BASE_URL** | Base URL of the custom model's OpenAI-compatible endpoint. Required when `CUSTOM_LLM_PROVIDER=openai`. | Optional |
210+
| **CUSTOM_LLM_API_KEY** | API key for authenticating with the custom endpoint. Required for `openai` provider; used as the AWS access key ID when `CUSTOM_LLM_PROVIDER=bedrock`. | Optional |
211+
| **CUSTOM_LLM_AWS_REGION** | AWS region for the Bedrock model (e.g. `us-east-1`). Required when `CUSTOM_LLM_PROVIDER=bedrock`. | Optional |
212+
| **CUSTOM_LLM_NAME** | Display name for the custom model shown in the UI. Defaults to `Custom LLM`. | Optional |
213+
| **CUSTOM_LLM_MAX_TOKENS** | Maximum token limit for the custom model. Defaults to `128000`. | Optional |
213214

214215
#### Provider base URLs
215216

docs/self-hosting/govern/plane-ai.md

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,15 @@ You can provide API keys for both OpenAI and Anthropic, making all models availa
4343

4444
#### Custom models (self-hosted or third-party)
4545

46-
Plane AI works with any model exposed through an OpenAI-compatible API, including models served by Ollama, Groq, Cerebras, and similar runtimes. You can configure one custom model alongside your public provider keys.
46+
Plane AI supports custom models through two backends:
4747

48-
:::warning
49-
For reliable performance across all Plane AI features, use a custom model with at least 100 billion parameters. Larger models produce better results.
48+
- **OpenAI-compatible endpoint** — any model exposed via an OpenAI-compatible API, including models served by Ollama, Groq, Cerebras, and similar runtimes.
49+
- **AWS Bedrock** — models accessed directly through Amazon Bedrock using your AWS credentials.
50+
51+
One custom model can be configured alongside your public provider keys.
52+
53+
::: warning
54+
The custom model should have at least 100 billion parameters for all Plane AI features to work reliably. Larger, more capable models yield better results.
5055
:::
5156

5257
### Embedding models
@@ -114,20 +119,22 @@ CLAUDE_API_KEY=xxxxxxxxxxxxxxxx
114119

115120
### Custom model
116121

117-
Use this for self-hosted models or third-party OpenAI-compatible endpoints.
118-
119122
```bash
120123
CUSTOM_LLM_ENABLED=true
124+
CUSTOM_LLM_PROVIDER=openai # or 'bedrock'
121125
CUSTOM_LLM_MODEL_KEY=your-model-key
122-
CUSTOM_LLM_BASE_URL=http://your-endpoint/v1
123126
CUSTOM_LLM_API_KEY=your-api-key
124127
CUSTOM_LLM_NAME=Your Model Name
125-
CUSTOM_LLM_DESCRIPTION="Optional description"
126128
CUSTOM_LLM_MAX_TOKENS=128000
127129
```
128130

129-
:::info
130-
The custom endpoint must expose an OpenAI-compatible API matching OpenAI's request and response format.
131+
**Additional required variables by provider:**
132+
133+
- **OpenAI-compatible** (`openai`): `CUSTOM_LLM_BASE_URL`
134+
- **AWS Bedrock** (`bedrock`): `CUSTOM_LLM_AWS_REGION`
135+
136+
::: warning
137+
For Bedrock, the IAM user must have `bedrock:InvokeModel` permission on the target model.
131138
:::
132139

133140
### Speech-to-text (optional)

0 commit comments

Comments
 (0)