specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-05-01-preview/inference.yaml [2036:3674]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          description: api version
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/listVectorStoreFilesResponse"
      x-ms-examples:
        List vector store files in a batch.:
          $ref: ./examples/list_vector_store_file_batch.yaml
  
components:
  schemas:
    errorResponse:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/error'
    errorBase:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
    error:
      type: object
      allOf:
        - $ref: '#/components/schemas/errorBase'
      properties:
        param:
          type: string
        type:
          type: string
        inner_error:
          $ref: '#/components/schemas/innerError'
    innerError:
      description: Inner error with additional details.
      type: object
      properties:
        code:
          $ref: '#/components/schemas/innerErrorCode'
        content_filter_results:
          $ref: '#/components/schemas/contentFilterPromptResults'
    innerErrorCode:
      description: Error codes for the inner error object.
      enum:
        - ResponsibleAIPolicyViolation
      type: string
      x-ms-enum:
        name: InnerErrorCode
        modelAsString: true
        values:
          - value: ResponsibleAIPolicyViolation
            description: The prompt violated one of more content filter rules.
    dalleErrorResponse:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/dalleError'
    dalleError:
      type: object
      allOf:
        - $ref: '#/components/schemas/errorBase'
      properties:
        param:
          type: string
        type:
          type: string
        inner_error:
          $ref: '#/components/schemas/dalleInnerError'
    dalleInnerError:
      description: Inner error with additional details.
      type: object
      properties:
        code:
          $ref: '#/components/schemas/innerErrorCode'
        content_filter_results:
          $ref: '#/components/schemas/dalleFilterResults'
        revised_prompt:
          type: string
          description: The prompt that was used to generate the image, if there was any revision to the prompt.
    contentFilterResultBase:
      type: object
      properties:
        filtered:
          type: boolean
      required:
        - filtered
    contentFilterSeverityResult:
      type: object
      allOf:
        - $ref: '#/components/schemas/contentFilterResultBase'
        - properties:
            severity:
              type: string
              enum:
                - safe
                - low
                - medium
                - high
              x-ms-enum:
                name: ContentFilterSeverity
                modelAsString: true
                values:
                  - value: safe
                    description: General content or related content in generic or non-harmful contexts.
                  - value: low
                    description: Harmful content at a low intensity and risk level.
                  - value: medium
                    description: Harmful content at a medium intensity and risk level.
                  - value: high
                    description: Harmful content at a high intensity and risk level.
      required:
        - severity
        - filtered
    contentFilterDetectedResult:
      type: object
      allOf:
        - $ref: '#/components/schemas/contentFilterResultBase'
        - properties:
            detected:
              type: boolean
      required:
        - detected
        - filtered
    contentFilterDetectedWithCitationResult:
      type: object
      allOf:
        - $ref: '#/components/schemas/contentFilterDetectedResult'
        - properties:
            citation:
              type: object
              properties:
                URL:
                  type: string
                license:
                  type: string
      required:
        - detected
        - filtered
    contentFilterIdResult:
      type: object
      allOf:
        - $ref: '#/components/schemas/contentFilterResultBase'
        - properties:
            id:
              type: string
      required:
        - id
        - filtered
    contentFilterResultsBase:
      type: object
      description: Information about the content filtering results.
      properties:
        sexual:
          $ref: '#/components/schemas/contentFilterSeverityResult'
        violence:
          $ref: '#/components/schemas/contentFilterSeverityResult'
        hate:
          $ref: '#/components/schemas/contentFilterSeverityResult'
        self_harm:
          $ref: '#/components/schemas/contentFilterSeverityResult'
        profanity:
          $ref: '#/components/schemas/contentFilterDetectedResult'
        custom_blocklists:
          $ref: '#/components/schemas/contentFilterDetailedResults'
        error:
          $ref: '#/components/schemas/errorBase'
    contentFilterPromptResults:
      type: object
      description: Information about the content filtering category (hate, sexual, violence, self_harm), if it has been detected, as well as the severity level (very_low, low, medium, high-scale that determines the intensity and risk level of harmful content) and if it has been filtered or not. Information about jailbreak content and profanity, if it has been detected, and if it has been filtered or not. And information about customer block list, if it has been filtered and its id.
      allOf:
        - $ref: '#/components/schemas/contentFilterResultsBase'
        - properties:
            jailbreak:
              $ref: '#/components/schemas/contentFilterDetectedResult'
            indirect_attack:
              $ref: '#/components/schemas/contentFilterDetectedResult'
    contentFilterChoiceResults:
      type: object
      description: Information about the content filtering category (hate, sexual, violence, self_harm), if it has been detected, as well as the severity level (very_low, low, medium, high-scale that determines the intensity and risk level of harmful content) and if it has been filtered or not. Information about third party text and profanity, if it has been detected, and if it has been filtered or not. And information about customer block list, if it has been filtered and its id.
      allOf:
        - $ref: '#/components/schemas/contentFilterResultsBase'
        - properties:
            protected_material_text:
              $ref: '#/components/schemas/contentFilterDetectedResult'
        - properties:
            protected_material_code:
              $ref: '#/components/schemas/contentFilterDetectedWithCitationResult'
    contentFilterDetailedResults:
        type: object
        description: Content filtering results with a detail of content filter ids for the filtered segments.
        allOf:
            - 
                $ref: '#/components/schemas/contentFilterResultBase'
            - 
                properties:
                    details:
                        items:
                            $ref: '#/components/schemas/contentFilterIdResult'
                        type: array
        required:
            - filtered
    promptFilterResult:
      type: object
      description: Content filtering results for a single prompt in the request.
      properties:
        prompt_index:
          type: integer
        content_filter_results:
          $ref: '#/components/schemas/contentFilterPromptResults'
    promptFilterResults:
      type: array
      description: Content filtering results for zero or more prompts in the request. In a streaming request, results for different prompts may arrive at different times or in different orders.
      items:
        $ref: '#/components/schemas/promptFilterResult'
    dalleContentFilterResults:
      type: object
      description: Information about the content filtering results.
      properties:
        sexual:
          $ref: '#/components/schemas/contentFilterSeverityResult'
        violence:
          $ref: '#/components/schemas/contentFilterSeverityResult'
        hate:
          $ref: '#/components/schemas/contentFilterSeverityResult'
        self_harm:
          $ref: '#/components/schemas/contentFilterSeverityResult'
    dalleFilterResults:
      type: object
      description: Information about the content filtering category (hate, sexual, violence, self_harm), if it has been detected, as well as the severity level (very_low, low, medium, high-scale that determines the intensity and risk level of harmful content) and if it has been filtered or not. Information about jailbreak content and profanity, if it has been detected, and if it has been filtered or not. And information about customer block list, if it has been filtered and its id.
      allOf:
        - $ref: '#/components/schemas/dalleContentFilterResults'
        - properties:
            profanity:
              $ref: '#/components/schemas/contentFilterDetectedResult'
            jailbreak:
              $ref: '#/components/schemas/contentFilterDetectedResult'
            custom_blocklists:
              $ref: '#/components/schemas/contentFilterDetailedResults'
    chatCompletionsRequestCommon:
      type: object
      properties:
        temperature:
          description: |-
            What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.
            We generally recommend altering this or `top_p` but not both.
          type: number
          minimum: 0
          maximum: 2
          default: 1
          example: 1
          nullable: true
        top_p:
          description: |-
            An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered.
            We generally recommend altering this or `temperature` but not both.
          type: number
          minimum: 0
          maximum: 1
          default: 1
          example: 1
          nullable: true
        stream:
          description: 'If set, partial message deltas will be sent, like in ChatGPT. Tokens will be sent as data-only server-sent events as they become available, with the stream terminated by a `data: [DONE]` message.'
          type: boolean
          nullable: true
          default: false
        stop:
          description: Up to 4 sequences where the API will stop generating further tokens.
          oneOf:
            - type: string
              nullable: true
            - type: array
              items:
                type: string
                nullable: false
              minItems: 1
              maxItems: 4
              description: Array minimum size of 1 and maximum of 4
          default: null
        max_tokens:
          description: The maximum number of tokens allowed for the generated answer. By default, the number of tokens the model can return will be (4096 - prompt tokens).
          type: integer
          default: 4096
        presence_penalty:
          description: Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.
          type: number
          default: 0
          minimum: -2
          maximum: 2
        frequency_penalty:
          description: Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.
          type: number
          default: 0
          minimum: -2
          maximum: 2
        logit_bias:
          description: Modify the likelihood of specified tokens appearing in the completion. Accepts a json object that maps tokens (specified by their token ID in the tokenizer) to an associated bias value from -100 to 100. Mathematically, the bias is added to the logits generated by the model prior to sampling. The exact effect will vary per model, but values between -1 and 1 should decrease or increase likelihood of selection; values like -100 or 100 should result in a ban or exclusive selection of the relevant token.
          type: object
          nullable: true
        user:
          description: A unique identifier representing your end-user, which can help Azure OpenAI to monitor and detect abuse.
          type: string
          example: user-1234
          nullable: false
    createChatCompletionRequest:
      type: object
      allOf:
        - $ref: '#/components/schemas/chatCompletionsRequestCommon'
        - properties:
            messages:
              description: A list of messages comprising the conversation so far. [Example Python code](https://github.com/openai/openai-cookbook/blob/main/examples/How_to_format_inputs_to_ChatGPT_models.ipynb).
              type: array
              minItems: 1
              items:
                $ref: '#/components/schemas/chatCompletionRequestMessage'
            data_sources:
              type: array
              description: |2-
                  The configuration entries for Azure OpenAI chat extensions that use them.
                  This additional specification is only compatible with Azure OpenAI.
              items:
                $ref: '#/components/schemas/azureChatExtensionConfiguration'
            'n':
              type: integer
              minimum: 1
              maximum: 128
              default: 1
              example: 1
              nullable: true
              description: How many chat completion choices to generate for each input message.
            seed:
              type: integer
              minimum: -9223372036854775808
              maximum: 9223372036854775807
              default: 0
              example: 1
              nullable: true
              description: If specified, our system will make a best effort to sample deterministically, such that repeated requests with the same `seed` and parameters should return the same result.Determinism is not guaranteed, and you should refer to the `system_fingerprint` response parameter to monitor changes in the backend.
            logprobs:
              description: Whether to return log probabilities of the output tokens or not. If true, returns the log probabilities of each output token returned in the `content` of `message`. This option is currently not available on the `gpt-4-vision-preview` model.
              type: boolean
              default: false
              nullable: true
            top_logprobs:
              description: An integer between 0 and 5 specifying the number of most likely tokens to return at each token position, each with an associated log probability. `logprobs` must be set to `true` if this parameter is used.
              type: integer
              minimum: 0
              maximum: 5
              nullable: true
            response_format:
              type: object
              description: An object specifying the format that the model must output. Used to enable JSON mode.
              properties:
                type:
                  $ref: '#/components/schemas/chatCompletionResponseFormat'
            tools:
              description: A list of tools the model may call. Currently, only functions are supported as a tool. Use this to provide a list of functions the model may generate JSON inputs for.
              type: array
              minItems: 1
              items:
                $ref: '#/components/schemas/chatCompletionTool'
            tool_choice:
              $ref: '#/components/schemas/chatCompletionToolChoiceOption'
            functions:
              description: Deprecated in favor of `tools`. A list of functions the model may generate JSON inputs for.
              type: array
              minItems: 1
              maxItems: 128
              items:
                $ref: '#/components/schemas/chatCompletionFunction'
            function_call:
              description: Deprecated in favor of `tool_choice`. Controls how the model responds to function calls. "none" means the model does not call a function, and responds to the end-user. "auto" means the model can pick between an end-user or calling a function.  Specifying a particular function via `{"name":\ "my_function"}` forces the model to call that function. "none" is the default when no functions are present. "auto" is the default if functions are present.
              oneOf:
                - type: string
                  enum:
                    - none
                    - auto
                  description: '`none` means the model will not call a function and instead generates a message. `auto` means the model can pick between generating a message or calling a function.'
                - type: object
                  description: 'Specifying a particular function via `{"name": "my_function"}` forces the model to call that function.'
                  properties:
                    name:
                      type: string
                      description: The name of the function to call.
                  required:
                    - name
      required:
        - messages
    chatCompletionResponseFormat:
      type: string
      enum:
        - text
        - json_object
      default: text
      example: json_object
      nullable: true
      description: Setting to `json_object` enables JSON mode. This guarantees that the message the model generates is valid JSON.
      x-ms-enum:
        name: ChatCompletionResponseFormat
        modelAsString: true
        values:
          - value: text
            description: Response format is a plain text string.
          - value: json_object
            description: Response format is a JSON object.
    chatCompletionFunction:
      type: object
      properties:
        name:
          type: string
          description: The name of the function to be called. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.
        description:
          type: string
          description: The description of what the function does.
        parameters:
          $ref: '#/components/schemas/chatCompletionFunctionParameters'
      required:
        - name
    chatCompletionFunctionParameters:
      type: object
      description: The parameters the functions accepts, described as a JSON Schema object. See the [guide](/docs/guides/gpt/function-calling) for examples, and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for documentation about the format.
      additionalProperties: true
    chatCompletionRequestMessage:
      type: object
      properties:
        role:
          $ref: '#/components/schemas/chatCompletionRequestMessageRole'
      discriminator:
        propertyName: role
        mapping:
          system: '#/components/schemas/chatCompletionRequestMessageSystem'
          user: '#/components/schemas/chatCompletionRequestMessageUser'
          assistant: '#/components/schemas/chatCompletionRequestMessageAssistant'
          tool: '#/components/schemas/chatCompletionRequestMessageTool'
          function: '#/components/schemas/chatCompletionRequestMessageFunction'
      required:
        - role
    chatCompletionRequestMessageRole:
      type: string
      enum:
        - system
        - user
        - assistant
        - tool
        - function
      description: The role of the messages author.
      x-ms-enum:
        name: ChatCompletionRequestMessageRole
        modelAsString: true
        values:
          - value: system
            description: The message author role is system.
          - value: user
            description: The message author role is user.
          - value: assistant
            description: The message author role is assistant.
          - value: tool
            description: The message author role is tool.
          - value: function
            description: Deprecated. The message author role is function.
    chatCompletionRequestMessageSystem:
      allOf:
        - $ref: '#/components/schemas/chatCompletionRequestMessage'
        - type: object
          properties:
            content:
              type: string
              description: The contents of the message.
              nullable: true
      required:
        - content
    chatCompletionRequestMessageUser:
      allOf:
        - $ref: '#/components/schemas/chatCompletionRequestMessage'
        - type: object
          properties:
            content:
              oneOf:
                - type: string
                  description: The contents of the message.
                - type: array
                  description: An array of content parts with a defined type, each can be of type `text` or `image_url` when passing in images. You can pass multiple images by adding multiple `image_url` content parts. Image input is only supported when using the `gpt-4-visual-preview` model.
                  minimum: 1
                  items:
                    $ref: '#/components/schemas/chatCompletionRequestMessageContentPart'
              nullable: true
      required:
        - content
    chatCompletionRequestMessageContentPart:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/chatCompletionRequestMessageContentPartType'
      discriminator:
        propertyName: type
        mapping:
          text: '#/components/schemas/chatCompletionRequestMessageContentPartText'
          image_url: '#/components/schemas/chatCompletionRequestMessageContentPartImage'
      required:
        - type
    chatCompletionRequestMessageContentPartType:
      type: string
      enum:
        - text
        - image_url
      description: The type of the content part.
      x-ms-enum:
        name: ChatCompletionRequestMessageContentPartType
        modelAsString: true
        values:
          - value: text
            description: The content part type is text.
          - value: image_url
            description: The content part type is image_url.
    chatCompletionRequestMessageContentPartText:
      allOf:
        - $ref: '#/components/schemas/chatCompletionRequestMessageContentPart'
        - type: object
          properties:
            text:
              type: string
              description: The text content.
      required:
        - text
    chatCompletionRequestMessageContentPartImage:
      allOf:
        - $ref: '#/components/schemas/chatCompletionRequestMessageContentPart'
        - type: object
          properties:
            url:
              type: string
              description: Either a URL of the image or the base64 encoded image data.
              format: uri
            detail:
              $ref: '#/components/schemas/imageDetailLevel'
      required:
        - url
    imageDetailLevel:
      type: string
      description: Specifies the detail level of the image.
      enum:
        - auto
        - low
        - high
      default: auto
      x-ms-enum:
        name: ImageDetailLevel
        modelAsString: true
        values:
          - value: auto
            description: The image detail level is auto.
          - value: low
            description: The image detail level is low.
          - value: high
            description: The image detail level is high.
    chatCompletionRequestMessageAssistant:
      allOf:
        - $ref: '#/components/schemas/chatCompletionRequestMessage'
        - type: object
          properties:
            content:
              type: string
              description: The contents of the message.
              nullable: true
            tool_calls:
              type: array
              description: The tool calls generated by the model, such as function calls.
              items:
                $ref: '#/components/schemas/chatCompletionMessageToolCall'
            context:
              $ref: '#/components/schemas/azureChatExtensionsMessageContext'
      required:
        - content
    azureChatExtensionConfiguration:
      required:
        - type
      type: object
      properties:
        type:
          $ref: '#/components/schemas/azureChatExtensionType'
      description: |2-
          A representation of configuration data for a single Azure OpenAI chat extension. This will be used by a chat
          completions request that should use Azure OpenAI chat extensions to augment the response behavior.
          The use of this configuration is compatible only with Azure OpenAI.
      discriminator:
        propertyName: type
        mapping:
          azure_search: '#/components/schemas/azureSearchChatExtensionConfiguration'
          azure_ml_index: '#/components/schemas/azureMachineLearningIndexChatExtensionConfiguration'
          azure_cosmos_db: '#/components/schemas/azureCosmosDBChatExtensionConfiguration'
          elasticsearch: '#/components/schemas/elasticsearchChatExtensionConfiguration'
          pinecone: '#/components/schemas/pineconeChatExtensionConfiguration'
    azureChatExtensionType:
      type: string
      description: |2-
          A representation of configuration data for a single Azure OpenAI chat extension. This will be used by a chat
          completions request that should use Azure OpenAI chat extensions to augment the response behavior.
          The use of this configuration is compatible only with Azure OpenAI.
      enum:
        - azure_search
        - azure_ml_index
        - azure_cosmos_db
        - elasticsearch
        - pinecone
      x-ms-enum:
        name: AzureChatExtensionType
        modelAsString: true
        values:
          - name: azureSearch
            value: azure_search
            description: Represents the use of Azure Search as an Azure OpenAI chat extension.
          - name: azureMachineLearningIndex
            value: azure_ml_index
            description: Represents the use of Azure Machine Learning index as an Azure OpenAI chat extension.
          - name: azureCosmosDB
            value: azure_cosmos_db
            description: Represents the use of Azure Cosmos DB as an Azure OpenAI chat extension.
          - name: elasticsearch
            value: elasticsearch
            description: Represents the use of Elasticsearch® index as an Azure OpenAI chat extension.
          - name: pinecone
            value: pinecone
            description: Represents the use of Pinecone index as an Azure OpenAI chat extension.
    azureSearchChatExtensionConfiguration:
      required:
        - parameters
      description: |-
        A specific representation of configurable options for Azure Search when using it as an Azure OpenAI chat
        extension.
      allOf:
        - $ref: '#/components/schemas/azureChatExtensionConfiguration'
        - properties:
            parameters:
              $ref: '#/components/schemas/azureSearchChatExtensionParameters'
      x-ms-discriminator-value: azure_search
    azureSearchChatExtensionParameters:
      required:
        - authentication
        - endpoint
        - index_name
      type: object
      properties:
        authentication:
          oneOf:
            - $ref: '#/components/schemas/onYourDataApiKeyAuthenticationOptions'
            - $ref: '#/components/schemas/onYourDataSystemAssignedManagedIdentityAuthenticationOptions'
            - $ref: '#/components/schemas/onYourDataUserAssignedManagedIdentityAuthenticationOptions'
            - $ref: '#/components/schemas/onYourDataAccessTokenAuthenticationOptions'
        top_n_documents:
          type: integer
          description: The configured top number of documents to feature for the configured query.
          format: int32
        max_search_queries:
          type: integer
          description: The max number of rewritten queries should be send to search provider for one user message. If not specified, the system will decide the number of queries to send.
          format: int32
        allow_partial_result:
          type: boolean
          default: false
          description: If specified as true, the system will allow partial search results to be used and the request fails if all the queries fail. If not specified, or specified as false, the request will fail if any search query fails.
        in_scope:
          type: boolean
          description: Whether queries should be restricted to use of indexed data.
        strictness:
          maximum: 5
          minimum: 1
          type: integer
          description: The configured strictness of the search relevance filtering. The higher of strictness, the higher of the precision but lower recall of the answer.
          format: int32
        role_information:
          type: string
          description: Give the model instructions about how it should behave and any context it should reference when generating a response. You can describe the assistant's personality and tell it how to format responses. There's a 100 token limit for it, and it counts against the overall token limit.
        endpoint:
          type: string
          description: The absolute endpoint path for the Azure Search resource to use.
          format: uri
        index_name:
          type: string
          description: The name of the index to use as available in the referenced Azure Search resource.
        fields_mapping:
          $ref: '#/components/schemas/azureSearchIndexFieldMappingOptions'
        query_type:
          $ref: '#/components/schemas/azureSearchQueryType'
        semantic_configuration:
          type: string
          description: The additional semantic configuration for the query.
        filter:
          type: string
          description: Search filter.
        embedding_dependency:
          oneOf:
            - $ref: '#/components/schemas/onYourDataEndpointVectorizationSource'
            - $ref: '#/components/schemas/onYourDataDeploymentNameVectorizationSource'
        include_contexts:
          type: array
          description: The included properties of the output context. If not specified, the default value is `citations` and `intent`.
          items:
            $ref: '#/components/schemas/onYourDataContextProperty'
      description: Parameters for Azure Search when used as an Azure OpenAI chat extension.
    azureSearchIndexFieldMappingOptions:
      type: object
      properties:
        title_field:
          type: string
          description: The name of the index field to use as a title.
        url_field:
          type: string
          description: The name of the index field to use as a URL.
        filepath_field:
          type: string
          description: The name of the index field to use as a filepath.
        content_fields:
          type: array
          description: The names of index fields that should be treated as content.
          items:
            type: string
        content_fields_separator:
          type: string
          description: The separator pattern that content fields should use.
        vector_fields:
          type: array
          description: The names of fields that represent vector data.
          items:
            type: string
        image_vector_fields:
          type: array
          description: The names of fields that represent image vector data.
          items:
            type: string
      description: Optional settings to control how fields are processed when using a configured Azure Search resource.
    azureSearchQueryType:
      type: string
      description: The type of Azure Search retrieval query that should be executed when using it as an Azure OpenAI chat extension.
      enum:
        - simple
        - semantic
        - vector
        - vector_simple_hybrid
        - vector_semantic_hybrid
      x-ms-enum:
        name: AzureSearchQueryType
        modelAsString: true
        values:
          - name: simple
            value: simple
            description: Represents the default, simple query parser.
          - name: semantic
            value: semantic
            description: Represents the semantic query parser for advanced semantic modeling.
          - name: vector
            value: vector
            description: Represents vector search over computed data.
          - name: vectorSimpleHybrid
            value: vector_simple_hybrid
            description: Represents a combination of the simple query strategy with vector data.
          - name: vectorSemanticHybrid
            value: vector_semantic_hybrid
            description: Represents a combination of semantic search and vector data querying.
    azureMachineLearningIndexChatExtensionConfiguration:
      required:
        - parameters
      description: |-
        A specific representation of configurable options for Azure Machine Learning vector index when using it as an Azure
        OpenAI chat extension.
      allOf:
        - $ref: '#/components/schemas/azureChatExtensionConfiguration'
        - properties:
            parameters:
              $ref: '#/components/schemas/azureMachineLearningIndexChatExtensionParameters'
      x-ms-discriminator-value: azure_ml_index
    azureMachineLearningIndexChatExtensionParameters:
      required:
        - authentication
        - name
        - project_resource_id
        - version
      type: object
      properties:
        authentication:
          oneOf:
            - $ref: '#/components/schemas/onYourDataAccessTokenAuthenticationOptions'
            - $ref: '#/components/schemas/onYourDataSystemAssignedManagedIdentityAuthenticationOptions'
            - $ref: '#/components/schemas/onYourDataUserAssignedManagedIdentityAuthenticationOptions'
        top_n_documents:
          type: integer
          description: The configured top number of documents to feature for the configured query.
          format: int32
        max_search_queries:
          type: integer
          description: The max number of rewritten queries should be send to search provider for one user message. If not specified, the system will decide the number of queries to send.
          format: int32
        allow_partial_result:
          type: boolean
          default: false
          description: If specified as true, the system will allow partial search results to be used and the request fails if all the queries fail. If not specified, or specified as false, the request will fail if any search query fails.
        in_scope:
          type: boolean
          description: Whether queries should be restricted to use of indexed data.
        strictness:
          maximum: 5
          minimum: 1
          type: integer
          description: The configured strictness of the search relevance filtering. The higher of strictness, the higher of the precision but lower recall of the answer.
          format: int32
        role_information:
          type: string
          description: Give the model instructions about how it should behave and any context it should reference when generating a response. You can describe the assistant's personality and tell it how to format responses. There's a 100 token limit for it, and it counts against the overall token limit.
        project_resource_id:
          type: string
          description: The resource ID of the Azure Machine Learning project.
        name:
          type: string
          description: The Azure Machine Learning vector index name.
        version:
          type: string
          description: The version of the Azure Machine Learning vector index.
        filter:
          type: string
          description: Search filter. Only supported if the Azure Machine Learning vector index is of type AzureSearch.
        include_contexts:
          type: array
          description: The included properties of the output context. If not specified, the default value is `citations` and `intent`.
          items:
            $ref: '#/components/schemas/onYourDataContextProperty'
      description: Parameters for the Azure Machine Learning vector index chat extension.
    azureCosmosDBChatExtensionConfiguration:
      required:
        - parameters
      description: |-
        A specific representation of configurable options for Azure Cosmos DB when using it as an Azure OpenAI chat
        extension.
      allOf:
        - $ref: '#/components/schemas/azureChatExtensionConfiguration'
        - properties:
            parameters:
              $ref: '#/components/schemas/azureCosmosDBChatExtensionParameters'
      x-ms-discriminator-value: azure_cosmos_db
    azureCosmosDBChatExtensionParameters:
      required:
        - authentication
        - container_name
        - database_name
        - embedding_dependency
        - fields_mapping
        - index_name
      type: object
      properties:
        authentication:
          $ref: '#/components/schemas/onYourDataConnectionStringAuthenticationOptions'
        top_n_documents:
          type: integer
          description: The configured top number of documents to feature for the configured query.
          format: int32
        max_search_queries:
          type: integer
          description: The max number of rewritten queries should be send to search provider for one user message. If not specified, the system will decide the number of queries to send.
          format: int32
        allow_partial_result:
          type: boolean
          default: false
          description: If specified as true, the system will allow partial search results to be used and the request fails if all the queries fail. If not specified, or specified as false, the request will fail if any search query fails.
        in_scope:
          type: boolean
          description: Whether queries should be restricted to use of indexed data.
        strictness:
          maximum: 5
          minimum: 1
          type: integer
          description: The configured strictness of the search relevance filtering. The higher of strictness, the higher of the precision but lower recall of the answer.
          format: int32
        role_information:
          type: string
          description: Give the model instructions about how it should behave and any context it should reference when generating a response. You can describe the assistant's personality and tell it how to format responses. There's a 100 token limit for it, and it counts against the overall token limit.
        database_name:
          type: string
          description: The MongoDB vCore database name to use with Azure Cosmos DB.
        container_name:
          type: string
          description: The name of the Azure Cosmos DB resource container.
        index_name:
          type: string
          description: The MongoDB vCore index name to use with Azure Cosmos DB.
        fields_mapping:
          $ref: '#/components/schemas/azureCosmosDBFieldMappingOptions'
        embedding_dependency:
          oneOf:
            - $ref: '#/components/schemas/onYourDataEndpointVectorizationSource'
            - $ref: '#/components/schemas/onYourDataDeploymentNameVectorizationSource'
        include_contexts:
          type: array
          description: The included properties of the output context. If not specified, the default value is `citations` and `intent`.
          items:
            $ref: '#/components/schemas/onYourDataContextProperty'
      description: |-
        Parameters to use when configuring Azure OpenAI On Your Data chat extensions when using Azure Cosmos DB for
        MongoDB vCore.
    azureCosmosDBFieldMappingOptions:
      required:
        - content_fields
        - vector_fields
      type: object
      properties:
        title_field:
          type: string
          description: The name of the index field to use as a title.
        url_field:
          type: string
          description: The name of the index field to use as a URL.
        filepath_field:
          type: string
          description: The name of the index field to use as a filepath.
        content_fields:
          type: array
          description: The names of index fields that should be treated as content.
          items:
            type: string
        content_fields_separator:
          type: string
          description: The separator pattern that content fields should use.
        vector_fields:
          type: array
          description: The names of fields that represent vector data.
          items:
            type: string
      description: Optional settings to control how fields are processed when using a configured Azure Cosmos DB resource.
    elasticsearchChatExtensionConfiguration:
      required:
        - parameters
      description: |-
        A specific representation of configurable options for Elasticsearch when using it as an Azure OpenAI chat
        extension.
      allOf:
        - $ref: '#/components/schemas/azureChatExtensionConfiguration'
        - properties:
            parameters:
              $ref: '#/components/schemas/elasticsearchChatExtensionParameters'
      x-ms-discriminator-value: elasticsearch
    elasticsearchChatExtensionParameters:
      required:
        - authentication
        - endpoint
        - index_name
      type: object
      properties:
        authentication:
          oneOf:
            - $ref: '#/components/schemas/onYourDataKeyAndKeyIdAuthenticationOptions'
            - $ref: '#/components/schemas/onYourDataEncodedApiKeyAuthenticationOptions'
        top_n_documents:
          type: integer
          description: The configured top number of documents to feature for the configured query.
          format: int32
        max_search_queries:
          type: integer
          description: The max number of rewritten queries should be send to search provider for one user message. If not specified, the system will decide the number of queries to send.
          format: int32
        allow_partial_result:
          type: boolean
          default: false
          description: If specified as true, the system will allow partial search results to be used and the request fails if all the queries fail. If not specified, or specified as false, the request will fail if any search query fails.
        in_scope:
          type: boolean
          description: Whether queries should be restricted to use of indexed data.
        strictness:
          maximum: 5
          minimum: 1
          type: integer
          description: The configured strictness of the search relevance filtering. The higher of strictness, the higher of the precision but lower recall of the answer.
          format: int32
        role_information:
          type: string
          description: Give the model instructions about how it should behave and any context it should reference when generating a response. You can describe the assistant's personality and tell it how to format responses. There's a 100 token limit for it, and it counts against the overall token limit.
        endpoint:
          type: string
          description: The endpoint of Elasticsearch®.
          format: uri
        index_name:
          type: string
          description: The index name of Elasticsearch®.
        fields_mapping:
          $ref: '#/components/schemas/elasticsearchIndexFieldMappingOptions'
        query_type:
          $ref: '#/components/schemas/elasticsearchQueryType'
        embedding_dependency:
          oneOf:
            - $ref: '#/components/schemas/onYourDataEndpointVectorizationSource'
            - $ref: '#/components/schemas/onYourDataDeploymentNameVectorizationSource'
            - $ref: '#/components/schemas/onYourDataModelIdVectorizationSource'
        include_contexts:
          type: array
          description: The included properties of the output context. If not specified, the default value is `citations` and `intent`.
          items:
            $ref: '#/components/schemas/onYourDataContextProperty'
      description: 'Parameters to use when configuring Elasticsearch® as an Azure OpenAI chat extension. '
    elasticsearchIndexFieldMappingOptions:
      type: object
      properties:
        title_field:
          type: string
          description: The name of the index field to use as a title.
        url_field:
          type: string
          description: The name of the index field to use as a URL.
        filepath_field:
          type: string
          description: The name of the index field to use as a filepath.
        content_fields:
          type: array
          description: The names of index fields that should be treated as content.
          items:
            type: string
        content_fields_separator:
          type: string
          description: The separator pattern that content fields should use.
        vector_fields:
          type: array
          description: The names of fields that represent vector data.
          items:
            type: string
      description: Optional settings to control how fields are processed when using a configured Elasticsearch® resource.
    elasticsearchQueryType:
      type: string
      description: The type of Elasticsearch® retrieval query that should be executed when using it as an Azure OpenAI chat extension.
      enum:
        - simple
        - vector
      x-ms-enum:
        name: ElasticsearchQueryType
        modelAsString: true
        values:
          - name: simple
            value: simple
            description: Represents the default, simple query parser.
          - name: vector
            value: vector
            description: Represents vector search over computed data.
    pineconeChatExtensionConfiguration:
      required:
        - parameters
      description: |-
        A specific representation of configurable options for Pinecone when using it as an Azure OpenAI chat
        extension.
      allOf:
        - $ref: '#/components/schemas/azureChatExtensionConfiguration'
        - properties:
            parameters:
              $ref: '#/components/schemas/pineconeChatExtensionParameters'
      x-ms-discriminator-value: pinecone
    pineconeChatExtensionParameters:
      required:
        - authentication
        - embedding_dependency
        - environment
        - fields_mapping
        - index_name
      type: object
      properties:
        authentication:
          $ref: '#/components/schemas/onYourDataApiKeyAuthenticationOptions'
        top_n_documents:
          type: integer
          description: The configured top number of documents to feature for the configured query.
          format: int32
        max_search_queries:
          type: integer
          description: The max number of rewritten queries should be send to search provider for one user message. If not specified, the system will decide the number of queries to send.
          format: int32
        allow_partial_result:
          type: boolean
          default: false
          description: If specified as true, the system will allow partial search results to be used and the request fails if all the queries fail. If not specified, or specified as false, the request will fail if any search query fails.
        in_scope:
          type: boolean
          description: Whether queries should be restricted to use of indexed data.
        strictness:
          maximum: 5
          minimum: 1
          type: integer
          description: The configured strictness of the search relevance filtering. The higher of strictness, the higher of the precision but lower recall of the answer.
          format: int32
        role_information:
          type: string
          description: Give the model instructions about how it should behave and any context it should reference when generating a response. You can describe the assistant's personality and tell it how to format responses. There's a 100 token limit for it, and it counts against the overall token limit.
        environment:
          type: string
          description: The environment name of Pinecone.
        index_name:
          type: string
          description: The name of the Pinecone database index.
        fields_mapping:
          $ref: '#/components/schemas/pineconeFieldMappingOptions'
        embedding_dependency:
          $ref: '#/components/schemas/onYourDataDeploymentNameVectorizationSource'
        include_contexts:
          type: array
          description: The included properties of the output context. If not specified, the default value is `citations` and `intent`.
          items:
            $ref: '#/components/schemas/onYourDataContextProperty'
      description: Parameters for configuring Azure OpenAI Pinecone chat extensions.
    pineconeFieldMappingOptions:
      required:
        - content_fields
      type: object
      properties:
        title_field:
          type: string
          description: The name of the index field to use as a title.
        url_field:
          type: string
          description: The name of the index field to use as a URL.
        filepath_field:
          type: string
          description: The name of the index field to use as a filepath.
        content_fields:
          type: array
          description: The names of index fields that should be treated as content.
          items:
            type: string
        content_fields_separator:
          type: string
          description: The separator pattern that content fields should use.
      description: Optional settings to control how fields are processed when using a configured Pinecone resource.
    onYourDataAuthenticationOptions:
      required:
        - type
      type: object
      properties:
        type:
          $ref: '#/components/schemas/onYourDataAuthenticationType'
      description: The authentication options for Azure OpenAI On Your Data.
      discriminator:
        propertyName: type
        mapping:
          api_key: '#/components/schemas/onYourDataApiKeyAuthenticationOptions'
          connection_string: '#/components/schemas/onYourDataConnectionStringAuthenticationOptions'
          key_and_key_id: '#/components/schemas/onYourDataKeyAndKeyIdAuthenticationOptions'
          encoded_api_key: '#/components/schemas/onYourDataEncodedApiKeyAuthenticationOptions'
          access_token: '#/components/schemas/onYourDataAccessTokenAuthenticationOptions'
          system_assigned_managed_identity: '#/components/schemas/onYourDataSystemAssignedManagedIdentityAuthenticationOptions'
          user_assigned_managed_identity: '#/components/schemas/onYourDataUserAssignedManagedIdentityAuthenticationOptions'
    onYourDataContextProperty:
      type: string
      description: The context property.
      enum:
        - citations
        - intent
        - all_retrieved_documents
      x-ms-enum:
        name: OnYourDataContextProperty
        modelAsString: true
        values:
          - name: citations
            value: citations
            description: The `citations` property.
          - name: intent
            value: intent
            description: The `intent` property.
          - name: allRetrievedDocuments
            value: all_retrieved_documents
            description: The `all_retrieved_documents` property.
    onYourDataAuthenticationType:
      type: string
      description: The authentication types supported with Azure OpenAI On Your Data.
      enum:
        - api_key
        - connection_string
        - key_and_key_id
        - encoded_api_key
        - access_token
        - system_assigned_managed_identity
        - user_assigned_managed_identity
      x-ms-enum:
        name: OnYourDataAuthenticationType
        modelAsString: true
        values:
          - name: apiKey
            value: api_key
            description: Authentication via API key.
          - name: connectionString
            value: connection_string
            description: Authentication via connection string.
          - name: keyAndKeyId
            value: key_and_key_id
            description: Authentication via key and key ID pair.
          - name: encodedApiKey
            value: encoded_api_key
            description: Authentication via encoded API key.
          - name: accessToken
            value: access_token
            description: Authentication via access token.
          - name: systemAssignedManagedIdentity
            value: system_assigned_managed_identity
            description: Authentication via system-assigned managed identity.
          - name: userAssignedManagedIdentity
            value: user_assigned_managed_identity
            description: Authentication via user-assigned managed identity.
    onYourDataApiKeyAuthenticationOptions:
      required:
        - key
      description: The authentication options for Azure OpenAI On Your Data when using an API key.
      allOf:
        - $ref: '#/components/schemas/onYourDataAuthenticationOptions'
        - properties:
            key:
              type: string
              description: The API key to use for authentication.
      x-ms-discriminator-value: api_key
    onYourDataConnectionStringAuthenticationOptions:
      required:
        - connection_string
      description: The authentication options for Azure OpenAI On Your Data when using a connection string.
      allOf:
        - $ref: '#/components/schemas/onYourDataAuthenticationOptions'
        - properties:
            connection_string:
              type: string
              description: The connection string to use for authentication.
      x-ms-discriminator-value: connection_string
    onYourDataKeyAndKeyIdAuthenticationOptions:
      required:
        - key
        - key_id
      description: The authentication options for Azure OpenAI On Your Data when using an Elasticsearch key and key ID pair.
      allOf:
        - $ref: '#/components/schemas/onYourDataAuthenticationOptions'
        - properties:
            key:
              type: string
              description: The Elasticsearch key to use for authentication.
            key_id:
              type: string
              description: The Elasticsearch key ID to use for authentication.
      x-ms-discriminator-value: key_and_key_id
    onYourDataEncodedApiKeyAuthenticationOptions:
      required:
        - encoded_api_key
      description: The authentication options for Azure OpenAI On Your Data when using an Elasticsearch encoded API key.
      allOf:
        - $ref: '#/components/schemas/onYourDataAuthenticationOptions'
        - properties:
            encoded_api_key:
              type: string
              description: The Elasticsearch encoded API key to use for authentication.
      x-ms-discriminator-value: encoded_api_key
    onYourDataAccessTokenAuthenticationOptions:
      required:
        - access_token
      description: The authentication options for Azure OpenAI On Your Data when using access token.
      allOf:
        - $ref: '#/components/schemas/onYourDataAuthenticationOptions'
        - properties:
            access_token:
              type: string
              description: The access token to use for authentication.
      x-ms-discriminator-value: access_token
    onYourDataSystemAssignedManagedIdentityAuthenticationOptions:
      description: The authentication options for Azure OpenAI On Your Data when using a system-assigned managed identity.
      allOf:
        - $ref: '#/components/schemas/onYourDataAuthenticationOptions'
      x-ms-discriminator-value: system_assigned_managed_identity
    onYourDataUserAssignedManagedIdentityAuthenticationOptions:
      required:
        - managed_identity_resource_id
      description: The authentication options for Azure OpenAI On Your Data when using a user-assigned managed identity.
      allOf:
        - $ref: '#/components/schemas/onYourDataAuthenticationOptions'
        - properties:
            managed_identity_resource_id:
              type: string
              description: The resource ID of the user-assigned managed identity to use for authentication.
      x-ms-discriminator-value: user_assigned_managed_identity
    onYourDataVectorizationSource:
      required:
        - type
      type: object
      properties:
        type:
          $ref: '#/components/schemas/onYourDataVectorizationSourceType'
      description: An abstract representation of a vectorization source for Azure OpenAI On Your Data with vector search.
      discriminator:
        propertyName: type
        mapping:
          endpoint: '#/components/schemas/onYourDataEndpointVectorizationSource'
          deployment_name: '#/components/schemas/onYourDataDeploymentNameVectorizationSource'
          model_id: '#/components/schemas/onYourDataModelIdVectorizationSource'
    onYourDataVectorizationSourceType:
      type: string
      description: |-
        Represents the available sources Azure OpenAI On Your Data can use to configure vectorization of data for use with
        vector search.
      enum:
        - endpoint
        - deployment_name
        - model_id
      x-ms-enum:
        name: OnYourDataVectorizationSourceType
        modelAsString: true
        values:
          - name: endpoint
            value: endpoint
            description: Represents vectorization performed by public service calls to an Azure OpenAI embedding model.
          - name: deploymentName
            value: deployment_name
            description: |-
              Represents an Ada model deployment name to use. This model deployment must be in the same Azure OpenAI resource, but
              On Your Data will use this model deployment via an internal call rather than a public one, which enables vector
              search even in private networks.
          - name: modelId
            value: model_id
            description: |-
              Represents a specific embedding model ID as defined in the search service.
              Currently only supported by Elasticsearch®.
    onYourDataEndpointVectorizationSource:
      required:
        - authentication
        - endpoint
      description: |-
        The details of a a vectorization source, used by Azure OpenAI On Your Data when applying vector search, that is based
        on a public Azure OpenAI endpoint call for embeddings.
      allOf:
        - $ref: '#/components/schemas/onYourDataVectorizationSource'
        - properties:
            endpoint:
              type: string
              description: Specifies the resource endpoint URL from which embeddings should be retrieved. It should be in the format of https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/embeddings. The api-version query parameter is not allowed.
              format: uri
            authentication:
              oneOf:
                - $ref: '#/components/schemas/onYourDataApiKeyAuthenticationOptions'
                - $ref: '#/components/schemas/onYourDataAccessTokenAuthenticationOptions'
            dimensions:
              type: integer
              description: The number of dimensions the embeddings should have. Only supported in `text-embedding-3` and later models.
              format: int32
      x-ms-discriminator-value: endpoint
    onYourDataDeploymentNameVectorizationSource:
      required:
        - deployment_name
      description: |-
        The details of a a vectorization source, used by Azure OpenAI On Your Data when applying vector search, that is based
        on an internal embeddings model deployment name in the same Azure OpenAI resource.
      allOf:
        - $ref: '#/components/schemas/onYourDataVectorizationSource'
        - properties:
            deployment_name:
              type: string
              description: Specifies the name of the model deployment to use for vectorization. This model deployment must be in the same Azure OpenAI resource, but On Your Data will use this model deployment via an internal call rather than a public one, which enables vector search even in private networks.
            dimensions:
              type: integer
              description: The number of dimensions the embeddings should have. Only supported in `text-embedding-3` and later models.
              format: int32
      x-ms-discriminator-value: deployment_name
    onYourDataModelIdVectorizationSource:
      required:
        - model_id
      description: |-
        The details of a a vectorization source, used by Azure OpenAI On Your Data when applying vector search, that is based
        on a search service model ID. Currently only supported by Elasticsearch®.
      allOf:
        - $ref: '#/components/schemas/onYourDataVectorizationSource'
        - properties:
            model_id:
              type: string
              description: Specifies the model ID to use for vectorization. This model ID must be defined in the search service.
      x-ms-discriminator-value: model_id
    azureChatExtensionsMessageContext:
      type: object
      properties:
        citations:
          type: array
          description: The data source retrieval result, used to generate the assistant message in the response.
          items:
            $ref: '#/components/schemas/citation'
          x-ms-identifiers: []
        intent:
          type: string
          description: The detected intent from the chat history, used to pass to the next turn to carry over the context.
        all_retrieved_documents:
          type: array
          description: All the retrieved documents.
          items:
            $ref: '#/components/schemas/retrievedDocument'

      description: |2-
          A representation of the additional context information available when Azure OpenAI chat extensions are involved
          in the generation of a corresponding chat completions response. This context information is only populated when
          using an Azure OpenAI request configured to use a matching extension.
    citation:
      required:
        - content
      type: object
      properties:
        content:
          type: string
          description: The content of the citation.
        title:
          type: string
          description: The title of the citation.
        url:
          type: string
          description: The URL of the citation.
        filepath:
          type: string
          description: The file path of the citation.
        chunk_id:
          type: string
          description: The chunk ID of the citation.
      description: citation information for a chat completions response message.
    retrievedDocument:
      type: object
      description: The retrieved document.
      required:
        - search_queries
        - data_source_index
      allOf:
        - $ref: '#/components/schemas/citation'
        - properties:
            search_queries:
              type: array
              description: The search queries used to retrieve the document.
              items:
                type: string
            data_source_index:
              type: integer
              description: The index of the data source.
              format: int32
            original_search_score:
              type: number
              description: The original search score of the retrieved document.
              format: double
            rerank_score:
              type: number
              description: The rerank score of the retrieved document.
              format: double
            filter_reason:
              $ref: '#/components/schemas/filterReason'
              description: Represents the rationale for filtering the document. If the document does not undergo filtering, this field will remain unset.

    filterReason:
      type: string
      description: The filtering reason of the retrieved document.
      enum:
        - score
        - rerank
      x-ms-enum:
        name: FilterReason
        modelAsString: true
        values:
          - name: score
            value: score
            description: The document is filtered by original search score threshold defined by `strictness` configure.
          - name: rerank
            value: rerank
            description: The document is not filtered by original search score threshold, but is filtered by rerank score and `top_n_documents` configure.

    chatCompletionMessageToolCall:
      type: object
      properties:
        id:
          type: string
          description: The ID of the tool call.
        type:
          $ref: '#/components/schemas/toolCallType'
        function:
          type: object
          description: The function that the model called.
          properties:
            name:
              type: string
              description: The name of the function to call.
            arguments:
              type: string
              description: The arguments to call the function with, as generated by the model in JSON format. Note that the model does not always generate valid JSON, and may hallucinate parameters not defined by your function schema. Validate the arguments in your code before calling your function.
          required:
            - name
            - arguments
      required:
        - id
        - type
        - function
    toolCallType:
      type: string
      enum:
        - function
      description: The type of the tool call, in this case `function`.
      x-ms-enum:
        name: ToolCallType
        modelAsString: true
        values:
          - value: function
            description: The tool call type is function.
    chatCompletionRequestMessageTool:
      allOf:
        - $ref: '#/components/schemas/chatCompletionRequestMessage'
        - type: object
          nullable: true
          properties:
            tool_call_id:
              type: string
              description: Tool call that this message is responding to.
            content:
              type: string
              description: The contents of the message.
              nullable: true
      required:
        - tool_call_id
        - content
    chatCompletionRequestMessageFunction:
      allOf:
        - $ref: '#/components/schemas/chatCompletionRequestMessage'
        - type: object
          description: Deprecated. Message that represents a function.
          nullable: true
          properties:
            role:
              type: string
              enum:
                - function
              description: The role of the messages author, in this case `function`.
            name:
              type: string
              description: The contents of the message.
            content:
              type: string
              description: The contents of the message.
              nullable: true
      required:
        - function_call_id
        - content
    createChatCompletionResponse:
      type: object
      allOf:
        - $ref: '#/components/schemas/chatCompletionsResponseCommon'
        - properties:
            prompt_filter_results:
              $ref: '#/components/schemas/promptFilterResults'
            choices:
              type: array
              items:
                type: object
                allOf:
                  - $ref: '#/components/schemas/chatCompletionChoiceCommon'
                  - properties:
                      message:
                        $ref: '#/components/schemas/chatCompletionResponseMessage'
                      content_filter_results:
                        $ref: '#/components/schemas/contentFilterChoiceResults'
                      logprobs:
                        $ref: '#/components/schemas/chatCompletionChoiceLogProbs'
      required:
        - id
        - object
        - created
        - model
        - choices
    chatCompletionChoiceLogProbs:
      description: Log probability information for the choice.
      type: object
      nullable: true
      properties:
        content:
          description: A list of message content tokens with log probability information.
          type: array
          items:
            $ref: '#/components/schemas/chatCompletionTokenLogprob'
          nullable: true
      required:
        - content
    chatCompletionTokenLogprob:
      type: object
      properties:
        token:
          description: The token.
          type: string
        logprob:
          description: The log probability of this token.
          type: number
        bytes:
          description: A list of integers representing the UTF-8 bytes representation of the token. Useful in instances where characters are represented by multiple tokens and their byte representations must be combined to generate the correct text representation. Can be `null` if there is no bytes representation for the token.
          type: array
          items:
            type: integer
          nullable: true
        top_logprobs:
          description: List of the most likely tokens and their log probability, at this token position. In rare cases, there may be fewer than the number of requested `top_logprobs` returned.
          type: array
          items:
            type: object
            properties:
              token:
                description: The token.
                type: string
              logprob:
                description: The log probability of this token.
                type: number
              bytes:
                description: A list of integers representing the UTF-8 bytes representation of the token. Useful in instances where characters are represented by multiple tokens and their byte representations must be combined to generate the correct text representation. Can be `null` if there is no bytes representation for the token.
                type: array
                items:
                  type: integer
                nullable: true
            required:
              - token
              - logprob
              - bytes
      required:
        - token
        - logprob
        - bytes
        - top_logprobs
    chatCompletionResponseMessage:
      type: object
      description: A chat completion message generated by the model.
      properties:
        role:
          $ref: '#/components/schemas/chatCompletionResponseMessageRole'
        content:
          type: string
          description: The contents of the message.
          nullable: true
        tool_calls:
          type: array
          description: The tool calls generated by the model, such as function calls.
          items:
            $ref: '#/components/schemas/chatCompletionMessageToolCall'
        function_call:
          $ref: '#/components/schemas/chatCompletionFunctionCall'
        context:
          $ref: '#/components/schemas/azureChatExtensionsMessageContext'
    chatCompletionResponseMessageRole:
      type: string
      enum:
        - assistant
      description: The role of the author of the response message.
    chatCompletionToolChoiceOption:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-07-01-preview/inference.yaml [2036:3674]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          description: api version
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/listVectorStoreFilesResponse"
      x-ms-examples:
        List vector store files in a batch.:
          $ref: ./examples/list_vector_store_file_batch.yaml
  
components:
  schemas:
    errorResponse:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/error'
    errorBase:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
    error:
      type: object
      allOf:
        - $ref: '#/components/schemas/errorBase'
      properties:
        param:
          type: string
        type:
          type: string
        inner_error:
          $ref: '#/components/schemas/innerError'
    innerError:
      description: Inner error with additional details.
      type: object
      properties:
        code:
          $ref: '#/components/schemas/innerErrorCode'
        content_filter_results:
          $ref: '#/components/schemas/contentFilterPromptResults'
    innerErrorCode:
      description: Error codes for the inner error object.
      enum:
        - ResponsibleAIPolicyViolation
      type: string
      x-ms-enum:
        name: InnerErrorCode
        modelAsString: true
        values:
          - value: ResponsibleAIPolicyViolation
            description: The prompt violated one of more content filter rules.
    dalleErrorResponse:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/dalleError'
    dalleError:
      type: object
      allOf:
        - $ref: '#/components/schemas/errorBase'
      properties:
        param:
          type: string
        type:
          type: string
        inner_error:
          $ref: '#/components/schemas/dalleInnerError'
    dalleInnerError:
      description: Inner error with additional details.
      type: object
      properties:
        code:
          $ref: '#/components/schemas/innerErrorCode'
        content_filter_results:
          $ref: '#/components/schemas/dalleFilterResults'
        revised_prompt:
          type: string
          description: The prompt that was used to generate the image, if there was any revision to the prompt.
    contentFilterResultBase:
      type: object
      properties:
        filtered:
          type: boolean
      required:
        - filtered
    contentFilterSeverityResult:
      type: object
      allOf:
        - $ref: '#/components/schemas/contentFilterResultBase'
        - properties:
            severity:
              type: string
              enum:
                - safe
                - low
                - medium
                - high
              x-ms-enum:
                name: ContentFilterSeverity
                modelAsString: true
                values:
                  - value: safe
                    description: General content or related content in generic or non-harmful contexts.
                  - value: low
                    description: Harmful content at a low intensity and risk level.
                  - value: medium
                    description: Harmful content at a medium intensity and risk level.
                  - value: high
                    description: Harmful content at a high intensity and risk level.
      required:
        - severity
        - filtered
    contentFilterDetectedResult:
      type: object
      allOf:
        - $ref: '#/components/schemas/contentFilterResultBase'
        - properties:
            detected:
              type: boolean
      required:
        - detected
        - filtered
    contentFilterDetectedWithCitationResult:
      type: object
      allOf:
        - $ref: '#/components/schemas/contentFilterDetectedResult'
        - properties:
            citation:
              type: object
              properties:
                URL:
                  type: string
                license:
                  type: string
      required:
        - detected
        - filtered
    contentFilterIdResult:
      type: object
      allOf:
        - $ref: '#/components/schemas/contentFilterResultBase'
        - properties:
            id:
              type: string
      required:
        - id
        - filtered
    contentFilterResultsBase:
      type: object
      description: Information about the content filtering results.
      properties:
        sexual:
          $ref: '#/components/schemas/contentFilterSeverityResult'
        violence:
          $ref: '#/components/schemas/contentFilterSeverityResult'
        hate:
          $ref: '#/components/schemas/contentFilterSeverityResult'
        self_harm:
          $ref: '#/components/schemas/contentFilterSeverityResult'
        profanity:
          $ref: '#/components/schemas/contentFilterDetectedResult'
        custom_blocklists:
          $ref: '#/components/schemas/contentFilterDetailedResults'
        error:
          $ref: '#/components/schemas/errorBase'
    contentFilterPromptResults:
      type: object
      description: Information about the content filtering category (hate, sexual, violence, self_harm), if it has been detected, as well as the severity level (very_low, low, medium, high-scale that determines the intensity and risk level of harmful content) and if it has been filtered or not. Information about jailbreak content and profanity, if it has been detected, and if it has been filtered or not. And information about customer block list, if it has been filtered and its id.
      allOf:
        - $ref: '#/components/schemas/contentFilterResultsBase'
        - properties:
            jailbreak:
              $ref: '#/components/schemas/contentFilterDetectedResult'
            indirect_attack:
              $ref: '#/components/schemas/contentFilterDetectedResult'
    contentFilterChoiceResults:
      type: object
      description: Information about the content filtering category (hate, sexual, violence, self_harm), if it has been detected, as well as the severity level (very_low, low, medium, high-scale that determines the intensity and risk level of harmful content) and if it has been filtered or not. Information about third party text and profanity, if it has been detected, and if it has been filtered or not. And information about customer block list, if it has been filtered and its id.
      allOf:
        - $ref: '#/components/schemas/contentFilterResultsBase'
        - properties:
            protected_material_text:
              $ref: '#/components/schemas/contentFilterDetectedResult'
        - properties:
            protected_material_code:
              $ref: '#/components/schemas/contentFilterDetectedWithCitationResult'
    contentFilterDetailedResults:
        type: object
        description: Content filtering results with a detail of content filter ids for the filtered segments.
        allOf:
            - 
                $ref: '#/components/schemas/contentFilterResultBase'
            - 
                properties:
                    details:
                        items:
                            $ref: '#/components/schemas/contentFilterIdResult'
                        type: array
        required:
            - filtered
    promptFilterResult:
      type: object
      description: Content filtering results for a single prompt in the request.
      properties:
        prompt_index:
          type: integer
        content_filter_results:
          $ref: '#/components/schemas/contentFilterPromptResults'
    promptFilterResults:
      type: array
      description: Content filtering results for zero or more prompts in the request. In a streaming request, results for different prompts may arrive at different times or in different orders.
      items:
        $ref: '#/components/schemas/promptFilterResult'
    dalleContentFilterResults:
      type: object
      description: Information about the content filtering results.
      properties:
        sexual:
          $ref: '#/components/schemas/contentFilterSeverityResult'
        violence:
          $ref: '#/components/schemas/contentFilterSeverityResult'
        hate:
          $ref: '#/components/schemas/contentFilterSeverityResult'
        self_harm:
          $ref: '#/components/schemas/contentFilterSeverityResult'
    dalleFilterResults:
      type: object
      description: Information about the content filtering category (hate, sexual, violence, self_harm), if it has been detected, as well as the severity level (very_low, low, medium, high-scale that determines the intensity and risk level of harmful content) and if it has been filtered or not. Information about jailbreak content and profanity, if it has been detected, and if it has been filtered or not. And information about customer block list, if it has been filtered and its id.
      allOf:
        - $ref: '#/components/schemas/dalleContentFilterResults'
        - properties:
            profanity:
              $ref: '#/components/schemas/contentFilterDetectedResult'
            jailbreak:
              $ref: '#/components/schemas/contentFilterDetectedResult'
            custom_blocklists:
              $ref: '#/components/schemas/contentFilterDetailedResults'
    chatCompletionsRequestCommon:
      type: object
      properties:
        temperature:
          description: |-
            What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.
            We generally recommend altering this or `top_p` but not both.
          type: number
          minimum: 0
          maximum: 2
          default: 1
          example: 1
          nullable: true
        top_p:
          description: |-
            An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered.
            We generally recommend altering this or `temperature` but not both.
          type: number
          minimum: 0
          maximum: 1
          default: 1
          example: 1
          nullable: true
        stream:
          description: 'If set, partial message deltas will be sent, like in ChatGPT. Tokens will be sent as data-only server-sent events as they become available, with the stream terminated by a `data: [DONE]` message.'
          type: boolean
          nullable: true
          default: false
        stop:
          description: Up to 4 sequences where the API will stop generating further tokens.
          oneOf:
            - type: string
              nullable: true
            - type: array
              items:
                type: string
                nullable: false
              minItems: 1
              maxItems: 4
              description: Array minimum size of 1 and maximum of 4
          default: null
        max_tokens:
          description: The maximum number of tokens allowed for the generated answer. By default, the number of tokens the model can return will be (4096 - prompt tokens).
          type: integer
          default: 4096
        presence_penalty:
          description: Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.
          type: number
          default: 0
          minimum: -2
          maximum: 2
        frequency_penalty:
          description: Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.
          type: number
          default: 0
          minimum: -2
          maximum: 2
        logit_bias:
          description: Modify the likelihood of specified tokens appearing in the completion. Accepts a json object that maps tokens (specified by their token ID in the tokenizer) to an associated bias value from -100 to 100. Mathematically, the bias is added to the logits generated by the model prior to sampling. The exact effect will vary per model, but values between -1 and 1 should decrease or increase likelihood of selection; values like -100 or 100 should result in a ban or exclusive selection of the relevant token.
          type: object
          nullable: true
        user:
          description: A unique identifier representing your end-user, which can help Azure OpenAI to monitor and detect abuse.
          type: string
          example: user-1234
          nullable: false
    createChatCompletionRequest:
      type: object
      allOf:
        - $ref: '#/components/schemas/chatCompletionsRequestCommon'
        - properties:
            messages:
              description: A list of messages comprising the conversation so far. [Example Python code](https://github.com/openai/openai-cookbook/blob/main/examples/How_to_format_inputs_to_ChatGPT_models.ipynb).
              type: array
              minItems: 1
              items:
                $ref: '#/components/schemas/chatCompletionRequestMessage'
            data_sources:
              type: array
              description: |2-
                  The configuration entries for Azure OpenAI chat extensions that use them.
                  This additional specification is only compatible with Azure OpenAI.
              items:
                $ref: '#/components/schemas/azureChatExtensionConfiguration'
            'n':
              type: integer
              minimum: 1
              maximum: 128
              default: 1
              example: 1
              nullable: true
              description: How many chat completion choices to generate for each input message.
            seed:
              type: integer
              minimum: -9223372036854775808
              maximum: 9223372036854775807
              default: 0
              example: 1
              nullable: true
              description: If specified, our system will make a best effort to sample deterministically, such that repeated requests with the same `seed` and parameters should return the same result.Determinism is not guaranteed, and you should refer to the `system_fingerprint` response parameter to monitor changes in the backend.
            logprobs:
              description: Whether to return log probabilities of the output tokens or not. If true, returns the log probabilities of each output token returned in the `content` of `message`. This option is currently not available on the `gpt-4-vision-preview` model.
              type: boolean
              default: false
              nullable: true
            top_logprobs:
              description: An integer between 0 and 5 specifying the number of most likely tokens to return at each token position, each with an associated log probability. `logprobs` must be set to `true` if this parameter is used.
              type: integer
              minimum: 0
              maximum: 5
              nullable: true
            response_format:
              type: object
              description: An object specifying the format that the model must output. Used to enable JSON mode.
              properties:
                type:
                  $ref: '#/components/schemas/chatCompletionResponseFormat'
            tools:
              description: A list of tools the model may call. Currently, only functions are supported as a tool. Use this to provide a list of functions the model may generate JSON inputs for.
              type: array
              minItems: 1
              items:
                $ref: '#/components/schemas/chatCompletionTool'
            tool_choice:
              $ref: '#/components/schemas/chatCompletionToolChoiceOption'
            functions:
              description: Deprecated in favor of `tools`. A list of functions the model may generate JSON inputs for.
              type: array
              minItems: 1
              maxItems: 128
              items:
                $ref: '#/components/schemas/chatCompletionFunction'
            function_call:
              description: Deprecated in favor of `tool_choice`. Controls how the model responds to function calls. "none" means the model does not call a function, and responds to the end-user. "auto" means the model can pick between an end-user or calling a function.  Specifying a particular function via `{"name":\ "my_function"}` forces the model to call that function. "none" is the default when no functions are present. "auto" is the default if functions are present.
              oneOf:
                - type: string
                  enum:
                    - none
                    - auto
                  description: '`none` means the model will not call a function and instead generates a message. `auto` means the model can pick between generating a message or calling a function.'
                - type: object
                  description: 'Specifying a particular function via `{"name": "my_function"}` forces the model to call that function.'
                  properties:
                    name:
                      type: string
                      description: The name of the function to call.
                  required:
                    - name
      required:
        - messages
    chatCompletionResponseFormat:
      type: string
      enum:
        - text
        - json_object
      default: text
      example: json_object
      nullable: true
      description: Setting to `json_object` enables JSON mode. This guarantees that the message the model generates is valid JSON.
      x-ms-enum:
        name: ChatCompletionResponseFormat
        modelAsString: true
        values:
          - value: text
            description: Response format is a plain text string.
          - value: json_object
            description: Response format is a JSON object.
    chatCompletionFunction:
      type: object
      properties:
        name:
          type: string
          description: The name of the function to be called. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.
        description:
          type: string
          description: The description of what the function does.
        parameters:
          $ref: '#/components/schemas/chatCompletionFunctionParameters'
      required:
        - name
    chatCompletionFunctionParameters:
      type: object
      description: The parameters the functions accepts, described as a JSON Schema object. See the [guide](/docs/guides/gpt/function-calling) for examples, and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for documentation about the format.
      additionalProperties: true
    chatCompletionRequestMessage:
      type: object
      properties:
        role:
          $ref: '#/components/schemas/chatCompletionRequestMessageRole'
      discriminator:
        propertyName: role
        mapping:
          system: '#/components/schemas/chatCompletionRequestMessageSystem'
          user: '#/components/schemas/chatCompletionRequestMessageUser'
          assistant: '#/components/schemas/chatCompletionRequestMessageAssistant'
          tool: '#/components/schemas/chatCompletionRequestMessageTool'
          function: '#/components/schemas/chatCompletionRequestMessageFunction'
      required:
        - role
    chatCompletionRequestMessageRole:
      type: string
      enum:
        - system
        - user
        - assistant
        - tool
        - function
      description: The role of the messages author.
      x-ms-enum:
        name: ChatCompletionRequestMessageRole
        modelAsString: true
        values:
          - value: system
            description: The message author role is system.
          - value: user
            description: The message author role is user.
          - value: assistant
            description: The message author role is assistant.
          - value: tool
            description: The message author role is tool.
          - value: function
            description: Deprecated. The message author role is function.
    chatCompletionRequestMessageSystem:
      allOf:
        - $ref: '#/components/schemas/chatCompletionRequestMessage'
        - type: object
          properties:
            content:
              type: string
              description: The contents of the message.
              nullable: true
      required:
        - content
    chatCompletionRequestMessageUser:
      allOf:
        - $ref: '#/components/schemas/chatCompletionRequestMessage'
        - type: object
          properties:
            content:
              oneOf:
                - type: string
                  description: The contents of the message.
                - type: array
                  description: An array of content parts with a defined type, each can be of type `text` or `image_url` when passing in images. You can pass multiple images by adding multiple `image_url` content parts. Image input is only supported when using the `gpt-4-visual-preview` model.
                  minimum: 1
                  items:
                    $ref: '#/components/schemas/chatCompletionRequestMessageContentPart'
              nullable: true
      required:
        - content
    chatCompletionRequestMessageContentPart:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/chatCompletionRequestMessageContentPartType'
      discriminator:
        propertyName: type
        mapping:
          text: '#/components/schemas/chatCompletionRequestMessageContentPartText'
          image_url: '#/components/schemas/chatCompletionRequestMessageContentPartImage'
      required:
        - type
    chatCompletionRequestMessageContentPartType:
      type: string
      enum:
        - text
        - image_url
      description: The type of the content part.
      x-ms-enum:
        name: ChatCompletionRequestMessageContentPartType
        modelAsString: true
        values:
          - value: text
            description: The content part type is text.
          - value: image_url
            description: The content part type is image_url.
    chatCompletionRequestMessageContentPartText:
      allOf:
        - $ref: '#/components/schemas/chatCompletionRequestMessageContentPart'
        - type: object
          properties:
            text:
              type: string
              description: The text content.
      required:
        - text
    chatCompletionRequestMessageContentPartImage:
      allOf:
        - $ref: '#/components/schemas/chatCompletionRequestMessageContentPart'
        - type: object
          properties:
            url:
              type: string
              description: Either a URL of the image or the base64 encoded image data.
              format: uri
            detail:
              $ref: '#/components/schemas/imageDetailLevel'
      required:
        - url
    imageDetailLevel:
      type: string
      description: Specifies the detail level of the image.
      enum:
        - auto
        - low
        - high
      default: auto
      x-ms-enum:
        name: ImageDetailLevel
        modelAsString: true
        values:
          - value: auto
            description: The image detail level is auto.
          - value: low
            description: The image detail level is low.
          - value: high
            description: The image detail level is high.
    chatCompletionRequestMessageAssistant:
      allOf:
        - $ref: '#/components/schemas/chatCompletionRequestMessage'
        - type: object
          properties:
            content:
              type: string
              description: The contents of the message.
              nullable: true
            tool_calls:
              type: array
              description: The tool calls generated by the model, such as function calls.
              items:
                $ref: '#/components/schemas/chatCompletionMessageToolCall'
            context:
              $ref: '#/components/schemas/azureChatExtensionsMessageContext'
      required:
        - content
    azureChatExtensionConfiguration:
      required:
        - type
      type: object
      properties:
        type:
          $ref: '#/components/schemas/azureChatExtensionType'
      description: |2-
          A representation of configuration data for a single Azure OpenAI chat extension. This will be used by a chat
          completions request that should use Azure OpenAI chat extensions to augment the response behavior.
          The use of this configuration is compatible only with Azure OpenAI.
      discriminator:
        propertyName: type
        mapping:
          azure_search: '#/components/schemas/azureSearchChatExtensionConfiguration'
          azure_ml_index: '#/components/schemas/azureMachineLearningIndexChatExtensionConfiguration'
          azure_cosmos_db: '#/components/schemas/azureCosmosDBChatExtensionConfiguration'
          elasticsearch: '#/components/schemas/elasticsearchChatExtensionConfiguration'
          pinecone: '#/components/schemas/pineconeChatExtensionConfiguration'
    azureChatExtensionType:
      type: string
      description: |2-
          A representation of configuration data for a single Azure OpenAI chat extension. This will be used by a chat
          completions request that should use Azure OpenAI chat extensions to augment the response behavior.
          The use of this configuration is compatible only with Azure OpenAI.
      enum:
        - azure_search
        - azure_ml_index
        - azure_cosmos_db
        - elasticsearch
        - pinecone
      x-ms-enum:
        name: AzureChatExtensionType
        modelAsString: true
        values:
          - name: azureSearch
            value: azure_search
            description: Represents the use of Azure Search as an Azure OpenAI chat extension.
          - name: azureMachineLearningIndex
            value: azure_ml_index
            description: Represents the use of Azure Machine Learning index as an Azure OpenAI chat extension.
          - name: azureCosmosDB
            value: azure_cosmos_db
            description: Represents the use of Azure Cosmos DB as an Azure OpenAI chat extension.
          - name: elasticsearch
            value: elasticsearch
            description: Represents the use of Elasticsearch® index as an Azure OpenAI chat extension.
          - name: pinecone
            value: pinecone
            description: Represents the use of Pinecone index as an Azure OpenAI chat extension.
    azureSearchChatExtensionConfiguration:
      required:
        - parameters
      description: |-
        A specific representation of configurable options for Azure Search when using it as an Azure OpenAI chat
        extension.
      allOf:
        - $ref: '#/components/schemas/azureChatExtensionConfiguration'
        - properties:
            parameters:
              $ref: '#/components/schemas/azureSearchChatExtensionParameters'
      x-ms-discriminator-value: azure_search
    azureSearchChatExtensionParameters:
      required:
        - authentication
        - endpoint
        - index_name
      type: object
      properties:
        authentication:
          oneOf:
            - $ref: '#/components/schemas/onYourDataApiKeyAuthenticationOptions'
            - $ref: '#/components/schemas/onYourDataSystemAssignedManagedIdentityAuthenticationOptions'
            - $ref: '#/components/schemas/onYourDataUserAssignedManagedIdentityAuthenticationOptions'
            - $ref: '#/components/schemas/onYourDataAccessTokenAuthenticationOptions'
        top_n_documents:
          type: integer
          description: The configured top number of documents to feature for the configured query.
          format: int32
        max_search_queries:
          type: integer
          description: The max number of rewritten queries should be send to search provider for one user message. If not specified, the system will decide the number of queries to send.
          format: int32
        allow_partial_result:
          type: boolean
          default: false
          description: If specified as true, the system will allow partial search results to be used and the request fails if all the queries fail. If not specified, or specified as false, the request will fail if any search query fails.
        in_scope:
          type: boolean
          description: Whether queries should be restricted to use of indexed data.
        strictness:
          maximum: 5
          minimum: 1
          type: integer
          description: The configured strictness of the search relevance filtering. The higher of strictness, the higher of the precision but lower recall of the answer.
          format: int32
        role_information:
          type: string
          description: Give the model instructions about how it should behave and any context it should reference when generating a response. You can describe the assistant's personality and tell it how to format responses. There's a 100 token limit for it, and it counts against the overall token limit.
        endpoint:
          type: string
          description: The absolute endpoint path for the Azure Search resource to use.
          format: uri
        index_name:
          type: string
          description: The name of the index to use as available in the referenced Azure Search resource.
        fields_mapping:
          $ref: '#/components/schemas/azureSearchIndexFieldMappingOptions'
        query_type:
          $ref: '#/components/schemas/azureSearchQueryType'
        semantic_configuration:
          type: string
          description: The additional semantic configuration for the query.
        filter:
          type: string
          description: Search filter.
        embedding_dependency:
          oneOf:
            - $ref: '#/components/schemas/onYourDataEndpointVectorizationSource'
            - $ref: '#/components/schemas/onYourDataDeploymentNameVectorizationSource'
        include_contexts:
          type: array
          description: The included properties of the output context. If not specified, the default value is `citations` and `intent`.
          items:
            $ref: '#/components/schemas/onYourDataContextProperty'
      description: Parameters for Azure Search when used as an Azure OpenAI chat extension.
    azureSearchIndexFieldMappingOptions:
      type: object
      properties:
        title_field:
          type: string
          description: The name of the index field to use as a title.
        url_field:
          type: string
          description: The name of the index field to use as a URL.
        filepath_field:
          type: string
          description: The name of the index field to use as a filepath.
        content_fields:
          type: array
          description: The names of index fields that should be treated as content.
          items:
            type: string
        content_fields_separator:
          type: string
          description: The separator pattern that content fields should use.
        vector_fields:
          type: array
          description: The names of fields that represent vector data.
          items:
            type: string
        image_vector_fields:
          type: array
          description: The names of fields that represent image vector data.
          items:
            type: string
      description: Optional settings to control how fields are processed when using a configured Azure Search resource.
    azureSearchQueryType:
      type: string
      description: The type of Azure Search retrieval query that should be executed when using it as an Azure OpenAI chat extension.
      enum:
        - simple
        - semantic
        - vector
        - vector_simple_hybrid
        - vector_semantic_hybrid
      x-ms-enum:
        name: AzureSearchQueryType
        modelAsString: true
        values:
          - name: simple
            value: simple
            description: Represents the default, simple query parser.
          - name: semantic
            value: semantic
            description: Represents the semantic query parser for advanced semantic modeling.
          - name: vector
            value: vector
            description: Represents vector search over computed data.
          - name: vectorSimpleHybrid
            value: vector_simple_hybrid
            description: Represents a combination of the simple query strategy with vector data.
          - name: vectorSemanticHybrid
            value: vector_semantic_hybrid
            description: Represents a combination of semantic search and vector data querying.
    azureMachineLearningIndexChatExtensionConfiguration:
      required:
        - parameters
      description: |-
        A specific representation of configurable options for Azure Machine Learning vector index when using it as an Azure
        OpenAI chat extension.
      allOf:
        - $ref: '#/components/schemas/azureChatExtensionConfiguration'
        - properties:
            parameters:
              $ref: '#/components/schemas/azureMachineLearningIndexChatExtensionParameters'
      x-ms-discriminator-value: azure_ml_index
    azureMachineLearningIndexChatExtensionParameters:
      required:
        - authentication
        - name
        - project_resource_id
        - version
      type: object
      properties:
        authentication:
          oneOf:
            - $ref: '#/components/schemas/onYourDataAccessTokenAuthenticationOptions'
            - $ref: '#/components/schemas/onYourDataSystemAssignedManagedIdentityAuthenticationOptions'
            - $ref: '#/components/schemas/onYourDataUserAssignedManagedIdentityAuthenticationOptions'
        top_n_documents:
          type: integer
          description: The configured top number of documents to feature for the configured query.
          format: int32
        max_search_queries:
          type: integer
          description: The max number of rewritten queries should be send to search provider for one user message. If not specified, the system will decide the number of queries to send.
          format: int32
        allow_partial_result:
          type: boolean
          default: false
          description: If specified as true, the system will allow partial search results to be used and the request fails if all the queries fail. If not specified, or specified as false, the request will fail if any search query fails.
        in_scope:
          type: boolean
          description: Whether queries should be restricted to use of indexed data.
        strictness:
          maximum: 5
          minimum: 1
          type: integer
          description: The configured strictness of the search relevance filtering. The higher of strictness, the higher of the precision but lower recall of the answer.
          format: int32
        role_information:
          type: string
          description: Give the model instructions about how it should behave and any context it should reference when generating a response. You can describe the assistant's personality and tell it how to format responses. There's a 100 token limit for it, and it counts against the overall token limit.
        project_resource_id:
          type: string
          description: The resource ID of the Azure Machine Learning project.
        name:
          type: string
          description: The Azure Machine Learning vector index name.
        version:
          type: string
          description: The version of the Azure Machine Learning vector index.
        filter:
          type: string
          description: Search filter. Only supported if the Azure Machine Learning vector index is of type AzureSearch.
        include_contexts:
          type: array
          description: The included properties of the output context. If not specified, the default value is `citations` and `intent`.
          items:
            $ref: '#/components/schemas/onYourDataContextProperty'
      description: Parameters for the Azure Machine Learning vector index chat extension.
    azureCosmosDBChatExtensionConfiguration:
      required:
        - parameters
      description: |-
        A specific representation of configurable options for Azure Cosmos DB when using it as an Azure OpenAI chat
        extension.
      allOf:
        - $ref: '#/components/schemas/azureChatExtensionConfiguration'
        - properties:
            parameters:
              $ref: '#/components/schemas/azureCosmosDBChatExtensionParameters'
      x-ms-discriminator-value: azure_cosmos_db
    azureCosmosDBChatExtensionParameters:
      required:
        - authentication
        - container_name
        - database_name
        - embedding_dependency
        - fields_mapping
        - index_name
      type: object
      properties:
        authentication:
          $ref: '#/components/schemas/onYourDataConnectionStringAuthenticationOptions'
        top_n_documents:
          type: integer
          description: The configured top number of documents to feature for the configured query.
          format: int32
        max_search_queries:
          type: integer
          description: The max number of rewritten queries should be send to search provider for one user message. If not specified, the system will decide the number of queries to send.
          format: int32
        allow_partial_result:
          type: boolean
          default: false
          description: If specified as true, the system will allow partial search results to be used and the request fails if all the queries fail. If not specified, or specified as false, the request will fail if any search query fails.
        in_scope:
          type: boolean
          description: Whether queries should be restricted to use of indexed data.
        strictness:
          maximum: 5
          minimum: 1
          type: integer
          description: The configured strictness of the search relevance filtering. The higher of strictness, the higher of the precision but lower recall of the answer.
          format: int32
        role_information:
          type: string
          description: Give the model instructions about how it should behave and any context it should reference when generating a response. You can describe the assistant's personality and tell it how to format responses. There's a 100 token limit for it, and it counts against the overall token limit.
        database_name:
          type: string
          description: The MongoDB vCore database name to use with Azure Cosmos DB.
        container_name:
          type: string
          description: The name of the Azure Cosmos DB resource container.
        index_name:
          type: string
          description: The MongoDB vCore index name to use with Azure Cosmos DB.
        fields_mapping:
          $ref: '#/components/schemas/azureCosmosDBFieldMappingOptions'
        embedding_dependency:
          oneOf:
            - $ref: '#/components/schemas/onYourDataEndpointVectorizationSource'
            - $ref: '#/components/schemas/onYourDataDeploymentNameVectorizationSource'
        include_contexts:
          type: array
          description: The included properties of the output context. If not specified, the default value is `citations` and `intent`.
          items:
            $ref: '#/components/schemas/onYourDataContextProperty'
      description: |-
        Parameters to use when configuring Azure OpenAI On Your Data chat extensions when using Azure Cosmos DB for
        MongoDB vCore.
    azureCosmosDBFieldMappingOptions:
      required:
        - content_fields
        - vector_fields
      type: object
      properties:
        title_field:
          type: string
          description: The name of the index field to use as a title.
        url_field:
          type: string
          description: The name of the index field to use as a URL.
        filepath_field:
          type: string
          description: The name of the index field to use as a filepath.
        content_fields:
          type: array
          description: The names of index fields that should be treated as content.
          items:
            type: string
        content_fields_separator:
          type: string
          description: The separator pattern that content fields should use.
        vector_fields:
          type: array
          description: The names of fields that represent vector data.
          items:
            type: string
      description: Optional settings to control how fields are processed when using a configured Azure Cosmos DB resource.
    elasticsearchChatExtensionConfiguration:
      required:
        - parameters
      description: |-
        A specific representation of configurable options for Elasticsearch when using it as an Azure OpenAI chat
        extension.
      allOf:
        - $ref: '#/components/schemas/azureChatExtensionConfiguration'
        - properties:
            parameters:
              $ref: '#/components/schemas/elasticsearchChatExtensionParameters'
      x-ms-discriminator-value: elasticsearch
    elasticsearchChatExtensionParameters:
      required:
        - authentication
        - endpoint
        - index_name
      type: object
      properties:
        authentication:
          oneOf:
            - $ref: '#/components/schemas/onYourDataKeyAndKeyIdAuthenticationOptions'
            - $ref: '#/components/schemas/onYourDataEncodedApiKeyAuthenticationOptions'
        top_n_documents:
          type: integer
          description: The configured top number of documents to feature for the configured query.
          format: int32
        max_search_queries:
          type: integer
          description: The max number of rewritten queries should be send to search provider for one user message. If not specified, the system will decide the number of queries to send.
          format: int32
        allow_partial_result:
          type: boolean
          default: false
          description: If specified as true, the system will allow partial search results to be used and the request fails if all the queries fail. If not specified, or specified as false, the request will fail if any search query fails.
        in_scope:
          type: boolean
          description: Whether queries should be restricted to use of indexed data.
        strictness:
          maximum: 5
          minimum: 1
          type: integer
          description: The configured strictness of the search relevance filtering. The higher of strictness, the higher of the precision but lower recall of the answer.
          format: int32
        role_information:
          type: string
          description: Give the model instructions about how it should behave and any context it should reference when generating a response. You can describe the assistant's personality and tell it how to format responses. There's a 100 token limit for it, and it counts against the overall token limit.
        endpoint:
          type: string
          description: The endpoint of Elasticsearch®.
          format: uri
        index_name:
          type: string
          description: The index name of Elasticsearch®.
        fields_mapping:
          $ref: '#/components/schemas/elasticsearchIndexFieldMappingOptions'
        query_type:
          $ref: '#/components/schemas/elasticsearchQueryType'
        embedding_dependency:
          oneOf:
            - $ref: '#/components/schemas/onYourDataEndpointVectorizationSource'
            - $ref: '#/components/schemas/onYourDataDeploymentNameVectorizationSource'
            - $ref: '#/components/schemas/onYourDataModelIdVectorizationSource'
        include_contexts:
          type: array
          description: The included properties of the output context. If not specified, the default value is `citations` and `intent`.
          items:
            $ref: '#/components/schemas/onYourDataContextProperty'
      description: 'Parameters to use when configuring Elasticsearch® as an Azure OpenAI chat extension. '
    elasticsearchIndexFieldMappingOptions:
      type: object
      properties:
        title_field:
          type: string
          description: The name of the index field to use as a title.
        url_field:
          type: string
          description: The name of the index field to use as a URL.
        filepath_field:
          type: string
          description: The name of the index field to use as a filepath.
        content_fields:
          type: array
          description: The names of index fields that should be treated as content.
          items:
            type: string
        content_fields_separator:
          type: string
          description: The separator pattern that content fields should use.
        vector_fields:
          type: array
          description: The names of fields that represent vector data.
          items:
            type: string
      description: Optional settings to control how fields are processed when using a configured Elasticsearch® resource.
    elasticsearchQueryType:
      type: string
      description: The type of Elasticsearch® retrieval query that should be executed when using it as an Azure OpenAI chat extension.
      enum:
        - simple
        - vector
      x-ms-enum:
        name: ElasticsearchQueryType
        modelAsString: true
        values:
          - name: simple
            value: simple
            description: Represents the default, simple query parser.
          - name: vector
            value: vector
            description: Represents vector search over computed data.
    pineconeChatExtensionConfiguration:
      required:
        - parameters
      description: |-
        A specific representation of configurable options for Pinecone when using it as an Azure OpenAI chat
        extension.
      allOf:
        - $ref: '#/components/schemas/azureChatExtensionConfiguration'
        - properties:
            parameters:
              $ref: '#/components/schemas/pineconeChatExtensionParameters'
      x-ms-discriminator-value: pinecone
    pineconeChatExtensionParameters:
      required:
        - authentication
        - embedding_dependency
        - environment
        - fields_mapping
        - index_name
      type: object
      properties:
        authentication:
          $ref: '#/components/schemas/onYourDataApiKeyAuthenticationOptions'
        top_n_documents:
          type: integer
          description: The configured top number of documents to feature for the configured query.
          format: int32
        max_search_queries:
          type: integer
          description: The max number of rewritten queries should be send to search provider for one user message. If not specified, the system will decide the number of queries to send.
          format: int32
        allow_partial_result:
          type: boolean
          default: false
          description: If specified as true, the system will allow partial search results to be used and the request fails if all the queries fail. If not specified, or specified as false, the request will fail if any search query fails.
        in_scope:
          type: boolean
          description: Whether queries should be restricted to use of indexed data.
        strictness:
          maximum: 5
          minimum: 1
          type: integer
          description: The configured strictness of the search relevance filtering. The higher of strictness, the higher of the precision but lower recall of the answer.
          format: int32
        role_information:
          type: string
          description: Give the model instructions about how it should behave and any context it should reference when generating a response. You can describe the assistant's personality and tell it how to format responses. There's a 100 token limit for it, and it counts against the overall token limit.
        environment:
          type: string
          description: The environment name of Pinecone.
        index_name:
          type: string
          description: The name of the Pinecone database index.
        fields_mapping:
          $ref: '#/components/schemas/pineconeFieldMappingOptions'
        embedding_dependency:
          $ref: '#/components/schemas/onYourDataDeploymentNameVectorizationSource'
        include_contexts:
          type: array
          description: The included properties of the output context. If not specified, the default value is `citations` and `intent`.
          items:
            $ref: '#/components/schemas/onYourDataContextProperty'
      description: Parameters for configuring Azure OpenAI Pinecone chat extensions.
    pineconeFieldMappingOptions:
      required:
        - content_fields
      type: object
      properties:
        title_field:
          type: string
          description: The name of the index field to use as a title.
        url_field:
          type: string
          description: The name of the index field to use as a URL.
        filepath_field:
          type: string
          description: The name of the index field to use as a filepath.
        content_fields:
          type: array
          description: The names of index fields that should be treated as content.
          items:
            type: string
        content_fields_separator:
          type: string
          description: The separator pattern that content fields should use.
      description: Optional settings to control how fields are processed when using a configured Pinecone resource.
    onYourDataAuthenticationOptions:
      required:
        - type
      type: object
      properties:
        type:
          $ref: '#/components/schemas/onYourDataAuthenticationType'
      description: The authentication options for Azure OpenAI On Your Data.
      discriminator:
        propertyName: type
        mapping:
          api_key: '#/components/schemas/onYourDataApiKeyAuthenticationOptions'
          connection_string: '#/components/schemas/onYourDataConnectionStringAuthenticationOptions'
          key_and_key_id: '#/components/schemas/onYourDataKeyAndKeyIdAuthenticationOptions'
          encoded_api_key: '#/components/schemas/onYourDataEncodedApiKeyAuthenticationOptions'
          access_token: '#/components/schemas/onYourDataAccessTokenAuthenticationOptions'
          system_assigned_managed_identity: '#/components/schemas/onYourDataSystemAssignedManagedIdentityAuthenticationOptions'
          user_assigned_managed_identity: '#/components/schemas/onYourDataUserAssignedManagedIdentityAuthenticationOptions'
    onYourDataContextProperty:
      type: string
      description: The context property.
      enum:
        - citations
        - intent
        - all_retrieved_documents
      x-ms-enum:
        name: OnYourDataContextProperty
        modelAsString: true
        values:
          - name: citations
            value: citations
            description: The `citations` property.
          - name: intent
            value: intent
            description: The `intent` property.
          - name: allRetrievedDocuments
            value: all_retrieved_documents
            description: The `all_retrieved_documents` property.
    onYourDataAuthenticationType:
      type: string
      description: The authentication types supported with Azure OpenAI On Your Data.
      enum:
        - api_key
        - connection_string
        - key_and_key_id
        - encoded_api_key
        - access_token
        - system_assigned_managed_identity
        - user_assigned_managed_identity
      x-ms-enum:
        name: OnYourDataAuthenticationType
        modelAsString: true
        values:
          - name: apiKey
            value: api_key
            description: Authentication via API key.
          - name: connectionString
            value: connection_string
            description: Authentication via connection string.
          - name: keyAndKeyId
            value: key_and_key_id
            description: Authentication via key and key ID pair.
          - name: encodedApiKey
            value: encoded_api_key
            description: Authentication via encoded API key.
          - name: accessToken
            value: access_token
            description: Authentication via access token.
          - name: systemAssignedManagedIdentity
            value: system_assigned_managed_identity
            description: Authentication via system-assigned managed identity.
          - name: userAssignedManagedIdentity
            value: user_assigned_managed_identity
            description: Authentication via user-assigned managed identity.
    onYourDataApiKeyAuthenticationOptions:
      required:
        - key
      description: The authentication options for Azure OpenAI On Your Data when using an API key.
      allOf:
        - $ref: '#/components/schemas/onYourDataAuthenticationOptions'
        - properties:
            key:
              type: string
              description: The API key to use for authentication.
      x-ms-discriminator-value: api_key
    onYourDataConnectionStringAuthenticationOptions:
      required:
        - connection_string
      description: The authentication options for Azure OpenAI On Your Data when using a connection string.
      allOf:
        - $ref: '#/components/schemas/onYourDataAuthenticationOptions'
        - properties:
            connection_string:
              type: string
              description: The connection string to use for authentication.
      x-ms-discriminator-value: connection_string
    onYourDataKeyAndKeyIdAuthenticationOptions:
      required:
        - key
        - key_id
      description: The authentication options for Azure OpenAI On Your Data when using an Elasticsearch key and key ID pair.
      allOf:
        - $ref: '#/components/schemas/onYourDataAuthenticationOptions'
        - properties:
            key:
              type: string
              description: The Elasticsearch key to use for authentication.
            key_id:
              type: string
              description: The Elasticsearch key ID to use for authentication.
      x-ms-discriminator-value: key_and_key_id
    onYourDataEncodedApiKeyAuthenticationOptions:
      required:
        - encoded_api_key
      description: The authentication options for Azure OpenAI On Your Data when using an Elasticsearch encoded API key.
      allOf:
        - $ref: '#/components/schemas/onYourDataAuthenticationOptions'
        - properties:
            encoded_api_key:
              type: string
              description: The Elasticsearch encoded API key to use for authentication.
      x-ms-discriminator-value: encoded_api_key
    onYourDataAccessTokenAuthenticationOptions:
      required:
        - access_token
      description: The authentication options for Azure OpenAI On Your Data when using access token.
      allOf:
        - $ref: '#/components/schemas/onYourDataAuthenticationOptions'
        - properties:
            access_token:
              type: string
              description: The access token to use for authentication.
      x-ms-discriminator-value: access_token
    onYourDataSystemAssignedManagedIdentityAuthenticationOptions:
      description: The authentication options for Azure OpenAI On Your Data when using a system-assigned managed identity.
      allOf:
        - $ref: '#/components/schemas/onYourDataAuthenticationOptions'
      x-ms-discriminator-value: system_assigned_managed_identity
    onYourDataUserAssignedManagedIdentityAuthenticationOptions:
      required:
        - managed_identity_resource_id
      description: The authentication options for Azure OpenAI On Your Data when using a user-assigned managed identity.
      allOf:
        - $ref: '#/components/schemas/onYourDataAuthenticationOptions'
        - properties:
            managed_identity_resource_id:
              type: string
              description: The resource ID of the user-assigned managed identity to use for authentication.
      x-ms-discriminator-value: user_assigned_managed_identity
    onYourDataVectorizationSource:
      required:
        - type
      type: object
      properties:
        type:
          $ref: '#/components/schemas/onYourDataVectorizationSourceType'
      description: An abstract representation of a vectorization source for Azure OpenAI On Your Data with vector search.
      discriminator:
        propertyName: type
        mapping:
          endpoint: '#/components/schemas/onYourDataEndpointVectorizationSource'
          deployment_name: '#/components/schemas/onYourDataDeploymentNameVectorizationSource'
          model_id: '#/components/schemas/onYourDataModelIdVectorizationSource'
    onYourDataVectorizationSourceType:
      type: string
      description: |-
        Represents the available sources Azure OpenAI On Your Data can use to configure vectorization of data for use with
        vector search.
      enum:
        - endpoint
        - deployment_name
        - model_id
      x-ms-enum:
        name: OnYourDataVectorizationSourceType
        modelAsString: true
        values:
          - name: endpoint
            value: endpoint
            description: Represents vectorization performed by public service calls to an Azure OpenAI embedding model.
          - name: deploymentName
            value: deployment_name
            description: |-
              Represents an Ada model deployment name to use. This model deployment must be in the same Azure OpenAI resource, but
              On Your Data will use this model deployment via an internal call rather than a public one, which enables vector
              search even in private networks.
          - name: modelId
            value: model_id
            description: |-
              Represents a specific embedding model ID as defined in the search service.
              Currently only supported by Elasticsearch®.
    onYourDataEndpointVectorizationSource:
      required:
        - authentication
        - endpoint
      description: |-
        The details of a a vectorization source, used by Azure OpenAI On Your Data when applying vector search, that is based
        on a public Azure OpenAI endpoint call for embeddings.
      allOf:
        - $ref: '#/components/schemas/onYourDataVectorizationSource'
        - properties:
            endpoint:
              type: string
              description: Specifies the resource endpoint URL from which embeddings should be retrieved. It should be in the format of https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/embeddings. The api-version query parameter is not allowed.
              format: uri
            authentication:
              oneOf:
                - $ref: '#/components/schemas/onYourDataApiKeyAuthenticationOptions'
                - $ref: '#/components/schemas/onYourDataAccessTokenAuthenticationOptions'
            dimensions:
              type: integer
              description: The number of dimensions the embeddings should have. Only supported in `text-embedding-3` and later models.
              format: int32
      x-ms-discriminator-value: endpoint
    onYourDataDeploymentNameVectorizationSource:
      required:
        - deployment_name
      description: |-
        The details of a a vectorization source, used by Azure OpenAI On Your Data when applying vector search, that is based
        on an internal embeddings model deployment name in the same Azure OpenAI resource.
      allOf:
        - $ref: '#/components/schemas/onYourDataVectorizationSource'
        - properties:
            deployment_name:
              type: string
              description: Specifies the name of the model deployment to use for vectorization. This model deployment must be in the same Azure OpenAI resource, but On Your Data will use this model deployment via an internal call rather than a public one, which enables vector search even in private networks.
            dimensions:
              type: integer
              description: The number of dimensions the embeddings should have. Only supported in `text-embedding-3` and later models.
              format: int32
      x-ms-discriminator-value: deployment_name
    onYourDataModelIdVectorizationSource:
      required:
        - model_id
      description: |-
        The details of a a vectorization source, used by Azure OpenAI On Your Data when applying vector search, that is based
        on a search service model ID. Currently only supported by Elasticsearch®.
      allOf:
        - $ref: '#/components/schemas/onYourDataVectorizationSource'
        - properties:
            model_id:
              type: string
              description: Specifies the model ID to use for vectorization. This model ID must be defined in the search service.
      x-ms-discriminator-value: model_id
    azureChatExtensionsMessageContext:
      type: object
      properties:
        citations:
          type: array
          description: The data source retrieval result, used to generate the assistant message in the response.
          items:
            $ref: '#/components/schemas/citation'
          x-ms-identifiers: []
        intent:
          type: string
          description: The detected intent from the chat history, used to pass to the next turn to carry over the context.
        all_retrieved_documents:
          type: array
          description: All the retrieved documents.
          items:
            $ref: '#/components/schemas/retrievedDocument'

      description: |2-
          A representation of the additional context information available when Azure OpenAI chat extensions are involved
          in the generation of a corresponding chat completions response. This context information is only populated when
          using an Azure OpenAI request configured to use a matching extension.
    citation:
      required:
        - content
      type: object
      properties:
        content:
          type: string
          description: The content of the citation.
        title:
          type: string
          description: The title of the citation.
        url:
          type: string
          description: The URL of the citation.
        filepath:
          type: string
          description: The file path of the citation.
        chunk_id:
          type: string
          description: The chunk ID of the citation.
      description: citation information for a chat completions response message.
    retrievedDocument:
      type: object
      description: The retrieved document.
      required:
        - search_queries
        - data_source_index
      allOf:
        - $ref: '#/components/schemas/citation'
        - properties:
            search_queries:
              type: array
              description: The search queries used to retrieve the document.
              items:
                type: string
            data_source_index:
              type: integer
              description: The index of the data source.
              format: int32
            original_search_score:
              type: number
              description: The original search score of the retrieved document.
              format: double
            rerank_score:
              type: number
              description: The rerank score of the retrieved document.
              format: double
            filter_reason:
              $ref: '#/components/schemas/filterReason'
              description: Represents the rationale for filtering the document. If the document does not undergo filtering, this field will remain unset.

    filterReason:
      type: string
      description: The filtering reason of the retrieved document.
      enum:
        - score
        - rerank
      x-ms-enum:
        name: FilterReason
        modelAsString: true
        values:
          - name: score
            value: score
            description: The document is filtered by original search score threshold defined by `strictness` configure.
          - name: rerank
            value: rerank
            description: The document is not filtered by original search score threshold, but is filtered by rerank score and `top_n_documents` configure.

    chatCompletionMessageToolCall:
      type: object
      properties:
        id:
          type: string
          description: The ID of the tool call.
        type:
          $ref: '#/components/schemas/toolCallType'
        function:
          type: object
          description: The function that the model called.
          properties:
            name:
              type: string
              description: The name of the function to call.
            arguments:
              type: string
              description: The arguments to call the function with, as generated by the model in JSON format. Note that the model does not always generate valid JSON, and may hallucinate parameters not defined by your function schema. Validate the arguments in your code before calling your function.
          required:
            - name
            - arguments
      required:
        - id
        - type
        - function
    toolCallType:
      type: string
      enum:
        - function
      description: The type of the tool call, in this case `function`.
      x-ms-enum:
        name: ToolCallType
        modelAsString: true
        values:
          - value: function
            description: The tool call type is function.
    chatCompletionRequestMessageTool:
      allOf:
        - $ref: '#/components/schemas/chatCompletionRequestMessage'
        - type: object
          nullable: true
          properties:
            tool_call_id:
              type: string
              description: Tool call that this message is responding to.
            content:
              type: string
              description: The contents of the message.
              nullable: true
      required:
        - tool_call_id
        - content
    chatCompletionRequestMessageFunction:
      allOf:
        - $ref: '#/components/schemas/chatCompletionRequestMessage'
        - type: object
          description: Deprecated. Message that represents a function.
          nullable: true
          properties:
            role:
              type: string
              enum:
                - function
              description: The role of the messages author, in this case `function`.
            name:
              type: string
              description: The contents of the message.
            content:
              type: string
              description: The contents of the message.
              nullable: true
      required:
        - function_call_id
        - content
    createChatCompletionResponse:
      type: object
      allOf:
        - $ref: '#/components/schemas/chatCompletionsResponseCommon'
        - properties:
            prompt_filter_results:
              $ref: '#/components/schemas/promptFilterResults'
            choices:
              type: array
              items:
                type: object
                allOf:
                  - $ref: '#/components/schemas/chatCompletionChoiceCommon'
                  - properties:
                      message:
                        $ref: '#/components/schemas/chatCompletionResponseMessage'
                      content_filter_results:
                        $ref: '#/components/schemas/contentFilterChoiceResults'
                      logprobs:
                        $ref: '#/components/schemas/chatCompletionChoiceLogProbs'
      required:
        - id
        - object
        - created
        - model
        - choices
    chatCompletionChoiceLogProbs:
      description: Log probability information for the choice.
      type: object
      nullable: true
      properties:
        content:
          description: A list of message content tokens with log probability information.
          type: array
          items:
            $ref: '#/components/schemas/chatCompletionTokenLogprob'
          nullable: true
      required:
        - content
    chatCompletionTokenLogprob:
      type: object
      properties:
        token:
          description: The token.
          type: string
        logprob:
          description: The log probability of this token.
          type: number
        bytes:
          description: A list of integers representing the UTF-8 bytes representation of the token. Useful in instances where characters are represented by multiple tokens and their byte representations must be combined to generate the correct text representation. Can be `null` if there is no bytes representation for the token.
          type: array
          items:
            type: integer
          nullable: true
        top_logprobs:
          description: List of the most likely tokens and their log probability, at this token position. In rare cases, there may be fewer than the number of requested `top_logprobs` returned.
          type: array
          items:
            type: object
            properties:
              token:
                description: The token.
                type: string
              logprob:
                description: The log probability of this token.
                type: number
              bytes:
                description: A list of integers representing the UTF-8 bytes representation of the token. Useful in instances where characters are represented by multiple tokens and their byte representations must be combined to generate the correct text representation. Can be `null` if there is no bytes representation for the token.
                type: array
                items:
                  type: integer
                nullable: true
            required:
              - token
              - logprob
              - bytes
      required:
        - token
        - logprob
        - bytes
        - top_logprobs
    chatCompletionResponseMessage:
      type: object
      description: A chat completion message generated by the model.
      properties:
        role:
          $ref: '#/components/schemas/chatCompletionResponseMessageRole'
        content:
          type: string
          description: The contents of the message.
          nullable: true
        tool_calls:
          type: array
          description: The tool calls generated by the model, such as function calls.
          items:
            $ref: '#/components/schemas/chatCompletionMessageToolCall'
        function_call:
          $ref: '#/components/schemas/chatCompletionFunctionCall'
        context:
          $ref: '#/components/schemas/azureChatExtensionsMessageContext'
    chatCompletionResponseMessageRole:
      type: string
      enum:
        - assistant
      description: The role of the author of the response message.
    chatCompletionToolChoiceOption:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



