> For the complete documentation index, see [llms.txt](https://docs.aidi.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.aidi.ai/mosaic/get-started/llm-configuration/azure-ai-foundry.md).

# Azure AI Foundry

Mosaic connects to a model you've deployed in your own Azure AI Foundry project. Inference happens in your Azure subscription, your billing, your governance.

## Prerequisites

* An Azure subscription with permission to create AI Foundry resources
* Familiarity with the [Azure AI Foundry portal](https://ai.azure.com/)
* A Tenant Admin account in Mosaic

## Steps

{% stepper %}
{% step %}
**Create or open an Azure AI Foundry project**

In the [Azure AI Foundry portal](https://ai.azure.com/), create a project (or open an existing one). The project is the unit Mosaic will connect to.

If you don't already have a project: **+ Create project** → choose a hub → name it (e.g., `mosaic-inference`) → create.
{% endstep %}

{% step %}
**Deploy a model**

Inside the project: **Models + endpoints** → **Deploy model** → pick a model. Mosaic works well with:

* **Claude (Sonnet or Opus)** — best for the agent flows used by Variance Commentary, Sales Pulse, etc.
* **GPT-4 / GPT-4o** — strong general-purpose default
* **Mistral / Llama** — open-weight options if your governance prefers them

Give the deployment a name you'll recognise (e.g., `claude-sonnet-prod`).
{% endstep %}

{% step %}
**Copy the endpoint URL and key**

Once the deployment is running:

* **Endpoint URL** — visible on the deployment detail page (e.g., `https://<project>.openai.azure.com/`)
* **API Key** — under **Keys and endpoint** for the project

Copy both. The API key is sensitive — do not share or commit to source control.
{% endstep %}

{% step %}
**Connect Mosaic to your Foundry endpoint**

In Mosaic:

1. **Admin → AI Configuration**
2. **Add provider → Azure AI Foundry**
3. Paste:
   * **Endpoint URL**
   * **API Key**
   * **Deployment name** (the one from step 2)
4. Click **Test connection** — Mosaic sends a tiny test prompt and verifies the response
5. Click **Save**

Mosaic now uses your Foundry endpoint for all AI inference across the tenant.
{% endstep %}

{% step %}
**Verify**

Open a Mosaic chat and ask any question. The agent reasoning should stream as expected. Check **Admin → AI Sessions** — the model name shown for the new session should match your Foundry deployment name.
{% endstep %}
{% endstepper %}

## Recommended Foundry settings

* **Content filter**: Microsoft's default (Strict / Default / Off). Strict reduces false positives from analyst questions about sensitive topics; Default is the safer baseline for most tenants.
* **TPM (tokens per minute) quota**: start at 100 K TPM and scale based on usage. Foundry shows usage trends in its monitoring dashboards.
* **Region**: pick the region closest to your users. Mosaic's app servers are in India; latency is acceptable from any global Foundry region but lower from nearby ones.

## Switching models

You can change the deployed model in your Foundry project at any time. Mosaic re-uses whatever the deployment-name resolves to. There's no Mosaic-side switch; just update Foundry.

## What's next

[Mosaic App Configurations →](/mosaic/get-started/powerbi-configuration/mosaic-app-configurations.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.aidi.ai/mosaic/get-started/llm-configuration/azure-ai-foundry.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
