IDE Services 2025.1 Help

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

  1. Plan your installation.

  2. Contact the IDE Services sales team and request an access token.

  3. Generate JWT keys.

  4. Configure your values.yaml file.

  5. Run the deployment:

    helm install jb-ide-services jetbrains-ide-services/ide-services-helm --version 2025.1.0 --namespace kube-ide-services -f values.yaml
  6. Open the IDE Services Web UI and configure an AI provider of your choice to complete the JetBrains Mellum setup.

Generate JWT keys

  1. 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.pem
  2. Save the generated keys in a secure place, as you'll need them for JetBrains Mellum configuration.

Configure values.yaml

  1. Navigate to the aie.mellum parameters in your values.yaml file. Set the value of the aie.mellum.enabled parameter to true.

  2. 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"
  3. 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 the aie.mellum.providerDefaults.image.pullSecrets property.

  4. 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-l40
  5. Specify 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 and ides.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 registry

  • repository: Path to the image repository

  • tag: Image version

  • digest: 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.

Last modified: 08 April 2025