Arize-ai / phoenix-on-azure

Other
12 stars 3 forks source link

Deploy Phoenix to Azure

Open in GitHub Codespaces Open in Dev Containers

Phoenix provides MLOps and LLMOps insights at lightning speed with zero-config observability. Phoenix provides a notebook-first experience for monitoring your models and LLM Applications by providing:

Example Image

Example Image

Example Image

Table of contents:

Getting Started

You have a few options for getting started with this template. The quickest way to get started is GitHub Codespaces, since it will setup all the tools for you, but you can also set it up locally. You can also use a VS Code dev container

GitHub Codespaces

You can run this template virtually by using GitHub Codespaces. The button will open a web-based VS Code instance in your browser:

  1. Open the template (this may take several minutes) Open in GitHub Codespaces

  2. Open a terminal window

  3. Sign into your Azure account:

    azd auth login --use-device-code
  4. Provision the Azure resources and deploy your code:

    azd config set alpha.resourceGroupDeployments on
    # azd env set PERSISTENCE true
    azd provision
  5. To view the endpoint, follow the "Phoenix UI link"

  6. Optionally, you can configure a CI/CD pipeline:

    azd pipeline config

VS Code Dev Containers

A related option is VS Code Dev Containers, which will open the project in your local VS Code using the Dev Containers extension:

  1. Start Docker Desktop (install it if not already installed)

  2. Open the project: Open in Dev Containers

  3. In the VS Code window that opens, once the project files show up (this may take several minutes), open a terminal window.

  4. Sign into your Azure account:

    azd auth login
  5. Provision the Azure resources and deploy your code:

    azd config set alpha.resourceGroupDeployments on
    # azd env set PERSISTENCE true
    azd provision
  6. To view the endpoint, follow the "Phoenix UI link"

  7. Optionally, you can configure a CI/CD pipeline:

    azd pipeline config

Local Environment

Prerequisites

Quickstart

  1. Run this command to download the project code:

    azd init -t Arize-ai/phoenix-on-azure

    Note: this command will initialize a git repository, so you do not need to clone this repository.

  2. Create a Python virtual environment and install the required packages:

    pip install -r requirements.txt
  3. Sign into your Azure account:

    azd auth login
  4. Create a new azd environment:

    azd env new

    Enter a name that will be used for the resource group. This will create a new folder in the .azure folder, and set it as the active environment for any calls to azd going forward.

  5. Run this command to provision all the resources:

    If you want your data to be persisted between deployments, you can set the PERSISTENCE environment variable to true before running the provision command.

    azd config set alpha.resourceGroupDeployments on
    # azd env set PERSISTENCE true
    azd provision

    This will create a new resource group, and create the Azure Container App and PostgreSQL Flexible server inside that group. It will use the init.sh and post.sh hooks to set up default secrets, and pass the necessary environment variables to the Azure Container App.

  6. In order to deploy this template, you will need to turn on the resource group scoped deployments alpha feature. Learn more about azd's feature versioning strategy.

    azd config set alpha.resourceGroupDeployments on
  7. If you want your data to be persisted between deployments, you can set the PERSISTENCE environment variable to true before running the up command:

    azd env set PERSISTENCE true
  8. Provision and deploy the project to Azure:

    azd up

    This will create a new resource group, and create the Azure Container App and PostgreSQL Flexible server inside that group. It will use the init.sh and post.sh hooks to set up default secrets, and pass the necessary environment variables to the Azure Container App.

  9. To view the endpoint, follow the "Phoenix UI link"

  10. Optionally, you can configure a CI/CD pipeline:

    azd pipeline config

Guidance

Costs

You can estimate the cost of this project's architecture with Azure's pricing calculator

Disclaimer

Phoenix is an external project and is not affiliated with Microsoft.