{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/eidolon-resource/_shared/latest--AzureLLMUnit.json",
  "title": "AzureLLMUnit",
  "description": "Azure LLM Unit. Requires model to be defined. See <https://www.eidolonai.com/docs/howto/swap_llm> for more details.\n\nAuthentication is handled oot with one of two mechanisms:\n* Static token defined with AZURE_OPENAI_API_KEY\n* Token provider defined by AZURE_CLIENT_ID, AZURE_CLIENT_SECRET, and AZURE_TENANT_ID\n\nTo use an alternative authentication mechanism, provide a custom token provider.",
  "x-lintel": {
    "source": "https://www.eidolonai.com/json_schema/v1/schemas/LLMUnit/AzureLLMUnit.json",
    "sourceSha256": "3a9ddac575f63996e95e6ea9be4b869bd39f005fd158a1514cd443e3fd982ec0"
  },
  "type": "object",
  "properties": {
    "implementation": {
      "const": "AzureLLMUnit",
      "title": "Implementation"
    },
    "model": {
      "$ref": "https://catalog.lintel.tools/schemas/schemastore/eidolon-resource/_shared/latest--overview.json",
      "description": "The model to use for the LLM. Since Azure deployments use custom names, no default is provided. See <https://www.eidolonai.com/docs/howto/swap_llm> for more details. on defining custom models."
    },
    "temperature": {
      "default": 0.3,
      "title": "Temperature",
      "type": "number"
    },
    "force_json": {
      "default": true,
      "title": "Force Json",
      "type": "boolean"
    },
    "max_tokens": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Max Tokens"
    },
    "supports_system_messages": {
      "default": true,
      "title": "Supports System Messages",
      "type": "boolean"
    },
    "can_stream": {
      "default": true,
      "title": "Can Stream",
      "type": "boolean"
    },
    "azure_endpoint": {
      "description": "The azure_endpoint for the Azure LLM API. ie, \"<https://eidolon-azure.openai.azure.com/>\"",
      "title": "Azure Endpoint",
      "type": "string"
    },
    "azure_ad_token_provider": {
      "anyOf": [
        {
          "$ref": "#/$defs/_Reference"
        },
        {
          "type": "null"
        }
      ]
    },
    "token_provider_scopes": {
      "default": [
        "https://cognitiveservices.azure.com/.default"
      ],
      "items": {
        "type": "string"
      },
      "title": "Token Provider Scopes",
      "type": "array"
    },
    "api_version": {
      "default": "2024-02-01",
      "title": "Api Version",
      "type": "string"
    },
    "client_args": {
      "default": {},
      "title": "Client Args",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "$defs": {
    "_Reference": {
      "type": "object",
      "properties": {
        "implementation": {
          "title": "Implementation",
          "type": "string"
        }
      },
      "title": "_Reference",
      "additionalProperties": true
    }
  },
  "required": [
    "model",
    "azure_endpoint",
    "implementation"
  ],
  "reference_details": {
    "clz": "eidolon_ai_sdk.apu.llm.azure_llm_unit.AzureLLMUnit",
    "groups": [
      "LLMUnit"
    ],
    "name": "AzureLLMUnit",
    "overrides": {}
  }
}
