# This file is generated by extract-openapi.py and should not be changed by hand.
openapi: 3.1.0
info:
  title: NVIDIA NIM for VLMs
  summary: Accelerated VLM inference for NVIDIA GPUs.
  version: 1.1.2
paths:
  /v1/health/ready:
    get:
      summary: Service ready check
      description: This endpoint will return a 200 status when the service is ready
        to receive inference requests
      operationId: health_v1_health_ready_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NIMHealthSuccessResponse'
        '503':
          description: Service is not ready to receive requests.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/health/live:
    get:
      summary: Service liveness check
      description: This endpoint will return a 200 status as soon as the service is
        able to accept traffic, but it does not mean the service is ready to accept
        inference requests.
      operationId: health_ready_v1_health_live_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NIMHealthSuccessResponse'
  /v1/models:
    get:
      summary: List available models
      description: This endpoint will return a list of models available for inference.
        When the NIM is set up to serve customizations (e.g. LoRAs) this will also
        return the customizations available as models.
      operationId: show_available_models_v1_models_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelList'
  /v1/license:
    get:
      summary: Provide NIM LICENSE
      description: This endpoint will return the NIM Container license information
      operationId: show_license_v1_license_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NIMLicenseInfoResponse'
  /v1/metadata:
    get:
      summary: Provide NIM Metadata
      description: This endpoint will return the NIM Container Version, associated
        models, assets and license information
      operationId: show_metadata_v1_metadata_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NIMMetadataResponse'
  /v1/version:
    get:
      summary: Returns version information about this NIM
      description: The `release` attribute corresponds to the product release version
        of the NIM. The `api` attribute is the semver API version running inside the
        NIM.
      operationId: show_version_v1_version_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NIMLLMVersionResponse'
  /v1/chat/completions:
    post:
      summary: OpenAI-compatible chat endpoint
      operationId: create_chat_completion_v1_chat_completions_post
      parameters:
      - name: content-type
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Content-Type
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NIMLLMChatCompletionRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/vllm__entrypoints__openai__protocol__ChatCompletionResponse'
                - $ref: '#/components/schemas/ChatCompletionStreamResponse'
                title: Response Create Chat Completion V1 Chat Completions Post
        '400':
          description: Received an invalid request possibly containing unsupported
            or out-of-range parameter values.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: The requested model does not exist.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '415':
          description: Unsupported Media Type
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /inference/chat_completion:
    post:
      summary: Llama Stack-compatible chat endpoint
      operationId: create_llama_stack_chat_completion_inference_chat_completion_post
      parameters:
      - name: content-type
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Content-Type
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChatCompletionRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/vllm_nvext__entrypoints__llamastack__protocol__ChatCompletionResponse'
                - $ref: '#/components/schemas/ChatCompletionResponseStreamChunk'
                title: Response Create Llama Stack Chat Completion Inference Chat
                  Completion Post
        '400':
          description: Received an invalid request possibly containing unsupported
            or out-of-range parameter values.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LSErrorResponse'
        '403':
          description: Permission Denied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LSErrorResponse'
        '500':
          description: 'Internal server error: An unexpected error occurred.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LSErrorResponse'
        '504':
          description: Operation Timed Out
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LSErrorResponse'
        '501':
          description: Not implemented
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LSErrorResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    BaseModel:
      properties: {}
      type: object
      title: BaseModel
    BuiltinTool:
      type: string
      enum:
      - brave_search
      - wolfram_alpha
      - photogen
      - code_interpreter
      title: BuiltinTool
    ChatCompletionLogProb:
      properties:
        token:
          type: string
          title: Token
        logprob:
          type: number
          title: Logprob
          default: -9999.0
        bytes:
          anyOf:
          - items:
              type: integer
            type: array
          - type: 'null'
          title: Bytes
      additionalProperties: false
      type: object
      required:
      - token
      title: ChatCompletionLogProb
    ChatCompletionLogProbs:
      properties:
        content:
          anyOf:
          - items:
              $ref: '#/components/schemas/ChatCompletionLogProbsContent'
            type: array
          - type: 'null'
          title: Content
      additionalProperties: false
      type: object
      title: ChatCompletionLogProbs
    ChatCompletionLogProbsContent:
      properties:
        token:
          type: string
          title: Token
        logprob:
          type: number
          title: Logprob
          default: -9999.0
        bytes:
          anyOf:
          - items:
              type: integer
            type: array
          - type: 'null'
          title: Bytes
        top_logprobs:
          items:
            $ref: '#/components/schemas/ChatCompletionLogProb'
          type: array
          title: Top Logprobs
      additionalProperties: false
      type: object
      required:
      - token
      title: ChatCompletionLogProbsContent
    ChatCompletionNamedFunction:
      properties:
        name:
          type: string
          title: Name
      additionalProperties: false
      type: object
      required:
      - name
      title: ChatCompletionNamedFunction
    ChatCompletionNamedToolChoiceParam:
      properties:
        function:
          $ref: '#/components/schemas/ChatCompletionNamedFunction'
        type:
          type: string
          enum:
          - function
          const: function
          title: Type
          default: function
      additionalProperties: false
      type: object
      required:
      - function
      title: ChatCompletionNamedToolChoiceParam
    ChatCompletionRequest:
      properties:
        model:
          type: string
          title: Model
          description: The model to use.
        messages:
          items:
            oneOf:
            - $ref: '#/components/schemas/UserMessage'
            - $ref: '#/components/schemas/SystemMessage'
            - $ref: '#/components/schemas/CompletionMessage'
            discriminator:
              propertyName: role
              mapping:
                assistant: '#/components/schemas/CompletionMessage'
                system: '#/components/schemas/SystemMessage'
                user: '#/components/schemas/UserMessage'
          type: array
          title: Messages
          description: A list of messages comprising the conversation so far.
        sampling_params:
          anyOf:
          - $ref: '#/components/schemas/SamplingParams'
          - type: 'null'
          default:
            strategy: greedy
            temperature: 0.5
            top_p: 1.0
            top_k: -1
            max_tokens: 0
            repetition_penalty: 1.0
        stream:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Stream
          description: If set, partial message deltas will be sent. Tokens will be
            sent as data-only [server-sent events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#Event_stream_format)
            as they become available.
          default: false
        logprobs:
          anyOf:
          - $ref: '#/components/schemas/LogProbConfig'
          - type: 'null'
          description: To set, specify as a `LogProbConfig` object to return log probabilities
            of top k tokens in logprobs field of response
      additionalProperties: false
      type: object
      required:
      - model
      - messages
      title: ChatCompletionRequest
    ChatCompletionResponseChoice:
      properties:
        index:
          type: integer
          title: Index
        message:
          $ref: '#/components/schemas/ChatMessage'
        logprobs:
          anyOf:
          - $ref: '#/components/schemas/ChatCompletionLogProbs'
          - type: 'null'
        finish_reason:
          anyOf:
          - type: string
            enum:
            - stop
            - length
            - tool_calls
          - type: 'null'
          title: Finish Reason
          default: stop
        stop_reason:
          anyOf:
          - type: integer
          - type: string
          - type: 'null'
          title: Stop Reason
      additionalProperties: false
      type: object
      required:
      - index
      - message
      title: ChatCompletionResponseChoice
    ChatCompletionResponseEvent:
      properties:
        event_type:
          $ref: '#/components/schemas/ChatCompletionResponseEventType'
        delta:
          type: string
          title: Delta
        logprobs:
          anyOf:
          - items:
              $ref: '#/components/schemas/TokenLogProbs'
            type: array
          - type: 'null'
          title: Logprobs
        stop_reason:
          anyOf:
          - $ref: '#/components/schemas/StopReason'
          - type: 'null'
      additionalProperties: false
      type: object
      required:
      - event_type
      - delta
      title: ChatCompletionResponseEvent
      description: Chat completion response event.
    ChatCompletionResponseEventType:
      type: string
      enum:
      - start
      - complete
      - progress
      title: ChatCompletionResponseEventType
    ChatCompletionResponseStreamChoice:
      properties:
        index:
          type: integer
          title: Index
        delta:
          $ref: '#/components/schemas/DeltaMessage'
        logprobs:
          anyOf:
          - $ref: '#/components/schemas/ChatCompletionLogProbs'
          - type: 'null'
        finish_reason:
          anyOf:
          - type: string
            enum:
            - stop
            - length
            - tool_calls
          - type: 'null'
          title: Finish Reason
        stop_reason:
          anyOf:
          - type: integer
          - type: string
          - type: 'null'
          title: Stop Reason
      additionalProperties: false
      type: object
      required:
      - index
      - delta
      title: ChatCompletionResponseStreamChoice
    ChatCompletionResponseStreamChunk:
      properties:
        event:
          $ref: '#/components/schemas/ChatCompletionResponseEvent'
      type: object
      required:
      - event
      title: ChatCompletionResponseStreamChunk
      description: SSE-stream of these events.
    ChatCompletionStreamResponse:
      properties:
        id:
          type: string
          title: Id
        object:
          type: string
          enum:
          - chat.completion.chunk
          const: chat.completion.chunk
          title: Object
          default: chat.completion.chunk
        created:
          type: integer
          title: Created
        model:
          type: string
          title: Model
        choices:
          items:
            $ref: '#/components/schemas/ChatCompletionResponseStreamChoice'
          type: array
          title: Choices
        usage:
          anyOf:
          - $ref: '#/components/schemas/UsageInfo'
          - type: 'null'
      additionalProperties: false
      type: object
      required:
      - model
      - choices
      title: ChatCompletionStreamResponse
    ChatCompletionToolsParam:
      properties:
        type:
          type: string
          enum:
          - function
          const: function
          title: Type
          default: function
        function:
          $ref: '#/components/schemas/FunctionDefinition'
      additionalProperties: false
      type: object
      required:
      - function
      title: ChatCompletionToolsParam
    ChatMessage:
      properties:
        role:
          type: string
          title: Role
        content:
          anyOf:
          - type: string
          - type: 'null'
          title: Content
        tool_calls:
          anyOf:
          - items:
              $ref: '#/components/schemas/ToolCall-Output'
            type: array
          - type: 'null'
          title: Tool Calls
      additionalProperties: false
      type: object
      required:
      - role
      title: ChatMessage
    CompletionMessage:
      properties:
        role:
          type: string
          enum:
          - assistant
          const: assistant
          title: Role
          default: assistant
        content:
          anyOf:
          - type: string
          - items:
              type: string
            type: array
          title: Content
          description: The contents of the message with role =`assistant`. No image
            support
        stop_reason:
          $ref: '#/components/schemas/StopReason'
          default: The reason to stop generation.
      additionalProperties: false
      type: object
      required:
      - content
      title: CompletionMessage
    DeltaMessage:
      properties:
        role:
          anyOf:
          - type: string
          - type: 'null'
          title: Role
        content:
          anyOf:
          - type: string
          - type: 'null'
          title: Content
        tool_calls:
          anyOf:
          - items:
              $ref: '#/components/schemas/ToolCall-Output'
            type: array
          - type: 'null'
          title: Tool Calls
      additionalProperties: false
      type: object
      title: DeltaMessage
    ErrorDetail:
      properties:
        detail:
          type: string
          title: Detail
      type: object
      required:
      - detail
      title: ErrorDetail
    ErrorResponse:
      properties:
        object:
          type: string
          title: Object
          default: error
        message:
          type: string
          title: Message
        type:
          type: string
          title: Type
        param:
          anyOf:
          - type: string
          - type: 'null'
          title: Param
        code:
          type: integer
          title: Code
      additionalProperties: false
      type: object
      required:
      - message
      - type
      - code
      title: ErrorResponse
    FunctionCall:
      properties:
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
          default: ''
        arguments:
          anyOf:
          - type: string
          - type: 'null'
          title: Arguments
          default: ''
      additionalProperties: false
      type: object
      title: FunctionCall
    FunctionDefinition:
      properties:
        name:
          type: string
          title: Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        parameters:
          anyOf:
          - type: object
          - type: 'null'
          title: Parameters
      additionalProperties: false
      type: object
      required:
      - name
      title: FunctionDefinition
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ImageMedia:
      properties:
        image:
          anyOf:
          - type: string
          - $ref: '#/components/schemas/URL'
          title: Image
      type: object
      required:
      - image
      title: ImageMedia
    ImageURL:
      properties:
        url:
          type: string
          title: Url
      type: object
      required:
      - url
      title: ImageURL
    LSErrorResponse:
      properties:
        error:
          $ref: '#/components/schemas/ErrorDetail'
      type: object
      required:
      - error
      title: LSErrorResponse
    LogProbConfig:
      properties:
        top_k:
          anyOf:
          - type: integer
          - type: 'null'
          title: Top K
          default: 0
      additionalProperties: false
      type: object
      title: LogProbConfig
    Logprob:
      properties:
        logprob:
          type: number
          title: Logprob
        rank:
          anyOf:
          - type: integer
          - type: 'null'
          title: Rank
        decoded_token:
          anyOf:
          - type: string
          - type: 'null'
          title: Decoded Token
      type: object
      required:
      - logprob
      title: Logprob
    ModelCard:
      properties:
        id:
          type: string
          title: Id
        object:
          type: string
          title: Object
          default: model
        created:
          type: integer
          title: Created
        owned_by:
          type: string
          title: Owned By
          default: vllm
        root:
          anyOf:
          - type: string
          - type: 'null'
          title: Root
        parent:
          anyOf:
          - type: string
          - type: 'null'
          title: Parent
        max_model_len:
          anyOf:
          - type: integer
          - type: 'null'
          title: Max Model Len
        permission:
          items:
            $ref: '#/components/schemas/ModelPermission'
          type: array
          title: Permission
      additionalProperties: false
      type: object
      required:
      - id
      title: ModelCard
    ModelList:
      properties:
        object:
          type: string
          title: Object
          default: list
        data:
          items:
            $ref: '#/components/schemas/ModelCard'
          type: array
          title: Data
      additionalProperties: false
      type: object
      title: ModelList
    ModelPermission:
      properties:
        id:
          type: string
          title: Id
        object:
          type: string
          title: Object
          default: model_permission
        created:
          type: integer
          title: Created
        allow_create_engine:
          type: boolean
          title: Allow Create Engine
          default: false
        allow_sampling:
          type: boolean
          title: Allow Sampling
          default: true
        allow_logprobs:
          type: boolean
          title: Allow Logprobs
          default: true
        allow_search_indices:
          type: boolean
          title: Allow Search Indices
          default: false
        allow_view:
          type: boolean
          title: Allow View
          default: true
        allow_fine_tuning:
          type: boolean
          title: Allow Fine Tuning
          default: false
        organization:
          type: string
          title: Organization
          default: '*'
        group:
          anyOf:
          - type: string
          - type: 'null'
          title: Group
        is_blocking:
          type: boolean
          title: Is Blocking
          default: false
      additionalProperties: false
      type: object
      title: ModelPermission
    NIMAssetInfoResponse:
      properties:
        assetName:
          type: string
          title: Assetname
          description: The name of the asset used by NIMs.
        url:
          type: string
          title: Url
          description: The url of the asset being used.
        checksum:
          type: string
          title: Checksum
          description: The unique identifier for asset.
      type: object
      required:
      - assetName
      - url
      - checksum
      title: NIMAssetInfoResponse
    NIMHealthSuccessResponse:
      properties:
        object:
          type: string
          title: Object
          default: health.response
        message:
          type: string
          title: Message
      type: object
      required:
      - message
      title: NIMHealthSuccessResponse
    NIMLLMChatCompletionMessage:
      properties:
        role:
          $ref: '#/components/schemas/Role'
          description: The role of the message's author.
        content:
          anyOf:
          - type: string
          - items:
              anyOf:
              - $ref: '#/components/schemas/NIMVLMChatCompletionContentPartImage'
              - $ref: '#/components/schemas/NIMVLMChatCompletionContentPartText'
            type: array
          title: Content
          description: "The contents of the message.\n        <br>To pass images (only\
            \ with role=`user`):\n        <br>    - When content is a string, image\
            \ can be passed together with the text with `img` HTML tags that wraps\
            \ \n        an image URL (`<img src=\"{url}\" />`), \n        base64 encoded\
            \ image data (`<img src=\"data:image/{format};base64,{base64encodedimage}\"\
            \ />`), \n        or an NVCF asset ID (`<img src=\"data:image/{format};asset_id,{asset_id}\"\
            \ />`) \n        when the container is hosted in NVCF and the payload\
            \ exceeds 200KB.\n        <br>    - When content is a list of objects,\
            \ images can be passed as objects with type=`image_url`.\n        <br>\
            \    - In both cases, images can be PNG, JPG or JPEG.\n        <br>For\
            \ `system` and `assistant` roles, the object list format is not supported.\n\
            \        "
        tool_call_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Tool Call Id
          description: The id of the tool call.
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
          description: The name of the tool called.
        tool_calls:
          anyOf:
          - items:
              $ref: '#/components/schemas/vllm__entrypoints__openai__protocol__ToolCall'
            type: array
          - type: 'null'
          title: Tool Calls
          description: The tool(s) called by the model.
      type: object
      required:
      - role
      - content
      title: NIMLLMChatCompletionMessage
    NIMLLMChatCompletionRequest:
      properties:
        messages:
          items:
            $ref: '#/components/schemas/NIMLLMChatCompletionMessage'
          type: array
          minItems: 1
          title: Messages
          description: A list of messages comprising the conversation so far.
        model:
          type: string
          title: Model
          description: The model to use.
        frequency_penalty:
          anyOf:
          - type: number
            maximum: 2.0
            minimum: -2.0
          - type: 'null'
          title: 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.
          default: 0.0
        logit_bias:
          anyOf:
          - additionalProperties:
              type: number
            type: object
          - type: 'null'
          title: 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.
        logprobs:
          anyOf:
          - type: boolean
          - type: 'null'
          title: 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`.
          default: false
        top_logprobs:
          anyOf:
          - type: integer
            maximum: 20.0
            minimum: 1.0
          - type: 'null'
          title: Top Logprobs
          description: An integer 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.
        max_tokens:
          anyOf:
          - type: integer
            minimum: 1.0
          - type: 'null'
          title: Max Tokens
          description: The maximum number of tokens that can be generated.
        n:
          anyOf:
          - type: integer
            maximum: 128.0
            minimum: 1.0
          - type: 'null'
          title: N
          description: How many completions to generate for each prompt.
          default: 1
        presence_penalty:
          anyOf:
          - type: number
            maximum: 2.0
            minimum: -2.0
          - type: 'null'
          title: 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.
          default: 0.0
        response_format:
          anyOf:
          - $ref: '#/components/schemas/ResponseFormat'
          - type: 'null'
          description: 'An object specifying the format that the model must output.
            Setting to `{ "type": "json_object" }` enables JSON mode, which guarantees
            the message the model generates is valid JSON.'
        seed:
          anyOf:
          - type: integer
            maximum: 9.223372036854776e+18
            minimum: -9.223372036854776e+18
          - type: 'null'
          title: Seed
          description: Changing the seed will produce a different response with similar
            characteristics. Fixing the seed will reproduce the same results if all
            other parameters are also kept constant.
        stop:
          anyOf:
          - type: string
          - items:
              type: string
            type: array
          - type: 'null'
          title: Stop
          description: Sequences where the API will stop generating further tokens.
        stream:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Stream
          description: 'If set, partial message deltas will be sent, like in ChatGPT.
            Tokens will be sent as data-only [server-sent events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#Event_stream_format)
            as they become available, with the stream terminated by a `data: [DONE]`'
          default: false
        stream_options:
          anyOf:
          - $ref: '#/components/schemas/StreamOptions'
          - type: 'null'
        temperature:
          anyOf:
          - type: number
            maximum: 2.0
            minimum: 0.0
          - type: 'null'
          title: 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.
          default: 0.5
        top_p:
          anyOf:
          - type: number
            maximum: 1.0
            exclusiveMinimum: 0.0
          - type: 'null'
          title: 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.
          default: 1.0
        tools:
          anyOf:
          - items:
              $ref: '#/components/schemas/ChatCompletionToolsParam'
            type: array
          - type: 'null'
          title: Tools
        tool_choice:
          anyOf:
          - type: string
            enum:
            - none
            - auto
            - required
          - $ref: '#/components/schemas/ChatCompletionNamedToolChoiceParam'
          - type: 'null'
          title: Tool Choice
          description: Controls which (if any) tool is called by the model.
          default: none
        parallel_tool_calls:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Parallel Tool Calls
          default: true
        user:
          anyOf:
          - type: string
          - type: 'null'
          title: User
        min_p:
          type: number
          title: Min P
          default: 0.0
        prompt_logprobs:
          anyOf:
          - type: integer
          - type: 'null'
          title: Prompt Logprobs
        add_special_tokens:
          type: boolean
          title: Add Special Tokens
          description: If true, special tokens (e.g. BOS) will be added to the prompt
            on top of what is added by the chat template. For most models, the chat
            template takes care of adding the special tokens so this should be set
            to false (as is the default).
          default: false
        documents:
          anyOf:
          - items:
              additionalProperties:
                type: string
              type: object
            type: array
          - type: 'null'
          title: Documents
          description: A list of dicts representing documents that will be accessible
            to the model if it is performing RAG (retrieval-augmented generation).
            If the template does not support RAG, this argument will have no effect.
            We recommend that each document should be a dict containing "title" and
            "text" keys.
        chat_template:
          anyOf:
          - type: string
          - type: 'null'
          title: Chat Template
          description: A Jinja template to use for this conversion. As of transformers
            v4.44, default chat template is no longer allowed, so you must provide
            a chat template if the tokenizer does not define one.
        chat_template_kwargs:
          anyOf:
          - type: object
          - type: 'null'
          title: Chat Template Kwargs
          description: Additional kwargs to pass to the template renderer. Will be
            accessible by the chat template.
        guided_whitespace_pattern:
          anyOf:
          - type: string
          - type: 'null'
          title: Guided Whitespace Pattern
          description: If specified, will override the default whitespace pattern
            for guided json decoding.
        nvext:
          anyOf:
          - $ref: '#/components/schemas/NVExt'
          - type: 'null'
          description: Extension dictionary for NIM API.
      additionalProperties: false
      type: object
      required:
      - messages
      - model
      title: NIMLLMChatCompletionRequest
    NIMLLMVersionResponse:
      properties:
        release:
          type: string
          title: Release
          description: The product release version of NIM for LLMs.
        api:
          type: string
          title: Api
          description: The semver API version running inside the NIM.
      type: object
      required:
      - release
      - api
      title: NIMLLMVersionResponse
    NIMLicenseInfoResponse:
      properties:
        name:
          type: string
          title: Name
          description: The name of the NIMs license.
        path:
          type: string
          title: Path
          description: The path of the NIMs license file inside the container.
        sha:
          type: string
          title: Sha
          description: The unique identifier of the license.
        size:
          type: integer
          title: Size
          description: The size of the license file in bytes.
        url:
          type: string
          title: Url
          description: The url of the NIMs license.
        type:
          type: string
          title: Type
          description: The content type of the license.
        content:
          type: string
          title: Content
          description: The content inside the NIMs license file.
      type: object
      required:
      - name
      - path
      - sha
      - size
      - url
      - type
      - content
      title: NIMLicenseInfoResponse
    NIMMetadataResponse:
      properties:
        version:
          $ref: '#/components/schemas/NIMLLMVersionResponse'
          description: The product release version information of NIM for LLMs
        modelInfo:
          items:
            $ref: '#/components/schemas/NIMModelInfoResponse'
          type: array
          title: Modelinfo
          description: The list of information of models being served inside NIMs
            container
          default: []
        assetInfo:
          items:
            $ref: '#/components/schemas/NIMAssetInfoResponse'
          type: array
          title: Assetinfo
          description: The list of different assets used by the NIMs
          default: []
        licenseInfo:
          $ref: '#/components/schemas/NIMLicenseInfoResponse'
          description: The information of the license of released NIMs
      type: object
      required:
      - version
      - licenseInfo
      title: NIMMetadataResponse
    NIMModelInfoResponse:
      properties:
        shortName:
          type: string
          title: Shortname
          description: The name of the model served by NIMs
        modelUrl:
          type: string
          title: Modelurl
          description: The URL from which the model is downloaded.
      type: object
      required:
      - shortName
      - modelUrl
      title: NIMModelInfoResponse
    NIMVLMChatCompletionContentPartImage:
      properties:
        image_url:
          $ref: '#/components/schemas/ImageURL'
        type:
          type: string
          enum:
          - image_url
          const: image_url
          title: Type
      type: object
      required:
      - image_url
      - type
      title: NIMVLMChatCompletionContentPartImage
    NIMVLMChatCompletionContentPartText:
      properties:
        text:
          type: string
          title: Text
        type:
          type: string
          enum:
          - text
          const: text
          title: Type
      type: object
      required:
      - text
      - type
      title: NIMVLMChatCompletionContentPartText
    NVExt:
      properties:
        ignore_eos:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Ignore Eos
          description: Whether to ignore End of Sequence (EOS) tokens.
        repetition_penalty:
          anyOf:
          - type: number
            maximum: 2.0
            exclusiveMinimum: 0.0
          - type: 'null'
          title: Repetition Penalty
          description: How much to penalize tokens based on how frequently they occur
            in the text. A value of 1 means no penalty, while values larger than 1
            discourage and values smaller encourage.
          default: 1.0
        top_k:
          type: integer
          minimum: -1.0
          title: Top K
          description: How many of the top tokens to sample from. Must be -1 or greater
            than or equal to 1, and cannot be null. If not set, then the default is
            -1 which disables top_k sampling (greedy).
          default: -1
        guided_choice:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Guided Choice
          description: If specified, the output will be exactly one of the choices.
        guided_json:
          anyOf:
          - type: string
          - type: object
          - $ref: '#/components/schemas/BaseModel'
          - type: 'null'
          title: Guided Json
          description: If specified, the output will follow the JSON schema. Can be
            a string, an object, a reference to a BaseModel, or null.
        guided_regex:
          anyOf:
          - type: string
          - type: 'null'
          title: Guided Regex
          description: If specified, the output will follow the regex pattern. Can
            be a string or null.
        guided_grammar:
          anyOf:
          - type: string
          - type: 'null'
          title: Guided Grammar
          description: If specified, the output will follow the context-free grammar.
            Can be a string or null.
      type: object
      title: NVExt
    ResponseFormat:
      properties:
        type:
          type: string
          enum:
          - text
          - json_object
          title: Type
          description: Must be one of `text` or `json_object`.
          example: json_object
      type: object
      required:
      - type
      title: ResponseFormat
    Role:
      type: string
      enum:
      - assistant
      - user
      - system
      - tool
      - function
      title: Role
    SamplingParams:
      properties:
        strategy:
          $ref: '#/components/schemas/SamplingStrategy'
          description: Sampling strategy for generation.
          default: greedy
        temperature:
          anyOf:
          - type: number
          - type: 'null'
          title: Temperature
          description: What sampling temperature to use. Higher values like 0.8 will
            make the output more random, while lower values like 0.2 will make it
            more focused and deterministic.
          default: 0.5
        top_p:
          anyOf:
          - type: number
          - type: 'null'
          title: 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.
          default: 1
        top_k:
          anyOf:
          - type: integer
          - type: 'null'
          title: Top K
          description: How many of the top tokens to sample from.
          default: -1
        max_tokens:
          anyOf:
          - type: integer
          - type: 'null'
          title: Max Tokens
          description: The maximum number of tokens that can be generated.
          default: 0
        repetition_penalty:
          anyOf:
          - type: number
          - type: 'null'
          title: Repetition Penalty
          description: How much to penalize tokens based on how frequently they occur
            in the text. A value of 1 means no penalty, while values larger than 1
            discourage and values smaller encourage.
          default: 1.0
      additionalProperties: false
      type: object
      title: SamplingParams
    SamplingStrategy:
      type: string
      enum:
      - greedy
      - top_p
      - top_k
      title: SamplingStrategy
    StopReason:
      type: string
      enum:
      - end_of_turn
      - end_of_message
      - out_of_tokens
      title: StopReason
    StreamOptions:
      properties:
        include_usage:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Include Usage
          default: true
        continuous_usage_stats:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Continuous Usage Stats
          default: true
      additionalProperties: false
      type: object
      title: StreamOptions
    SystemMessage:
      properties:
        role:
          type: string
          enum:
          - system
          const: system
          title: Role
          default: system
        content:
          anyOf:
          - type: string
          - items:
              type: string
            type: array
          title: Content
          description: The contents of the message with role =`system`. No image support
      additionalProperties: false
      type: object
      required:
      - content
      title: SystemMessage
    TokenLogProbs:
      properties:
        logprobs_by_token:
          additionalProperties:
            type: number
          type: object
          title: Logprobs By Token
      additionalProperties: false
      type: object
      required:
      - logprobs_by_token
      title: TokenLogProbs
    ToolCall-Output:
      properties:
        index:
          anyOf:
          - type: integer
          - type: 'null'
          title: Index
        id:
          type: string
          title: Id
        type:
          type: string
          enum:
          - function
          const: function
          title: Type
          default: function
        function:
          $ref: '#/components/schemas/FunctionCall'
      additionalProperties: false
      type: object
      required:
      - function
      title: ToolCall
    ToolChoice:
      type: string
      enum:
      - auto
      - required
      title: ToolChoice
    ToolDefinition:
      properties:
        tool_name:
          anyOf:
          - $ref: '#/components/schemas/BuiltinTool'
          - type: string
          title: Tool Name
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        parameters:
          anyOf:
          - additionalProperties:
              $ref: '#/components/schemas/ToolParamDefinition'
            type: object
          - type: 'null'
          title: Parameters
      additionalProperties: false
      type: object
      required:
      - tool_name
      title: ToolDefinition
    ToolParamDefinition:
      properties:
        param_type:
          type: string
          title: Param Type
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        required:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Required
          default: true
      additionalProperties: false
      type: object
      required:
      - param_type
      title: ToolParamDefinition
    ToolPromptFormat:
      type: string
      enum:
      - json
      - function_tag
      - python_list
      title: ToolPromptFormat
      description: "This Enum refers to the prompt format for calling custom / zero\
        \ shot tools\n\n`json` --\n    Refers to the json format for calling tools.\n\
        \    The json format takes the form like\n    {\n        \"type\": \"function\"\
        ,\n        \"function\" : {\n            \"name\": \"function_name\",\n  \
        \          \"description\": \"function_description\",\n            \"parameters\"\
        : {...}\n        }\n    }\n\n`function_tag` --\n    This is an example of\
        \ how you could define\n    your own user defined format for making tool calls.\n\
        \    The function_tag format looks like this,\n    <function=function_name>(parameters)</function>\n\
        \nThe detailed prompts for each of these formats are added to llama cli"
    URL:
      properties:
        uri:
          type: string
          title: Uri
          description: "Image data in any of the three forms:\n        <br>    - A\
            \ URL of the image.\n        <br>    - Base64 encoded image data in form\
            \ of `data:image/{format};base64,{base64encodedimage}`.\n        <br>\
            \    - An image stored as NVCF asset in form of `data:image/{format};asset_id,{asset_id}`.\n\
            \        "
      additionalProperties: false
      type: object
      required:
      - uri
      title: URL
    UsageInfo:
      properties:
        prompt_tokens:
          type: integer
          title: Prompt Tokens
          default: 0
        total_tokens:
          type: integer
          title: Total Tokens
          default: 0
        completion_tokens:
          anyOf:
          - type: integer
          - type: 'null'
          title: Completion Tokens
          default: 0
      additionalProperties: false
      type: object
      title: UsageInfo
    UserMessage:
      properties:
        role:
          type: string
          enum:
          - user
          const: user
          title: Role
          default: user
        content:
          anyOf:
          - type: string
          - $ref: '#/components/schemas/ImageMedia'
          - items:
              anyOf:
              - type: string
              - $ref: '#/components/schemas/ImageMedia'
            type: array
          title: Content
          description: "The contents of the message with role =`user`.\n        <br>\
            \    - When content is a string, image can be passed together with the\
            \ text with `img` HTML tags that wraps\n        an image URL (`<img src=\"\
            {url}\" />`),\n        base64 encoded image data (`<img src=\"data:image/{format};base64,{base64encodedimage}\"\
            \ />`),\n        or an NVCF asset ID (`<img src=\"data:image/{format};asset_id,{asset_id}\"\
            \ />`)\n        when the container is hosted in NVCF and the payload exceeds\
            \ 200KB.\n        <br>    - When content is a list of objects, images\
            \ can be passed as objects with type=`image`.\n        <br>    - In both\
            \ cases, images can be PNG, JPG or JPEG.\n        "
        context:
          anyOf:
          - type: string
          - $ref: '#/components/schemas/ImageMedia'
          - items:
              anyOf:
              - type: string
              - $ref: '#/components/schemas/ImageMedia'
            type: array
          - type: 'null'
          title: Context
      additionalProperties: false
      type: object
      required:
      - content
      title: UserMessage
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    vllm__entrypoints__openai__protocol__ChatCompletionResponse:
      properties:
        id:
          type: string
          title: Id
        object:
          type: string
          enum:
          - chat.completion
          const: chat.completion
          title: Object
          default: chat.completion
        created:
          type: integer
          title: Created
        model:
          type: string
          title: Model
        choices:
          items:
            $ref: '#/components/schemas/ChatCompletionResponseChoice'
          type: array
          title: Choices
        usage:
          $ref: '#/components/schemas/UsageInfo'
        prompt_logprobs:
          anyOf:
          - items:
              anyOf:
              - additionalProperties:
                  $ref: '#/components/schemas/Logprob'
                type: object
              - type: 'null'
            type: array
          - type: 'null'
          title: Prompt Logprobs
      additionalProperties: false
      type: object
      required:
      - model
      - choices
      - usage
      title: ChatCompletionResponse
    vllm__entrypoints__openai__protocol__ToolCall:
      properties:
        index:
          anyOf:
          - type: integer
          - type: 'null'
          title: Index
        id:
          type: string
          title: Id
        type:
          type: string
          enum:
          - function
          const: function
          title: Type
          default: function
        function:
          $ref: '#/components/schemas/FunctionCall'
      additionalProperties: false
      type: object
      required:
      - function
      title: ToolCall
    vllm_nvext__entrypoints__llamastack__protocol__ChatCompletionResponse:
      properties:
        completion_message:
          $ref: '#/components/schemas/CompletionMessage'
        logprobs:
          anyOf:
          - items:
              $ref: '#/components/schemas/TokenLogProbs'
            type: array
          - type: 'null'
          title: Logprobs
      type: object
      required:
      - completion_message
      title: ChatCompletionResponse
    vllm_nvext__entrypoints__llamastack__protocol__ToolCall:
      properties:
        call_id:
          type: string
          title: Call Id
        tool_name:
          anyOf:
          - $ref: '#/components/schemas/BuiltinTool'
          - type: string
          title: Tool Name
        arguments:
          anyOf:
          - additionalProperties:
              anyOf:
              - type: string
              - type: integer
              - type: number
              - type: boolean
              - items:
                  anyOf:
                  - type: string
                  - type: integer
                  - type: number
                  - type: boolean
                  - type: 'null'
                type: array
              - additionalProperties:
                  anyOf:
                  - type: string
                  - type: integer
                  - type: number
                  - type: boolean
                  - type: 'null'
                type: object
              - type: 'null'
            type: object
          - type: 'null'
          title: Arguments
      additionalProperties: false
      type: object
      required:
      - tool_name
      title: ToolCall
