Many organizations prioritize data privacy and are cautious about sharing their data with any third-parties. By leveraging Azure OpenAI, you can ensure that your data is processed only within your own secure Azure environment, and not even shared with OpenAI itself.

Running OpenAI models on Azure is the same as deploying your own open source model on any other cloud provider.

Prerequisites

Before you begin, ensure you have the following:

  1. Create an Azure Account with an active subscription. Create an account here.
  2. Get approved access to the OpenAI Service on Azure.
  3. Create an Azure OpenAI resource in one of the available regions and deploy a model to it.
  4. Obtain the endpoint URL and API key for the OpenAI resource.

Setting Up Azure OpenAI with Agency Swarm

1

Configure the Azure OpenAI Client

To use Azure OpenAI, you need to replace the default OpenAI client with the configured AzureOpenAI client:

from openai import AzureOpenAI
from agency_swarm import set_openai_client
import os

client = AzureOpenAI(
    api_key=os.getenv("AZURE_OPENAI_KEY"),
    api_version="2024-02-15-preview",
    azure_endpoint=os.getenv("AZURE_ENDPOINT"),
    timeout=5,
    max_retries=5,
)

set_openai_client(client)
2

Update Agent Model Parameters

Replace the model parameter inside each agent with your model deployment name from Azure.t:

from agency_swarm import Agent

ceo = Agent(
    name="ceo",
    description="I am the CEO",
    model="azure-model-deployment-name"
)

Model deployment name might be different from the stadard OpenAI model names. It is set by you when you deploy a model to Azure.

3

Run Your Agency

After configuring the client and updating the agents, you can run your agency as usual:

from agency_swarm import Agency

agency = Agency([ceo])
agency.run_demo()

Example Notebook

For an example of using Azure OpenAI with Agency Swarm, refer to the Azure OpenAI Notebook in the notebooks folder.