Mia-Assistant
Mia-Platform Console includes Mia Assistant, an AI-based application that can be interrogated on anything included in the official Mia-Platform Documentation and can use the Mia-Platform Console MCP Server to receive help on the Mia-Platform Console company and projects, allowing it to gather information about configurations, deployments, and Kubernetes status.
MongoDB requirements
To fetch information of the official documentation of the Mia-Platform Suite, Mia-Assistant relies on the RAG technique on a set of embeddings that contains the Mia-Platform documentation.
These embeddings are included in a specific Docker Image named mia-assistant-embeddings, available on the official Mia-Platform Container registry. This image contains a script that extracts the embeddings of the documentation related to the installed Mia-Platform version, and stores them in a MongoDB collection named assistant-documents.
The Mia-Assistant service, at startup, will create (or update) an Atlas Vector Search index on it, partially based on the configuration included at the Assistant startup.
Please mind that Atlas Vector Search indexes are available only on MongoDB Atlas instance with version 6.0.11, 7.0.2 or higher.
MongoDB's Vector Search indexes are not available on previous versions or on MongoDB Enterprise Server edition. If you don't meet these requirements, unfortunately the service will not work.
Please refer to the official MongoDB documentation to have more information regarding this.
AI Provider Configuration
Mia-Assistant allows using Embedding Models and Large Language Models from these providers:
- OpenAI, which includes models of the GPT family and embedding models
text-embedding-3-smallandtext-embedding-3-large - Azure, which allows deployment of several models from several companies
- Vertex AI (re-branded as Gemini Enterprise Agent Platform), which allows hosting of several models from several companies
While LLMs are required for the Assistant to function (producing text, meaning reading questions and producing answers), the Embedding Models are required to have access to the Mia-Platform Documentation.
Mia-Assistant Configuration
The configuration regarding the Assistant is included inside the assistant object, which is composed of:
In order for the service to correctly start up, please ensure the following properties are configured:
| Name | Type | Description | Default | Required |
|---|---|---|---|---|
enabled | boolean | If set to true, the Mia-Assistant will be enabled | false | ❌ |
keys | object | The configuration for the API Keys and Credentials for specified Models | ✅ | |
llms | object | The configuration of the related LLM used under the hood | ✅ | |
embeddings | object | The configuration of the related Embeddings used under the hood | ❌ |
LLM and Embeddings Model Configuration
You can choose one or multiple LLMs providers to be used from the Mia-Assistant. The supported ones are:
azureopenaivertexgoogle_anthropic_vertex
The Assistant can be configured to have multiple LLMs available, allowing the user using the Mia-Assistant to choose which LLM to use based on their need. It is also possible to include different LLMs coming from different AI Providers: the llms key expects an array of objects where
the different LLM configurations can be included, as shown in the example above.
Note that both vertex and google_anthropic_vertex cannot be configured to use different credentials for LLM and Embeddings models. Credentials for these models are defined in the field keys.vertexAICredentials.
As an Embedding model, you can choose one of the following supported types:
azureopenai
The embeddings key is an object, since you can configure only one embedding model in use.
The embeddings are available only with the text-embedding-3-large embedding model provided by OpenAI, and available via OpenAI API or Azure AI Foundry. If you don't have access to either service, the RAG technique could not work, and the Mia-Assistant cannot rely on the Documentation for helping carrying tasks on projects.
You can omit the embeddings key if you don't want the support of the Mia-Platform Documentation
in the Mia-Assistant and use it only as a general purpose knowledge with the capabilities of the MCP Server.
Here an example to configure Mia-Assistant with different LLM providers:
mia-console:
configurations:
# ...
assistant:
enabled: true
keys:
azureLlmApiKey: azure-apiKey
vertexAICredentials: vertex-credentials
llms:
# OpenAI LLM configuration example
- type: openai
name: gpt-5.4
displayName: GPT-5.4
# Azure LLM configuration example
- type: azure
name: gpt-5.4
displayName: GPT-5.4
deploymentName: gpt-5.4
apiVersion: 2024-12-01-preview
url: https://test.openai.azure.com/
# Gemini models hosted on Vertex AI LLM configuration example
- type: vertex
name: gemini-3.1-pro-preview
displayName: Gemini 3.1 Pro (Preview)
project: my-gcp-project
location: global
# Non-Gemini model hosted on Vertex AI LLM configuration example
- type: google_anthropic_vertex
name: claude-sonnet-4-6
displayName: Claude Sonnet 4.6
project: my-gcp-project
location: global
# ...
embeddings:
# Azure embedding model configuration example
type: azure
apiKey: embeddings-apiKey
apiVersion: 2025-01-01-preview
deploymentName: text-embedding-3-large
name: text-embedding-3-large
url: https://test.openai.azure.com
Different AI providers require different authentication secrets (such as API keys or private keys). These must be included inside the keys key. It is in form of an object where different
values must be included to support authentication with different providers. More details
on how to do this is shown in the following sub-paragraphs.
Using OpenAI
OpenAI is the default AI Provider for both LLMs and embedding models. If type key is omitted, it automatically defaults to openai.
Azure models require to be deployed via Azure AI Foundry. You have to set the name of the model in the name key, and you can add displayName for a more readable name of the model to be shown in Mia-Assistant (defaults to the name value).
The API Key used to authenticate must be included inside keys.openaiLlmApiKey. This value will
be encoded in base64 and included in a kubernetes service.
mia-console:
configurations:
# ...
assistant:
enabled: true
# ...
keys:
openaiLlmApiKey: your-apiKey
llms:
- type: openai
name: gpt-5.4
displayName: GPT-5.4
# ...
embeddings:
type: openai
name: text-embedding-3-large
# ...
Using Azure
Azure models require to be deployed via Azure AI Foundry. The configuration requires then the deploymentName, the apiVersion and the url of said deployment. This goes for each LLM configured and for the embedding model.
The API Key used to authenticate must be included inside keys.azureLlmApiKey. This value will
be encoded in base64 and included in a kubernetes service.
mia-console:
configurations:
# ...
assistant:
enabled: true
# ...
keys:
azureLlmApiKey: your-apiKey
llms:
- type: azure
name: gpt-5.4
displayName: GPT-5.4
deploymentName: gpt-5.4
apiVersion: 2024-12-01-preview
url: https://test.openai.azure.com/
# ...
embeddings:
type: azure
apiKey: embeddings-apiKey
apiVersion: 2025-01-01-preview
deploymentName: text-embedding-3-large
name: text-embedding-3-large
url: https://test.openai.azure.com
Using Gemini Enterprise Agent Platform (Vertex AI)
Gemini models require the type vertex. Other models available via Google Model Garden (such as Claude services) require the type google_anthropic_vertex.
You have to set the name of the model in the name key, and you can add displayName for a more readable name of the model to be shown in Mia-Assistant (defaults to the name value).
Moreover, the project (which is the GCP project of the service account used to authenticate) and the location of the model to use must be included for each LLM model.
The API Key used to authenticate must be included inside keys.vertexAICredentials, and should include the JSON with the required information of the service account to authenticate to the Google Cloud Provider instance. This value will be encoded in base64 and included in a kubernetes service.
mia-console:
configurations:
# ...
assistant:
enabled: true
# ...
keys:
vertexAICredentials: my-vertex-ai-credentials
llms:
- type: vertex # Gemini models
name: gemini-3.1-pro-preview
displayName: Gemini 3.1 Pro (Preview)
project: my-gcp-project
location: global
- type: google_anthropic_vertex # Vertex deployed models
name: claude-haiku-4-5
displayName: Claude Haiku 4.5
project: my-gcp-project
location: global
# ...
embeddings:
# ...