{
  "openapi": "3.1.0",
  "info": {
    "title": "IO Intelligence",
    "version": "1.0"
  },
  "servers": [
    {
      "url": "https://api.intelligence.io.solutions"
    }
  ],
  "security": [
    {
      "sec0": []
    }
  ],
  "paths": {
    "/api/v1/chat/completions": {
      "post": {
        "tags": [
          "OpenAI Compatible Developer API"
        ],
        "summary": "Create Chat Completion",
        "operationId": "create_chat_completion_v1_chat_completions_post",
        "parameters": [
          {
            "name": "token",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "description": "JWT token",
              "title": "Token"
            },
            "description": "JWT token"
          },
          {
            "name": "Authorization",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "description": "io.net provided API Key",
              "title": "Authorization"
            },
            "description": "io.net provided API Key"
          },
          {
            "name": "x-api-key",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "description": "API key set by an SDK client",
              "title": "X-Api-Key"
            },
            "description": "API key set by an SDK client"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChatCompletionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "404": {
            "description": "Not found"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
  }
  },
  "components": {
    "securitySchemes": {
      "sec0": {
        "type": "oauth2",
        "flows": {}
      }
    },
    "schemas": {
      "JsonSchemaResponseFormat": {
        "properties": {
          "name": {
            "type": "string",
            "title": "Name"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "schema": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Schema"
          },
          "strict": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Strict"
          }
        },
        "additionalProperties": true,
        "type": "object",
        "required": [
          "name"
        ],
        "title": "JsonSchemaResponseFormat"
      },
      "ResponseFormat": {
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "text",
              "json_object",
              "json_schema"
            ],
            "title": "Type"
          },
          "json_schema": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/JsonSchemaResponseFormat"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": true,
        "type": "object",
        "required": [
          "type"
        ],
        "title": "ResponseFormat"
      },
      "VideoURL": {
        "properties": {
          "url": {
            "type": "string",
            "title": "Url"
          }
        },
        "type": "object",
        "required": [
          "url"
        ],
        "title": "VideoURL"
      },
      "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": false
          }
        },
        "additionalProperties": true,
        "type": "object",
        "title": "StreamOptions"
      },
      "BaseModel": {
        "properties": {},
        "type": "object",
        "title": "BaseModel"
      },
      "Custom": {
        "properties": {
          "input": {
            "type": "string",
            "title": "Input"
          },
          "name": {
            "type": "string",
            "title": "Name"
          }
        },
        "type": "object",
        "required": [
          "input",
          "name"
        ],
        "title": "Custom"
      },
      "CustomArgs": {
        "properties": {
          "type": {
            "type": "string",
            "const": "custom",
            "title": "Type"
          },
          "name": {
            "type": "string",
            "title": "Name",
            "description": "Unique name/ID for the custom workflow step."
          },
          "objective": {
            "type": "string",
            "title": "Objective",
            "description": "Primary objective or text prompt for the workflow."
          },
          "instructions": {
            "type": "string",
            "title": "Instructions",
            "description": "Optional instructions to be passed along."
          },
          "context": {
            "additionalProperties": true,
            "type": "object",
            "title": "Context",
            "description": "Additional context or parameters."
          }
        },
        "type": "object",
        "required": [
          "type",
          "name",
          "objective",
          "instructions"
        ],
        "title": "CustomArgs"
      },
      "CustomChatCompletionContentSimpleAudioParam": {
        "properties": {
          "audio_url": {
            "type": "string",
            "title": "Audio Url"
          }
        },
        "type": "object",
        "required": [
          "audio_url"
        ],
        "title": "CustomChatCompletionContentSimpleAudioParam",
        "description": "A simpler version of the param that only accepts a plain audio_url.\n\nExample:\n{\n    \"audio_url\": \"https://example.com/audio.mp3\"\n}"
      },
      "CustomChatCompletionContentSimpleImageParam": {
        "properties": {
          "image_url": {
            "type": "string",
            "title": "Image Url"
          }
        },
        "type": "object",
        "required": [
          "image_url"
        ],
        "title": "CustomChatCompletionContentSimpleImageParam",
        "description": "A simpler version of the param that only accepts a plain image_url.\nThis is supported by OpenAI API, although it is not documented.\n\nExample:\n{\n    \"image_url\": \"https://example.com/image.jpg\"\n}"
      },
      "CustomChatCompletionContentSimpleVideoParam": {
        "properties": {
          "video_url": {
            "type": "string",
            "title": "Video Url"
          }
        },
        "type": "object",
        "required": [
          "video_url"
        ],
        "title": "CustomChatCompletionContentSimpleVideoParam",
        "description": "A simpler version of the param that only accepts a plain audio_url.\n\nExample:\n{\n    \"video_url\": \"https://example.com/video.mp4\"\n}"
      },
      "CustomChatCompletionMessageParam": {
        "properties": {
          "role": {
            "type": "string",
            "title": "Role"
          },
          "content": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ChatCompletionContentPartTextParam"
                    },
                    {
                      "$ref": "#/components/schemas/ChatCompletionContentPartImageParam"
                    },
                    {
                      "$ref": "#/components/schemas/ChatCompletionContentPartInputAudioParam"
                    },
                    {
                      "$ref": "#/components/schemas/File"
                    },
                    {
                      "$ref": "#/components/schemas/ChatCompletionContentPartAudioParam"
                    },
                    {
                      "$ref": "#/components/schemas/ChatCompletionContentPartVideoParam"
                    },
                    {
                      "$ref": "#/components/schemas/ChatCompletionContentPartRefusalParam"
                    },
                    {
                      "$ref": "#/components/schemas/CustomChatCompletionContentSimpleImageParam"
                    },
                    {
                      "$ref": "#/components/schemas/CustomChatCompletionContentSimpleAudioParam"
                    },
                    {
                      "$ref": "#/components/schemas/CustomChatCompletionContentSimpleVideoParam"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "type": "array"
              }
            ],
            "title": "Content"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "tool_call_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tool Call Id"
          },
          "tool_calls": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/ChatCompletionMessageFunctionToolCallParam"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tool Calls"
          }
        },
        "type": "object",
        "required": [
          "role"
        ],
        "title": "CustomChatCompletionMessageParam",
        "description": "Enables custom roles in the Chat Completion API."
      },
      "ImageURL": {
        "properties": {
          "url": {
            "type": "string",
            "title": "Url"
          },
          "detail": {
            "type": "string",
            "enum": [
              "auto",
              "low",
              "high"
            ],
            "title": "Detail"
          }
        },
        "type": "object",
        "required": [
          "url"
        ],
        "title": "ImageURL"
      },
      "InputAudio": {
        "properties": {
          "data": {
            "type": "string",
            "title": "Data"
          },
          "format": {
            "type": "string",
            "enum": [
              "wav",
              "mp3"
            ],
            "title": "Format"
          }
        },
        "type": "object",
        "required": [
          "data",
          "format"
        ],
        "title": "InputAudio"
      },
      "Audio": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          }
        },
        "type": "object",
        "required": [
          "id"
        ],
        "title": "Audio"
      },
      "AudioURL": {
        "properties": {
          "url": {
            "type": "string",
            "title": "Url"
          }
        },
        "type": "object",
        "required": [
          "url"
        ],
        "title": "AudioURL"
      },
      "AudioSpeechRequest": {
        "properties": {
          "model": {
            "type": "string",
            "title": "Model",
            "description": "ID of the model to use for generating speech"
          },
          "input": {
            "type": "string",
            "maxLength": 4096,
            "minLength": 1,
            "title": "Input",
            "description": "The text to generate audio for. The maximum length is 4096 characters."
          },
          "voice": {
            "type": "string",
            "title": "Voice",
            "description": "The voice to use when generating the audio. Supported voices are `alloy`, `echo`, `fable`, `onyx`, `nova`, and `shimmer`. Previews of the voices are available in the Text to speech guide."
          },
          "response_format": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "mp3",
                  "opus",
                  "aac",
                  "flac",
                  "wav",
                  "pcm"
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Response Format",
            "description": "The format to audio in. Supported formats are `mp3`, `opus`, `aac`, `flac`, `wav`, and `pcm`.",
            "default": "mp3"
          },
          "speed": {
            "anyOf": [
              {
                "type": "number",
                "maximum": 4,
                "minimum": 0.25
              },
              {
                "type": "null"
              }
            ],
            "title": "Speed",
            "description": "The speed of the generated audio. Select a value from `0.25` to `4.0`. `1.0` is the default.",
            "default": 1
          }
        },
        "additionalProperties": true,
        "type": "object",
        "required": [
          "model",
          "input",
          "voice"
        ],
        "title": "AudioSpeechRequest",
        "description": "Text-to-Speech generation request matching OpenAI API specification.\nhttps://platform.openai.com/docs/api-reference/audio/createSpeech"
      },
      "AudioTranscriptionResponse": {
        "properties": {
          "text": {
            "type": "string",
            "title": "Text",
            "description": "The transcribed text."
          }
        },
        "additionalProperties": true,
        "type": "object",
        "required": [
          "text"
        ],
        "title": "AudioTranscriptionResponse",
        "description": "Response for audio transcription following OpenAI API specification.\nThe actual response format depends on the response_format parameter in the request."
      },
      "File": {
        "properties": {
          "file": {
            "$ref": "#/components/schemas/FileFile"
          },
          "type": {
            "type": "string",
            "const": "file",
            "title": "Type"
          }
        },
        "type": "object",
        "required": [
          "file",
          "type"
        ],
        "title": "File"
      },
      "FileFile": {
        "properties": {
          "file_data": {
            "type": "string",
            "title": "File Data"
          },
          "file_id": {
            "type": "string",
            "title": "File Id"
          },
          "filename": {
            "type": "string",
            "title": "Filename"
          }
        },
        "type": "object",
        "title": "FileFile"
      },
      "Function": {
        "properties": {
          "arguments": {
            "type": "string",
            "title": "Arguments"
          },
          "name": {
            "type": "string",
            "title": "Name"
          }
        },
        "type": "object",
        "required": [
          "arguments",
          "name"
        ],
        "title": "Function"
      },
      "FunctionCall": {
        "properties": {
          "arguments": {
            "type": "string",
            "title": "Arguments"
          },
          "name": {
            "type": "string",
            "title": "Name"
          }
        },
        "type": "object",
        "required": [
          "arguments",
          "name"
        ],
        "title": "FunctionCall"
      },
      "FunctionDefinition": {
        "properties": {
          "name": {
            "type": "string",
            "title": "Name"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "parameters": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Parameters"
          }
        },
        "additionalProperties": true,
        "type": "object",
        "required": [
          "name"
        ],
        "title": "FunctionDefinition"
      },
      "ChatCompletionAssistantMessageParam": {
        "properties": {
          "role": {
            "type": "string",
            "const": "assistant",
            "title": "Role"
          },
          "audio": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Audio"
              },
              {
                "type": "null"
              }
            ]
          },
          "content": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ChatCompletionContentPartTextParam"
                    },
                    {
                      "$ref": "#/components/schemas/ChatCompletionContentPartRefusalParam"
                    }
                  ]
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Content"
          },
          "function_call": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/FunctionCall"
              },
              {
                "type": "null"
              }
            ]
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "refusal": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Refusal"
          },
          "tool_calls": {
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ChatCompletionMessageFunctionToolCallParam"
                },
                {
                  "$ref": "#/components/schemas/ChatCompletionMessageCustomToolCallParam"
                }
              ]
            },
            "type": "array",
            "title": "Tool Calls"
          }
        },
        "type": "object",
        "required": [
          "role"
        ],
        "title": "ChatCompletionAssistantMessageParam"
      },
      "ChatCompletionContentPartAudioParam": {
        "properties": {
          "audio_url": {
            "$ref": "#/components/schemas/AudioURL"
          },
          "type": {
            "type": "string",
            "const": "audio_url",
            "title": "Type"
          }
        },
        "type": "object",
        "required": [
          "audio_url",
          "type"
        ],
        "title": "ChatCompletionContentPartAudioParam"
      },
      "ChatCompletionContentPartImageParam": {
        "properties": {
          "image_url": {
            "$ref": "#/components/schemas/ImageURL"
          },
          "type": {
            "type": "string",
            "const": "image_url",
            "title": "Type"
          }
        },
        "type": "object",
        "required": [
          "image_url",
          "type"
        ],
        "title": "ChatCompletionContentPartImageParam"
      },
      "ChatCompletionContentPartInputAudioParam": {
        "properties": {
          "input_audio": {
            "$ref": "#/components/schemas/InputAudio"
          },
          "type": {
            "type": "string",
            "const": "input_audio",
            "title": "Type"
          }
        },
        "type": "object",
        "required": [
          "input_audio",
          "type"
        ],
        "title": "ChatCompletionContentPartInputAudioParam"
      },
      "ChatCompletionContentPartRefusalParam": {
        "properties": {
          "refusal": {
            "type": "string",
            "title": "Refusal"
          },
          "type": {
            "type": "string",
            "const": "refusal",
            "title": "Type"
          }
        },
        "type": "object",
        "required": [
          "refusal",
          "type"
        ],
        "title": "ChatCompletionContentPartRefusalParam"
      },
      "ChatCompletionContentPartTextParam": {
        "properties": {
          "text": {
            "type": "string",
            "title": "Text"
          },
          "type": {
            "type": "string",
            "const": "text",
            "title": "Type"
          }
        },
        "type": "object",
        "required": [
          "text",
          "type"
        ],
        "title": "ChatCompletionContentPartTextParam"
      },
      "ChatCompletionContentPartVideoParam": {
        "properties": {
          "video_url": {
            "$ref": "#/components/schemas/VideoURL"
          },
          "type": {
            "type": "string",
            "const": "video_url",
            "title": "Type"
          }
        },
        "type": "object",
        "required": [
          "video_url",
          "type"
        ],
        "title": "ChatCompletionContentPartVideoParam"
      },
      "ChatCompletionDeveloperMessageParam": {
        "properties": {
          "content": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/components/schemas/ChatCompletionContentPartTextParam"
                },
                "type": "array"
              }
            ],
            "title": "Content"
          },
          "role": {
            "type": "string",
            "const": "developer",
            "title": "Role"
          },
          "name": {
            "type": "string",
            "title": "Name"
          }
        },
        "type": "object",
        "required": [
          "content",
          "role"
        ],
        "title": "ChatCompletionDeveloperMessageParam"
      },
      "ChatCompletionFunctionMessageParam": {
        "properties": {
          "content": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Content"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "role": {
            "type": "string",
            "const": "function",
            "title": "Role"
          }
        },
        "type": "object",
        "required": [
          "content",
          "name",
          "role"
        ],
        "title": "ChatCompletionFunctionMessageParam"
      },
      "ChatCompletionMessageCustomToolCallParam": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "custom": {
            "$ref": "#/components/schemas/Custom"
          },
          "type": {
            "type": "string",
            "const": "custom",
            "title": "Type"
          }
        },
        "type": "object",
        "required": [
          "id",
          "custom",
          "type"
        ],
        "title": "ChatCompletionMessageCustomToolCallParam"
      },
      "ChatCompletionMessageFunctionToolCallParam": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "function": {
            "$ref": "#/components/schemas/Function"
          },
          "type": {
            "type": "string",
            "const": "function",
            "title": "Type"
          }
        },
        "type": "object",
        "required": [
          "id",
          "function",
          "type"
        ],
        "title": "ChatCompletionMessageFunctionToolCallParam"
      },
      "ChatCompletionNamedFunction": {
        "properties": {
          "name": {
            "type": "string",
            "title": "Name"
          }
        },
        "additionalProperties": true,
        "type": "object",
        "required": [
          "name"
        ],
        "title": "ChatCompletionNamedFunction"
      },
      "ChatCompletionNamedToolChoiceParam": {
        "properties": {
          "function": {
            "$ref": "#/components/schemas/ChatCompletionNamedFunction"
          },
          "type": {
            "type": "string",
            "const": "function",
            "title": "Type",
            "default": "function"
          }
        },
        "additionalProperties": true,
        "type": "object",
        "required": [
          "function"
        ],
        "title": "ChatCompletionNamedToolChoiceParam"
      },
      "ChatCompletionRequest": {
        "properties": {
          "messages": {
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ChatCompletionDeveloperMessageParam"
                },
                {
                  "$ref": "#/components/schemas/ChatCompletionSystemMessageParam"
                },
                {
                  "$ref": "#/components/schemas/ChatCompletionUserMessageParam"
                },
                {
                  "$ref": "#/components/schemas/ChatCompletionAssistantMessageParam"
                },
                {
                  "$ref": "#/components/schemas/ChatCompletionToolMessageParam"
                },
                {
                  "$ref": "#/components/schemas/ChatCompletionFunctionMessageParam"
                },
                {
                  "$ref": "#/components/schemas/CustomChatCompletionMessageParam"
                }
              ]
            },
            "type": "array",
            "minItems": 1,
            "title": "Messages",
            "description": "The conversation history"
          },
          "model": {
            "type": "string",
            "title": "Model"
          },
          "frequency_penalty": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Frequency Penalty",
            "default": 0
          },
          "logit_bias": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "number"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Logit Bias"
          },
          "logprobs": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Logprobs",
            "default": false
          },
          "top_logprobs": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Top Logprobs"
          },
          "max_tokens": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Tokens",
            "deprecated": true
          },
          "max_completion_tokens": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Completion Tokens"
          },
          "n": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 20,
                "minimum": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "N",
            "default": 1
          },
          "presence_penalty": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Presence Penalty",
            "default": 0
          },
          "response_format": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ResponseFormat"
              },
              {
                "type": "null"
              }
            ]
          },
          "seed": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Seed"
          },
          "stop": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Stop"
          },
          "stream": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Stream",
            "default": false
          },
          "stream_options": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/StreamOptions"
              },
              {
                "type": "null"
              }
            ]
          },
          "temperature": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Temperature",
            "default": 0.7
          },
          "top_p": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Top P",
            "default": 1
          },
          "tools": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/ChatCompletionToolsParam"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tools"
          },
          "tool_choice": {
            "anyOf": [
              {
                "type": "string",
                "const": "none"
              },
              {
                "type": "string",
                "const": "auto"
              },
              {
                "type": "string",
                "const": "required"
              },
              {
                "$ref": "#/components/schemas/ChatCompletionNamedToolChoiceParam"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tool Choice",
            "default": "none"
          },
          "parallel_tool_calls": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Parallel Tool Calls",
            "default": false
          },
          "user": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "User"
          },
          "best_of": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Best Of"
          },
          "use_beam_search": {
            "type": "boolean",
            "title": "Use Beam Search",
            "default": false
          },
          "top_k": {
            "type": "integer",
            "title": "Top K",
            "default": -1
          },
          "min_p": {
            "type": "number",
            "title": "Min P",
            "default": 0
          },
          "repetition_penalty": {
            "type": "number",
            "title": "Repetition Penalty",
            "default": 1
          },
          "length_penalty": {
            "type": "number",
            "title": "Length Penalty",
            "default": 1
          },
          "stop_token_ids": {
            "anyOf": [
              {
                "items": {
                  "type": "integer"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Stop Token Ids"
          },
          "include_stop_str_in_output": {
            "type": "boolean",
            "title": "Include Stop Str In Output",
            "default": false
          },
          "ignore_eos": {
            "type": "boolean",
            "title": "Ignore Eos",
            "default": false
          },
          "min_tokens": {
            "type": "integer",
            "title": "Min Tokens",
            "default": 0
          },
          "skip_special_tokens": {
            "type": "boolean",
            "title": "Skip Special Tokens",
            "default": true
          },
          "spaces_between_special_tokens": {
            "type": "boolean",
            "title": "Spaces Between Special Tokens",
            "default": true
          },
          "truncate_prompt_tokens": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Truncate Prompt Tokens"
          },
          "prompt_logprobs": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Prompt Logprobs"
          },
          "echo": {
            "type": "boolean",
            "title": "Echo",
            "description": "If true, the new message will be prepended with the last message if they belong to the same role.",
            "default": false
          },
          "add_generation_prompt": {
            "type": "boolean",
            "title": "Add Generation Prompt",
            "description": "If true, the generation prompt will be added to the chat template. This is a parameter used by chat template in tokenizer config of the model.",
            "default": true
          },
          "continue_final_message": {
            "type": "boolean",
            "title": "Continue Final Message",
            "description": "If this is set, the chat will be formatted so that the final message in the chat is open-ended, without any EOS tokens. The model will continue this message rather than starting a new one. This allows you to \"prefill\" part of the model's response for it. Cannot be used at the same time as `add_generation_prompt`.",
            "default": false
          },
          "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": [
              {
                "additionalProperties": true,
                "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_json": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "$ref": "#/components/schemas/BaseModel"
              },
              {
                "type": "null"
              }
            ],
            "title": "Guided Json",
            "description": "If specified, the output will follow the JSON schema."
          },
          "guided_regex": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Guided Regex",
            "description": "If specified, the output will follow the regex pattern."
          },
          "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_grammar": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Guided Grammar",
            "description": "If specified, the output will follow the context free grammar."
          },
          "guided_decoding_backend": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Guided Decoding Backend",
            "description": "If specified, will override the default guided decoding backend of the server for this specific request. If set, must be either 'outlines' / 'lm-format-enforcer'"
          },
          "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."
          },
          "priority": {
            "type": "integer",
            "title": "Priority",
            "description": "The priority of the request (lower means earlier handling; default: 0). Any priority other than 0 will raise an error if the served model does not use priority scheduling.",
            "default": 0
          },
          "request_id": {
            "type": "string",
            "title": "Request Id",
            "description": "The request_id related to this request. If the caller does not set it, a random_uuid will be generated. This id is used through out the inference process and return in response."
          }
        },
        "additionalProperties": true,
        "type": "object",
        "required": [
          "messages",
          "model"
        ],
        "title": "ChatCompletionRequest"
      },
      "ChatCompletionToolMessageParam": {
        "properties": {
          "content": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/components/schemas/ChatCompletionContentPartTextParam"
                },
                "type": "array"
              }
            ],
            "title": "Content"
          },
          "role": {
            "type": "string",
            "const": "tool",
            "title": "Role"
          },
          "tool_call_id": {
            "type": "string",
            "title": "Tool Call Id"
          }
        },
        "type": "object",
        "required": [
          "content",
          "role",
          "tool_call_id"
        ],
        "title": "ChatCompletionToolMessageParam"
      },
      "ChatCompletionToolsParam": {
        "properties": {
          "type": {
            "type": "string",
            "const": "function",
            "title": "Type",
            "default": "function"
          },
          "function": {
            "$ref": "#/components/schemas/FunctionDefinition"
          }
        },
        "additionalProperties": true,
        "type": "object",
        "required": [
          "function"
        ],
        "title": "ChatCompletionToolsParam"
      },
      "ChatCompletionUserMessageParam": {
        "properties": {
          "content": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/ChatCompletionContentPartTextParam"
                    },
                    {
                      "$ref": "#/components/schemas/ChatCompletionContentPartImageParam"
                    },
                    {
                      "$ref": "#/components/schemas/ChatCompletionContentPartInputAudioParam"
                    },
                    {
                      "$ref": "#/components/schemas/File"
                    }
                  ]
                },
                "type": "array"
              }
            ],
            "title": "Content"
          },
          "role": {
            "type": "string",
            "const": "user",
            "title": "Role"
          },
          "name": {
            "type": "string",
            "title": "Name"
          }
        },
        "type": "object",
        "required": [
          "content",
          "role"
        ],
        "title": "ChatCompletionUserMessageParam"
      },
      "ChatCompletionSystemMessageParam": {
        "properties": {
          "content": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "$ref": "#/components/schemas/ChatCompletionContentPartTextParam"
                },
                "type": "array"
              }
            ],
            "title": "Content"
          },
          "role": {
            "type": "string",
            "const": "system",
            "title": "Role"
          },
          "name": {
            "type": "string",
            "title": "Name"
          }
        },
        "type": "object",
        "required": [
          "content",
          "role"
        ],
        "title": "ChatCompletionSystemMessageParam"
      },
      "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"
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
          }
        },
        "type": "object",
        "title": "HTTPValidationError"
      }
    }
  }
}