> For the complete documentation index, see [llms.txt](https://docs.inogic.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.inogic.com/next-best-action/installation/installation-of-nba-ai-ml-engine.md).

# Installation of NBA AI/ML Engine

To install NBA AI/ML Engine, follow the steps below:

**Download the NBA AI/ML Engine (Azure Managed Application)**\
&#x20;

* Once you click on Install it will navigate you to the NBA AI/ML Engine page, click Get it now to begin the deployment process.

<figure><img src="/files/x7gt1OSRg1FZSZVPg7JJ" alt=""><figcaption></figcaption></figure>

* &#x20;A confirmation prompt appears. Click '**Get it now**' again to confirm.

<figure><img src="/files/6gCgW9ONWRhlQLLuIAt7" alt=""><figcaption></figcaption></figure>

&#x20;

**Select Subscription and Create**

* Select your active Azure subscription from the subscription dropdown. (You must have an active subscription to proceed.)&#x20;
* Click **Create** to continue to the deployment configuration UI.

<figure><img src="/files/AAWHWtapDFZnYK7s8P8i" alt=""><figcaption></figcaption></figure>

**Basics Tab - Resource Group & Names**<br>

* Create a new Resource Group OR select an existing Resource Group.
* Important: If you select an existing resource group, it must be empty. If it contains resources, create a new resource group instead.
* Enter the Container App name and Managed Application name.

{% hint style="info" %}
**Note**: The Container App name will appear in the URL of the created container app. Choose it carefully.&#x20;
{% endhint %}

* Enter the Object ID of the deploying user.

<figure><img src="/files/5pfs49aAJ7jLIuaBbENP" alt=""><figcaption></figcaption></figure>

* To get the Object ID, go to the Azure portal, search for Microsoft Entra ID.

<figure><img src="/files/Ceo9OzY80gVE5NIrcfki" alt=""><figcaption></figcaption></figure>

* Click **Manage → Users**.

<figure><img src="/files/V0ZdCDyVjHXPRlb0Jwer" alt=""><figcaption></figcaption></figure>

* Click **All users → Search for your username and select it.**

<figure><img src="/files/MTDvb1vvgpFgKn85wJiu" alt=""><figcaption></figcaption></figure>

* Copy the **Object ID**.

<figure><img src="/files/ywZn9vNby9J7eG5f4ABA" alt=""><figcaption></figcaption></figure>

* Paste your Object ID and click **Next**.

<figure><img src="/files/GKeG99XD5GUy4awYZGqa" alt=""><figcaption></figcaption></figure>

#### **OpenAI Service Configuration Tab**

Move to the Open AI service configuration tab. You will be prompted to choose an option (Yes / No).

### **If you select No:**

* The NBA AI/ML Engine will create an Azure AI service for you and deploy the model into that service automatically.
* From the dropdown, select the model you want to deploy and select/set the token for that model.
* Set the token value based on your requirements and the tokens available in your Azure subscription. (Ensure you have sufficient tokens/quota for the chosen model.)
* Click **Next** to proceed.

<figure><img src="/files/nMsIA8gGQZ6pHEMg6KrW" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/mFUSILBr7y7pC8aRTDwL" alt=""><figcaption></figcaption></figure>

#### **Finalize Deployment**

* Review all configuration selections (subscription, resource group, container app name, OpenAI configuration, model and token, environment, owner).
* Complete the deployment (click **Create / Deploy** as applicable in the Azure UI).

<figure><img src="/files/17VACxqpisPLQO2eQ13n" alt=""><figcaption></figcaption></figure>

&#x20;

<figure><img src="/files/iyL67xtNhjnBvqK8gIku" alt=""><figcaption></figcaption></figure>

* This will create a managed application in the selected Azure subscription. After successful deployment user must open the managed application.

<figure><img src="/files/V9gITJouvmBKvsSsAYb7" alt=""><figcaption></figcaption></figure>

### **If you select Yes:**

* In the Azure OpenAI Service dropdown, all existing Azure OpenAI services will be listed. Select the service you want to use.

**Note:** The Azure service must have at least one deployed chat completion model

<figure><img src="/files/Ieugx7kIB7sCyuTO06sK" alt=""><figcaption></figcaption></figure>

* Select the **Model Deployment Name** and **Azure OpenAI API Version**, then click **Next**.

<figure><img src="/files/iGaFxtWp64Yg5kyrH5T1" alt=""><figcaption></figcaption></figure>

* Go to:  \
  **Home → ChatCompletionService → Access Control (IAM) → Add Role Assignment**

<figure><img src="/files/eLQyIsIfupgHms7S7beu" alt=""><figcaption></figcaption></figure>

* Under **Roles**, select **Cognitive Services OpenAI User**.

<figure><img src="/files/BSBJ6x2TEBYMk2oYjVvh" alt=""><figcaption></figcaption></figure>

* Under **Members**, choose **Assign access to Managed Identity**.

<figure><img src="/files/FPjkiBMzKf0XnZqlzrSs" alt=""><figcaption></figcaption></figure>

* To get the managed identity name:

  \
  Go to the **Azure** Portal and search for **Managed Applications**.

<figure><img src="/files/3AgUhxaYyk5y3bEIleof" alt=""><figcaption></figcaption></figure>

* Open it and search for the deployed NBA AI/ML engine (**NBAEngine**).

<figure><img src="/files/RXiXJjFlyxgoEurCioiE" alt=""><figcaption></figcaption></figure>

* Open the **Managed resource group** from that application.

<figure><img src="/files/H3xVyEZ3AWFyBfTwC8kS" alt=""><figcaption></figcaption></figure>

* Look for the **Managed Identity** under resources and copy its name.

<figure><img src="/files/mEw3jELCegEe1g8hXzVk" alt=""><figcaption></figcaption></figure>

* Paste the name into **Managed Identity**, then:

<figure><img src="/files/PF2XyPY2xRdK5jcUuX8F" alt=""><figcaption></figcaption></figure>

* Click **Select**.

<figure><img src="/files/qlpc5acSCgJ4rRgzIaHF" alt=""><figcaption></figcaption></figure>

* Click **Review+assign**.

<figure><img src="/files/LZ1IFsfakh6kaKT16QG2" alt=""><figcaption></figcaption></figure>

* After assigning:

Open the Managed Resource Group again.

Locate and open the **Azure Machine Learning Workspace**.

<figure><img src="/files/5KjyzSrjGor8eiCh7Bed" alt=""><figcaption></figcaption></figure>

* Under the **Manage** section, open the **Studio Web URL**.

<figure><img src="/files/M2vhe18vsu8zklWaDftL" alt=""><figcaption></figcaption></figure>

* Go to **Manage** -> **Compute**
* Scroll down and find System Assigned Identity
* Copy the Principal ID

<figure><img src="/files/Si7ayrCu0op4kloItkWD" alt=""><figcaption></figcaption></figure>

* Now go back and:

Click **Members** → Assign access to **User, Group, or Service Principal**

<figure><img src="/files/r53B9GewI1rvM5BHsuI3" alt=""><figcaption></figcaption></figure>

* Paste the **Principal ID**.
* Click **Select**.

<figure><img src="/files/7IIgHxLoeydGBvN2biH2" alt=""><figcaption></figcaption></figure>

* Click **Review + Assign**.

<figure><img src="/files/osXU5DWSNCy6B4WSxpAl" alt=""><figcaption></figcaption></figure>

* Click Here to configure the NBA AI/ML Engine.


---

# 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.inogic.com/next-best-action/installation/installation-of-nba-ai-ml-engine.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.
