JetBrains Mellum
JetBrains Mellum enhances the code completion capabilities of custom AI providers. It is installed within an organization's infrastructure, ensuring availability and security, including in air-gapped environments.
Plan your installation
Before getting started with JetBrains Mellum, go through the following checklist and plan your installation:
- Hardware
Get acquainted with the hardware requirements for JetBrains Mellum. Depending on the number of seats in your organization, decide on the number of machines and their specifications.
Single machine: If you have a small team that uses AI Enterprise (<10 seats), a single machine with a high-end GPU will work.
Multi-node cluster: For larger teams, running a distributed setup with multiple machines helps balance the load.
Cloud deployment: If you don’t want to manage on-premise hardware, consider using IDE Services Cloud and JetBrains AI.
- Code completion models
JetBrains Mellum includes three models for code completion, which are intended for different programming languages:
jet-all-medium: Covers multiple languages and is recommended if your organization works with a variety of programming languages.
jet-py-medium: Optimized for Python development.
jet-kt-medium: Optimized for Java and Kotlin development.
Depending on your organization's needs, you can choose to deploy all models or only specific ones.
- Access token for JetBrains Mellum
To deploy JetBrains Mellum on-premises, you need an access token from JetBrains. Contact the IDE Services sales team to receive an access token.
Requirements
To support JetBrains Mellum, a machine needs to meet the following requirements:
One of the following GPUs: L40, A100, H100, H200
2 CPU
16 GB RAM
Code completion performance considerations
Code completion performance varies based on the GPU type and the number of seats.
For an organization with 50 seats, the average request rate is 0.2 requests per second (rps).
For an organization with 500 seats, the average request rate is 2 requests per second (rps).
The expected performance of different GPUs in processing code completion requests:
GPU model | Requests per second (rps) | Latency (ms) per request |
---|---|---|
A100 | 2 rps | 400 ms |
H100 | 11 rps | 500 ms |
L40 | 1 rps | 600 ms |
Installation
IDE Services comes with an option to deploy JetBrains Mellum via Helm charts.
Installation steps
Contact the IDE Services sales team and request an access token.
Run the deployment:
helm install jb-ide-services jetbrains-ide-services/ide-services-helm --version 2025.1.0 --namespace kube-ide-services -f values.yamlOpen the IDE Services Web UI and configure an AI provider of your choice to complete the JetBrains Mellum setup.
Generate JWT keys
Generate JWT keys for communication between IDE Services and JetBrains Mellum:
openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 | openssl rsa -out private_key.pem -outform PEM -traditional openssl rsa -in private_key.pem -pubout -out public_key.pemSave the generated keys in a secure place, as you'll need them for JetBrains Mellum configuration.
Configure values.yaml
Navigate to the
aie.mellum
parameters in your values.yaml file. Set the value of theaie.mellum.enabled
parameter totrue
.In the
aie.mellum.providers
section, configure the required models depending on the needs of your organization:providers: mellum-all: model: "jet-all-medium" image: registry: "docker.io" repository: "jetbrains/mellum-all-enterprise" tag: "2025.2.9" mellum-py: model: "jet-py-medium" image: registry: "docker.io" repository: "jetbrains/mellum-py-enterprise" tag: "2025.2.9" mellum-kt: model: "jet-kt-medium" image: registry: "docker.io" repository: "jetbrains/mellum-kt-enterprise" tag: "2025.2.9"Generate secrets that include the access token provided by the IDE Services sales team and the
jetbrains
username, as described in the Kubernetes documentation. Then, specify the secret names in theaie.mellum.providerDefaults.image.pullSecrets
property.Specify the required GPU in the
aie.mellum.providerDefaults.podNodeSelector
property. Example:aie: mellum: providerDefaults: podNodeSelector: kubernetes.io/arch: amd64 cloud.google.com/gke-accelerator: nvidia-l40Specify the generated JWT key pair in the following properties:
Specify the public key in
aie.mellum.config.jwtPublicKey
.Specify the private key in
ides.config.mellum.jwtPrivateKey
.Alternatively, create secrets and specify their names in
aie.mellum.config.jwtPublicKeySecretName
andides.config.mellum.jwtPrivateKeySecretName
.
- aie.mellum.enabled
Enables or disables the Mellum model functionality. Set to
true
to deploy Mellum components.- aie.mellum.providers
Defines a map of Mellum providers. Each key in the map represents a unique model configuration. These keys are user-defined and not referenced directly by the Helm chart. Each provider’s configuration will override the defaults from
aie.mellum.providerDefaults
.- aie.mellum.providerDefaults
Provides a default configuration for Mellum models. These settings apply to all providers unless overridden in the
aie.mellum.providers
section.model
: Mellum model ID
Image configuration (
image
):registry
: URL of the container registryrepository
: Path to the image repositorytag
: Image versiondigest
: Image digest (supports platform-specific digests)pullPolicy
: Image pull policy (IfNotPresent
,Always
, and more)pullSecrets
: List of image pull secrets for private registries
- aie.mellum.config.jwtPublicKey
Specify a JWT public key to establish secure communication between Mellum and IDE Services. Either this or
jwtPublicKeySecretName
must be set.- ides.config.mellum.jwtPrivateKey
Specify a JWT private key to establish secure communication between Mellum and IDE Services. Either this or
ides.config.mellum.jwtPrivateKeySecretName
must be set.