Azure OpenAI

pydantic model llama_index.llms.azure_openai.AzureOpenAI

Azure OpenAI.

To use this, you must first deploy a model on Azure OpenAI. Unlike OpenAI, you need to specify a engine parameter to identify your deployment (called “model deployment name” in Azure portal).

  • model: Name of the model (e.g. text-davinci-003)

    This in only used to decide completion vs. chat endpoint.

  • engine: This will correspond to the custom name you chose

    for your deployment when you deployed a model.

You must have the following environment variables set: - OPENAI_API_VERSION: set this to 2023-05-15

This may change in the future.

More information can be found here:

https://learn.microsoft.com/en-us/azure/cognitive-services/openai/quickstart?tabs=command-line&pivots=programming-language-python

Show JSON schema
{
   "title": "AzureOpenAI",
   "description": "Azure OpenAI.\n\nTo use this, you must first deploy a model on Azure OpenAI.\nUnlike OpenAI, you need to specify a `engine` parameter to identify\nyour deployment (called \"model deployment name\" in Azure portal).\n\n- model: Name of the model (e.g. `text-davinci-003`)\n    This in only used to decide completion vs. chat endpoint.\n- engine: This will correspond to the custom name you chose\n    for your deployment when you deployed a model.\n\nYou must have the following environment variables set:\n- `OPENAI_API_VERSION`: set this to `2023-05-15`\n    This may change in the future.\n- `AZURE_OPENAI_ENDPOINT`: your endpoint should look like the following\n    https://YOUR_RESOURCE_NAME.openai.azure.com/\n- `AZURE_OPENAI_API_KEY`: your API key if the api type is `azure`\n\nMore information can be found here:\n    https://learn.microsoft.com/en-us/azure/cognitive-services/openai/quickstart?tabs=command-line&pivots=programming-language-python",
   "type": "object",
   "properties": {
      "callback_manager": {
         "title": "Callback Manager"
      },
      "model": {
         "title": "Model",
         "description": "The OpenAI model to use.",
         "default": "gpt-3.5-turbo",
         "type": "string"
      },
      "temperature": {
         "title": "Temperature",
         "description": "The temperature to use during generation.",
         "default": 0.1,
         "gte": 0.0,
         "lte": 1.0,
         "type": "number"
      },
      "max_tokens": {
         "title": "Max Tokens",
         "description": "The maximum number of tokens to generate.",
         "exclusiveMinimum": 0,
         "type": "integer"
      },
      "additional_kwargs": {
         "title": "Additional Kwargs",
         "description": "Additional kwargs for the OpenAI API.",
         "type": "object"
      },
      "max_retries": {
         "title": "Max Retries",
         "description": "The maximum number of API retries.",
         "default": 3,
         "gte": 0,
         "type": "integer"
      },
      "timeout": {
         "title": "Timeout",
         "description": "The timeout, in seconds, for API requests.",
         "default": 60.0,
         "gte": 0,
         "type": "number"
      },
      "default_headers": {
         "title": "Default Headers",
         "description": "The default headers for API requests.",
         "type": "object",
         "additionalProperties": {
            "type": "string"
         }
      },
      "api_key": {
         "title": "Api Key",
         "description": "The OpenAI API key.",
         "type": "string"
      },
      "api_base": {
         "title": "Api Base",
         "description": "The base URL for OpenAI API.",
         "type": "string"
      },
      "api_version": {
         "title": "Api Version",
         "description": "The API version for OpenAI API.",
         "type": "string"
      },
      "engine": {
         "title": "Engine",
         "description": "The name of the deployed azure engine.",
         "type": "string"
      },
      "azure_endpoint": {
         "title": "Azure Endpoint",
         "description": "The Azure endpoint to use.",
         "type": "string"
      },
      "azure_deployment": {
         "title": "Azure Deployment",
         "description": "The Azure deployment to use.",
         "type": "string"
      },
      "use_azure_ad": {
         "title": "Use Azure Ad",
         "description": "Indicates if Microsoft Entra ID (former Azure AD) is used for token authentication",
         "type": "boolean"
      },
      "class_name": {
         "title": "Class Name",
         "type": "string",
         "default": "azure_openai_llm"
      }
   },
   "required": [
      "api_base",
      "api_version",
      "engine",
      "use_azure_ad"
   ]
}

Config
  • arbitrary_types_allowed: bool = True

Fields
Validators
  • _validate_callback_manager » callback_manager

  • validate_env » all fields

field azure_deployment: Optional[str] = None

The Azure deployment to use.

Validated by
field azure_endpoint: Optional[str] = None

The Azure endpoint to use.

Validated by
field engine: str [Required]

The name of the deployed azure engine.

Validated by
field use_azure_ad: bool [Required]

Indicates if Microsoft Entra ID (former Azure AD) is used for token authentication

Validated by
classmethod class_name() str

Get the class name, used as a unique ID in serialization.

This provides a key that makes serialization robust against actual class name changes.

validator validate_env  »  all fields

Validate necessary credentials are set.