---
title: "AI Assistant 2.1.0 migration guide"
canonical_url: "https://www.nutrient.io/guides/ai-assistant/migration-guides/ai-assistant-2-1-0-migration-guide/"
md_url: "https://www.nutrient.io/guides/ai-assistant/migration-guides/ai-assistant-2-1-0-migration-guide.md"
last_updated: "2026-06-05T20:16:40.030Z"
description: "Migrate AI Assistant from version 2.0.0 to 2.1.0, including model configuration schema changes."
---

# AI Assistant 2.1.0 migration guide

This guide outlines the changes required to migrate AI Assistant from version `2.0.0` to `2.1.0`.

In `2.1.0`, service configuration moves from schema version `1` (`aiServices`) to schema version `2` (`providers` + `models` + `labels`).

AI Assistant versions (`2.0.0`, `2.1.0`) are product versions, while configuration versions (`"1"`, `"2"`) are schema versions.

## Breaking configuration changes

- `version` changes from `"1"` to `"2"`.

- `aiServices` is removed and replaced by `models` and `providers`.

- Each `models` entry uses the `{provider}:{model}` format.

- Each model must define one or more `labels`.

- Default model selection now uses the `default-llm` and `default-embedding` labels.

- `providers` is optional and is used for explicit provider settings (for example, Azure instance settings, Bedrock region, or OpenAI-compatible base URLs).

## Service configuration before and after

Before:

```yaml

version: "1"

aiServices:
  chat:
    provider:
      name: "openai"
    model: "gpt-5-mini"
  textEmbeddings:
    provider:
      name: "openai"
    model: "text-embedding-3-small"

```

After:

```yaml

version: "2"

providers:
  - name: "openai"

models:
  - model: "openai:gpt-5-mini"
    labels: ["default-llm"]
  - model: "openai:text-embedding-3-small"
    labels: ["default-embedding"]

```
