> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mka1.com/llms.txt
> Use this file to discover all available pages before exploring further.

# [Obsoleto] Conclusões de chat para uso do SDK/client da OpenAI

> **Deprecado: Use a API de Respostas (`/api/v1/llm/responses`) em vez disso.** Endpoint de conclusão de chat compatível com OpenAI, projetado para uso com as bibliotecas cliente oficiais da OpenAI (Python, Node.js, etc.). Suporta tanto solicitações em streaming quanto não em streaming configurando o parâmetro `stream`. Este endpoint lida com a solicitação/resposta diretamente e retorna respostas no formato padrão da OpenAI. Use isso ao integrar com o código cliente existente da OpenAI. Observação: O manipulador real é registrado no nível do servidor Bun para desempenho ideal com o formato de streaming do SDK da OpenAI.



## OpenAPI

````yaml https://apigw.mka1.com/speakeasy.json?language=pt-BR post /api/v1/llm/chat/completions
openapi: 3.1.1
info:
  title: MKA1 API
  version: 1.1.0
  description: >-
    A API MKA1 é uma API RESTful que fornece acesso à plataforma MKA1. Aprenda
    como começar a usar a API e o SDK TypeScript
    [aqui](https://mka1.apidocumentation.com/guides/getting-started).
  license:
    name: Proprietário
servers:
  - url: https://apigw.mka1.com
    description: MKA1 API Gateway
  - url: /
    description: Relative server URL (configurable via SDK constructor)
security: []
tags:
  - name: Resource Authorization
    description: >-
      Gerencie permissões para recursos LLM. Crie recursos, conceda/revoque
      permissões e exclua recursos. Apenas os proprietários dos recursos podem
      conceder, revogar ou excluir permissões.
    x-displayName: Autorização de Recurso
  - name: Embeddings
    description: >-
      Endpoints da API de incorporação de texto para gerar representações
      vetoriais de texto. Crie incorporações semânticas para busca, clustering e
      correspondência de similaridade usando vários modelos de incorporação.
    x-displayName: Incorporações
  - name: Feedback
    description: >-
      API de feedback do usuário para avaliar e comentar sobre as conclusões de
      chat. Coleta de classificações de positivo/negativo e feedback detalhado
      para melhorar as respostas do modelo e acompanhar a satisfação do usuário.
    x-displayName: Feedback
  - name: Images
    description: >-
      Pontos de extremidade da API de geração de imagens para criar imagens a
      partir de descrições de texto. Gere imagens com controle sobre tamanho,
      qualidade e estilo.
    x-displayName: Imagens
  - name: MCP Vault
    description: >-
      API do cofre MCP para armazenar configurações de servidor MCP de
      propriedade do usuário e credenciais criptografadas. Os agentes
      referenciam IDs de cofre para que os segredos sejam resolvidos apenas no
      momento da execução da ferramenta.
    x-displayName: Cofre MCP
  - name: Speech
    description: >-
      Pontos de extremidade da API de fala para processamento de áudio. Converta
      texto em fala com som natural (TTS) ou transcreva fala em texto (STT) em
      diferentes idiomas.
    x-displayName: Discurso
  - name: Usage
    description: >-
      API de rastreamento de uso e análise para monitoramento do consumo de
      tokens, contagem de solicitações e análise de custos. Veja estatísticas
      detalhadas por usuário, modelo e período de tempo.
    x-displayName: Uso
  - name: Extract
    description: >-
      API de extração de dados estruturados para extrair informações de
      arquivos. Defina esquemas JSON para extrair dados estruturados de imagens,
      PDFs e documentos. Suporta modelos de esquema reutilizáveis.
    x-displayName: Extração
  - name: Text Classification
    description: >-
      API de classificação de texto para categorizar textos em rótulos
      predefinidos. Use modelos de IA para classificar o conteúdo textual para
      análise de sentimento, categorização de tópicos e moderação de conteúdo.
    x-displayName: Classificação de Texto
  - name: Responses
    description: >-
      API de respostas com agentes para criar agentes de IA com uso autônomo de
      ferramentas. Crie assistentes conversacionais que podem usar pesquisa na
      web, operações de arquivos, geração de imagens, execução de código,
      simulação de uso de computador e integrações MCP. Suporta processamento em
      segundo plano, streaming e monitoramento de status em tempo real.
    x-displayName: Respostas
  - name: Files
    description: >-
      API de gerenciamento de arquivos para upload, armazenamento e
      gerenciamento de arquivos com expiração automática e integração com S3.
      Faça upload de arquivos que podem ser usados com Assistentes,
      Armazenamentos Vetoriais e outras funcionalidades. Os arquivos são
      armazenados no S3 com metadados rastreados no PostgreSQL. Suporta limpeza
      automática de arquivos expirados.
    x-displayName: Arquivos
  - name: Vector Stores
    description: >-
      API de armazenamento de vetores para armazenar e pesquisar documentos
      usando embeddings. Crie armazenamentos de vetores, faça upload de arquivos
      com divisão automática e geração de embeddings, e realize pesquisas
      semânticas. Os arquivos são processados de forma assíncrona usando fluxos
      de trabalho Temporais para durabilidade. Suporta limpeza automática de
      armazenamentos expirados e LanceDB para armazenamento eficiente de
      vetores.
    x-displayName: Armazenamentos de Vetores
  - name: Conversations
    description: >-
      API de gerenciamento de conversas para armazenar e recuperar o estado da
      conversa durante chamadas à API de Resposta. Crie conversas, adicione
      itens (mensagens do usuário, mensagens do assistente, mensagens do
      sistema) e mantenha o histórico da conversa. Suporta rastreamento de
      metadados e gerenciamento de estado de diálogo em múltiplas interações.
    x-displayName: Conversa
  - name: Guardrails
    description: >-
      API de diretrizes de segurança de IA para configurar moderação de conteúdo
      e políticas de segurança. Configure listas de palavras proibidas, detecção
      de injeção de prompts e prevenção de vazamento de prompts do sistema. As
      diretrizes aplicam-se a todas as solicitações de uma conta e podem ser
      testadas antes da implementação.
    x-displayName: Guarda-corpos
  - name: Models
    description: >-
      API de listagem de modelos para descobrir modelos disponíveis. Retorna IDs
      de modelos, propriedade e metadados de todos os modelos registrados no
      gateway.
    x-displayName: Modelos
  - name: Skills
    description: >-
      API de habilidades para gerenciar pacotes versionados de instruções e
      arquivos seguindo o padrão de Habilidades do Agente. Crie, versionar e
      baixe pacotes de habilidades reutilizáveis que incluam manifestos SKILL.md
      para ambientes de agentes.
    x-displayName: Habilidades
  - name: Chat Completions
    description: >-
      **Obsoleto: Use a API de Respostas (`/api/v1/llm/responses`) em vez
      disso.** Endpoints de conclusão de chat com suporte para streaming,
      chamadas de ferramentas e múltiplos provedores.
    x-deprecated: true
    x-displayName: Conclusões de Bate-Papo
  - name: Batches
    x-displayName: Lotes
  - name: Evals
    x-displayName: Avaliações
  - name: Fine-Tuning
    x-displayName: Ajuste Fino
  - name: Memory Stores
    x-displayName: Armazenamentos de Memória
  - name: Prompts
    x-displayName: Sugestões
  - name: API Key
    x-displayName: Chave da API
  - name: Organization
    x-displayName: Organização
  - name: Cluster Admin
    x-displayName: Administrador do cluster
  - name: Sessions
    description: Crie, inspecione, acesse e encerre sessões de sandbox.
    x-displayName: Sessões
  - name: Browser
    description: >-
      Conecte-se às sessões do navegador através do proxy da porta do gateway.
      As sessões do navegador expõem um endpoint do Chrome DevTools Protocol na
      porta 9222.
    x-displayName: Navegador
  - name: Execution
    description: >-
      Executar comandos shell e código dentro de uma sessão de sandbox
      existente.
    x-displayName: Execução
  - name: Workspace
    description: >-
      Inspecione o manifesto do espaço de trabalho, transfira arquivos ou
      arquivos compactados e baixe artefatos gerados.
    x-displayName: Espaço de trabalho
  - name: Sandbox Usage
    description: >-
      Agregue estatísticas de uso da sandbox entre sessões, execução e operações
      do espaço de trabalho.
    x-displayName: Uso do Sandbox
  - name: Sandbox Pricing
    description: >-
      Gerenciamento de cluster-admin da tabela de preços de computação da
      sandbox usada para gastos orçados.
    x-displayName: Preço da Sandbox
  - name: Agents
    description: Crie e gerencie definições de agentes reutilizáveis.
    x-displayName: Agentes
  - name: Agent Versions
    description: >-
      Inspecione o histórico de configuração de um agente e reverta para uma
      versão anterior.
    x-displayName: Versões do Agente
  - name: Agent Runs
    description: Execute agentes salvos e inspecione os resultados da execução persistidos.
    x-displayName: Executa Agente
  - name: Agent Connectors
    description: Conecte agentes salvos a canais de mensagens externos, como o Telegram.
    x-displayName: Conectores de Agente
  - name: Agent Schedules
    description: Crie e gerencie execuções de agentes salvos agendadas ou recorrentes.
    x-displayName: Agendas de Agentes
  - name: schema-4_other
    x-displayName: outro
  - name: Budgets
    x-displayName: Orçamentos
  - name: Settings
    x-displayName: Configurações
  - name: Deployments
    description: Servidores de inferência de longa duração.
    x-displayName: Implantações
  - name: Fine-Tune Jobs
    description: Enviar, monitorar e cancelar trabalhos de fine-tuning.
    x-displayName: Trabalhos de Ajuste Fino
  - name: Container Images
    description: Imagens de contêiner personalizadas para implantações e jobs.
    x-displayName: Imagens de contêineres
  - name: Serving Models
    description: Modelos registrados para implantação e ajuste fino.
    x-displayName: Servindo Modelos
  - name: Volumes
    description: Armazenamento persistente para pesos e checkpoints.
    x-displayName: Volumes
  - name: Secrets
    description: Credenciais injetadas em seus workloads.
    x-displayName: Segredos
  - name: Accelerators
    description: Tipos de aceleradores disponíveis (GPU, NPU, TPU).
    x-displayName: Aceleradores
paths:
  /api/v1/llm/chat/completions:
    post:
      tags:
        - Chat Completions
      summary: '[Obsoleto] Conclusões de chat para uso do SDK/client da OpenAI'
      description: >-
        **Deprecado: Use a API de Respostas (`/api/v1/llm/responses`) em vez
        disso.** Endpoint de conclusão de chat compatível com OpenAI, projetado
        para uso com as bibliotecas cliente oficiais da OpenAI (Python, Node.js,
        etc.). Suporta tanto solicitações em streaming quanto não em streaming
        configurando o parâmetro `stream`. Este endpoint lida com a
        solicitação/resposta diretamente e retorna respostas no formato padrão
        da OpenAI. Use isso ao integrar com o código cliente existente da
        OpenAI. Observação: O manipulador real é registrado no nível do servidor
        Bun para desempenho ideal com o formato de streaming do SDK da OpenAI.
      operationId: createChatCompletion
      parameters:
        - name: X-On-Behalf-Of
          in: header
          required: false
          schema:
            type: string
          description: Optional external end-user identifier forwarded by the API gateway.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OpenAIChatCompletionRequestParams'
            example:
              model: meetkai:functionary-urdu-mini-pak
              messages:
                - role: user
                  content: What is the capital of France?
              temperature: 0.7
              max_tokens: 100
      responses:
        '200':
          description: >-
            Resposta de conclusão de chat bem-sucedida. Retorna JSON para não
            streaming (stream=false) ou Eventos Enviados pelo Servidor para
            streaming (stream=true).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenAIChatCompletion'
              example:
                id: chatcmpl-abc123
                object: chat.completion
                created: 1704067200
                model: meetkai:functionary-urdu-mini-pak
                choices:
                  - index: 0
                    message:
                      role: assistant
                      content: The capital of France is Paris.
                    finish_reason: stop
                usage:
                  prompt_tokens: 15
                  completion_tokens: 8
                  total_tokens: 23
            text/event-stream:
              schema:
                type: string
              example: |+
                data: {"id":"chatcmpl-abc123"}

      deprecated: true
      security:
        - bearerAuth: []
components:
  schemas:
    OpenAIChatCompletionRequestParams:
      type: object
      properties:
        model:
          type: string
          minLength: 1
          description: >-
            ID do modelo a ser utilizado. Você pode usar o formato
            provider:model ou apenas o nome do modelo com um provedor padrão.
        messages:
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/OpenAIRequestMessage'
          description: >-
            Uma lista de mensagens que compreende a conversa até agora. Pelo
            menos uma mensagem é necessária.
        tools:
          type: array
          items:
            $ref: '#/components/schemas/OpenAIToolDefinition'
          description: >-
            Uma lista de ferramentas que o modelo pode chamar. Use isso para
            fornecer definições de funções que o modelo pode invocar.
        tool_choice:
          anyOf:
            - const: none
              description: >-
                O modelo não chamará nenhuma ferramenta e, em vez disso, gerará
                uma mensagem.
            - const: auto
              description: >-
                O modelo pode escolher entre gerar uma mensagem ou chamar uma ou
                mais ferramentas.
            - const: required
              description: O modelo deve chamar uma ou mais ferramentas.
            - type: object
              properties:
                type:
                  const: function
                  description: >-
                    O tipo da ferramenta. Atualmente, apenas 'função' é
                    suportado.
                function:
                  type: object
                  properties:
                    name:
                      type: string
                      minLength: 1
                      description: O nome da função a ser chamada
                  required:
                    - name
                  description: A função a ser chamada
              required:
                - type
                - function
              description: Força o modelo a chamar uma função específica
          description: >-
            Controle qual (se houver) ferramenta é chamada pelo modelo.
            'nenhuma' significa que o modelo não chamará nenhuma ferramenta.
            'automático' significa que o modelo pode escolher. 'obrigatório'
            força uma chamada de ferramenta.
        stream:
          type: boolean
          description: >-
            Se definido, deltas de mensagens parciais serão enviados como
            eventos enviados pelo servidor. Nota: Este campo é ignorado pelo
            endpoint de streaming, sendo usado apenas pelos endpoints de cliente
            compatíveis com a OpenAI.
        'n':
          type: integer
          minimum: 1
          maximum: 9007199254740991
          description: >-
            Quantas opções de conclusão de chat gerar para cada mensagem de
            entrada. O padrão é 1.
        max_tokens:
          type: integer
          minimum: 1
          maximum: 9007199254740991
          description: >-
            O número máximo de tokens que podem ser gerados na conclusão do
            chat. O comprimento total dos tokens de entrada e dos tokens gerados
            é limitado pelo comprimento de contexto do modelo.
        temperature:
          type: number
          minimum: 0
          maximum: 2
          description: >-
            Qual temperatura de amostragem usar, entre 0 e 2. Valores mais
            altos, como 0,8, tornarão a saída mais aleatória, enquanto valores
            mais baixos, como 0,2, a tornarão mais focada e determinística.
        top_p:
          type: number
          minimum: 0
          maximum: 1
          description: >-
            Uma alternativa à amostragem com temperatura, chamada amostragem de
            núcleo, onde o modelo considera os resultados dos tokens com a massa
            de probabilidade top_p. Assim, 0,1 significa que apenas os tokens
            que constituem os 10% superiores da massa de probabilidade são
            considerados.
        frequency_penalty:
          type: number
          description: >-
            Número entre -2,0 e 2,0. Valores positivos penalizam novos tokens
            com base em sua frequência existente no texto até agora, diminuindo
            a probabilidade do modelo repetir a mesma linha verbatim.
        presence_penalty:
          type: number
          description: >-
            Número entre -2,0 e 2,0. Valores positivos penalizam novos tokens
            com base em sua aparição no texto até agora, aumentando a
            probabilidade do modelo de falar sobre novos tópicos.
        seed:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
          description: >-
            Se especificado, o sistema fará o melhor esforço para amostrar de
            forma determinística. O determinismo não é garantido, mas a mesma
            semente deve, tipicamente, retornar resultados semelhantes.
        stop:
          anyOf:
            - type: string
            - type: array
              maxItems: 4
              items:
                type: string
          description: >-
            Até 4 sequências nas quais a API interromperá a geração de tokens
            adicionais. O texto retornado não conterá a sequência de parada.
        response_format:
          type: object
          properties:
            type:
              anyOf:
                - type: string
                - enum:
                    - text
                    - json_object
                  type: string
              description: >-
                O tipo de formato. Use 'json_object' para habilitar o modo JSON,
                garantindo que a mensagem gerada pelo modelo seja um JSON
                válido.
            json_schema:
              type: object
              properties:
                name:
                  type: string
                schema:
                  type: object
                  propertyNames:
                    type: string
                  additionalProperties: {}
                strict:
                  type: boolean
              required:
                - name
                - schema
              description: >-
                Definição de esquema JSON para saída estruturada. Necessário
                quando o tipo é 'json_schema'.
          required:
            - type
          description: >-
            Um objeto que especifica o formato que o modelo deve retornar.
            Definir como { 'type': 'json_object' } ativa o modo JSON.
        logprobs:
          type: boolean
          description: >-
            Se deve retornar as probabilidades logarítmicas dos tokens de saída.
            Se verdadeiro, retorna as probabilidades logarítmicas de cada token
            de saída retornado no conteúdo da mensagem.
        top_logprobs:
          type: integer
          minimum: 0
          maximum: 20
          description: >-
            Um inteiro entre 0 e 20 que especifica o número de tokens mais
            prováveis a retornar em cada posição de token, cada um com uma
            probabilidade logarítmica associada. logprobs deve ser definido como
            verdadeiro se este parâmetro for utilizado.
        user:
          type: string
          description: >-
            Um identificador único representando seu usuário final, que pode
            ajudar a monitorar e detectar abusos. Também é utilizado para
            rastreamento de uso e análise.
        stream_options:
          type: object
          properties:
            include_usage:
              type: boolean
              description: >-
                Se definido, um bloco adicional com estatísticas de uso de
                tokens será transmitido antes da mensagem de dados: [DONE]. O
                campo de uso mostra o uso total de tokens para toda a
                solicitação.
          description: >-
            Opções para resposta em streaming. Defina isso apenas quando você
            definir stream: true.
        parallel_tool_calls:
          type: boolean
          default: true
          description: >-
            Se deve habilitar a chamada de funções em paralelo durante o uso da
            ferramenta.
        reasoning_effort:
          anyOf:
            - enum:
                - none
                - minimal
                - low
                - medium
                - high
                - xhigh
              type: string
            - type: 'null'
          description: >-
            Restrições de esforço no raciocínio para modelos de raciocínio.
            Menor esforço resulta em respostas mais rápidas e menos tokens de
            raciocínio. Valores suportados: 'nenhum', 'mínimo', 'baixo',
            'médio', 'alto', 'muito alto' ou nulo.
        auto_routing:
          type: boolean
          description: >-
            Quando verdadeiro, o gateway analisa a complexidade da solicitação e
            roteia automaticamente entre variantes quantizadas, MoE e densas da
            família de modelos solicitada.
      required:
        - model
        - messages
      additionalProperties: false
      description: >-
        Parâmetros de solicitação para criar uma conclusão de chat. Baseado na
        API de Conclusões de Chat da OpenAI.
      examples:
        - model: meetkai:functionary-urdu-mini-pak
          messages:
            - role: user
              content: What is the capital of France?
          temperature: 0.7
          max_tokens: 100
    OpenAIChatCompletion:
      type: object
      properties:
        id:
          type: string
          description: Um identificador único para a conclusão do chat
        object:
          const: chat.completion
          description: O tipo de objeto, sempre 'chat.completion'
        created:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
          description: >-
            O timestamp Unix (em segundos) de quando a conclusão do chat foi
            criada
        model:
          type: string
          description: O modelo usado para a conclusão do chat
        choices:
          type: array
          items:
            $ref: '#/components/schemas/OpenAIChatCompletionChoice'
          description: >-
            Uma lista de opções de conclusão de chat. Pode haver mais de uma se
            n for maior que 1.
        usage:
          type: object
          properties:
            prompt_tokens:
              type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
              description: Número de tokens no prompt
            completion_tokens:
              type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
              description: Número de tokens na conclusão gerada
            total_tokens:
              type: integer
              minimum: -9007199254740991
              maximum: 9007199254740991
              description: >-
                Número total de tokens utilizados na solicitação (prompt +
                conclusão)
            completion_tokens_details:
              type: object
              properties:
                reasoning_tokens:
                  type: integer
                  minimum: -9007199254740991
                  maximum: 9007199254740991
                  description: Número de tokens usados para raciocínio
                audio_tokens:
                  type: integer
                  minimum: -9007199254740991
                  maximum: 9007199254740991
                  description: Número de tokens usados para áudio
              description: Distribuição de tokens de conclusão por tipo
          required:
            - prompt_tokens
            - completion_tokens
            - total_tokens
          description: Estatísticas de uso para a solicitação de conclusão
        system_fingerprint:
          type: string
          description: >-
            Esta impressão digital representa a configuração de backend com a
            qual o modelo opera. Pode ser utilizada em conjunto com o parâmetro
            de solicitação seed para entender quando mudanças no backend foram
            feitas que podem impactar o determinismo.
      required:
        - id
        - object
        - created
        - model
        - choices
        - usage
      description: Representa uma resposta de conclusão de chat da API
      examples:
        - id: chatcmpl-abc123
          object: chat.completion
          created: 1704067200
          model: meetkai:functionary-urdu-mini-pak
          choices:
            - index: 0
              message:
                role: assistant
                content: The capital of France is Paris.
              finish_reason: stop
          usage:
            prompt_tokens: 15
            completion_tokens: 8
            total_tokens: 23
      example:
        id: chatcmpl-abc123
        object: chat.completion
        created: 1704067200
        model: meetkai:functionary-urdu-mini-pak
        choices:
          - index: 0
            message:
              role: assistant
              content: The capital of France is Paris.
            finish_reason: stop
        usage:
          prompt_tokens: 15
          completion_tokens: 8
          total_tokens: 23
    OpenAIRequestMessage:
      type: object
      properties:
        role:
          enum:
            - system
            - user
            - assistant
            - tool
            - developer
          type: string
          description: >-
            O papel do autor da mensagem. Determina como a mensagem é
            interpretada pelo modelo.
        name:
          type: string
          description: >-
            Um nome opcional para o participante. Para mensagens de função da
            ferramenta, este é o nome da função chamada.
        tool_call_id:
          type: string
          description: >-
            Chamada de ferramenta que esta mensagem está respondendo. Necessário
            quando o papel é 'ferramenta'.
        content:
          anyOf:
            - type: string
            - type: array
              items:
                anyOf:
                  - type: object
                    properties:
                      type:
                        const: text
                        description: >-
                          Identificador de tipo de conteúdo para conteúdo de
                          texto
                      text:
                        type: string
                        description: O conteúdo do texto a ser incluído na mensagem
                    required:
                      - type
                      - text
                  - type: object
                    properties:
                      type:
                        const: image_url
                        description: >-
                          Identificador de tipo de conteúdo para conteúdo de URL
                          de imagem
                      image_url:
                        type: object
                        properties:
                          url:
                            type: string
                            description: >-
                              A URL da imagem, ou uma URL de dados de imagem
                              codificada em base64
                          detail:
                            enum:
                              - auto
                              - low
                              - high
                            type: string
                            description: >-
                              O nível de detalhe da análise da imagem. 'baixo'
                              desativa o modo de alta resolução, 'alto' o ativa,
                              'auto' permite que o modelo decida.
                        required:
                          - url
                    required:
                      - type
                      - image_url
                  - type: object
                    properties:
                      type:
                        const: input_audio
                        description: >-
                          Identificador de tipo de conteúdo para conteúdo de
                          entrada de áudio
                      input_audio:
                        type: object
                        properties:
                          data:
                            type: string
                            description: Dados de áudio codificados em Base64
                          format:
                            enum:
                              - wav
                              - mp3
                            type: string
                            description: O formato dos dados de áudio codificados
                        required:
                          - data
                          - format
                    required:
                      - type
                      - input_audio
                  - type: object
                    properties:
                      type:
                        const: file
                        description: >-
                          Identificador de tipo de conteúdo para conteúdo de
                          arquivo
                      file:
                        anyOf:
                          - type: object
                            properties:
                              filename:
                                type: string
                                description: O nome do arquivo
                              file_data:
                                type: string
                                description: Dados de arquivo codificados em Base64
                            required:
                              - filename
                              - file_data
                          - type: object
                            properties:
                              file_id:
                                type: string
                                description: >-
                                  O identificador único de um arquivo
                                  previamente enviado
                              filename:
                                type: string
                                description: Substituição opcional do nome do arquivo
                            required:
                              - file_id
                        description: >-
                          O arquivo a ser incluído na mensagem, seja como dados
                          brutos ou por referência.
                    required:
                      - type
                      - file
                description: >-
                  Uma parte de conteúdo que pode ser incluída em uma mensagem.
                  Suporta texto, imagens, áudio e arquivos.
            - type: 'null'
          description: >-
            O conteúdo da mensagem. Pode ser uma string, um array de partes de
            conteúdo (para entradas multimodais) ou nulo para mensagens de
            assistente com chamadas de ferramenta.
        tool_calls:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                description: A ID da chamada da ferramenta
              type:
                const: function
                description: O tipo da ferramenta. Atualmente, apenas 'função' é suportado.
              function:
                type: object
                properties:
                  name:
                    type: string
                    description: O nome da função a ser chamada
                  arguments:
                    type: string
                    description: >-
                      Os argumentos para chamar a função com, como uma string
                      JSON.
                required:
                  - name
                  - arguments
                description: A função a ser chamada
            required:
              - id
              - type
              - function
          description: >-
            As chamadas de ferramentas geradas pelo modelo, como chamadas de
            função. Apenas presentes em mensagens do assistente com chamadas de
            ferramentas.
      required:
        - role
        - content
      description: >-
        Uma mensagem na solicitação de conclusão de chat. Representa uma
        interação da conversa do usuário, assistente, sistema ou ferramenta.
    OpenAIToolDefinition:
      type: object
      properties:
        type:
          const: function
          description: O tipo da ferramenta. Atualmente, apenas 'função' é suportado.
        function:
          type: object
          properties:
            name:
              type: string
              minLength: 1
              description: >-
                O nome da função a ser chamada. Deve conter letras de a-z, A-Z,
                números de 0-9, sublinhados e hífens, com um comprimento máximo
                de 64 caracteres.
            description:
              type: string
              description: >-
                Uma descrição do que a função faz. Usada pelo modelo para
                escolher quando e como chamar a função.
            parameters:
              description: >-
                Os parâmetros que a função aceita, descritos como um objeto JSON
                Schema. Omitir para não aceitar parâmetros.
          required:
            - name
          description: A definição da função
      required:
        - type
        - function
      description: Uma ferramenta que o modelo pode chamar ao gerar uma resposta.
    OpenAIChatCompletionChoice:
      type: object
      properties:
        index:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
          description: O índice desta escolha na lista de escolhas
        message:
          type: object
          properties:
            role:
              const: assistant
              description: >-
                O papel do autor da mensagem deve ser 'assistente' para
                mensagens de assistente.
            name:
              type: string
              description: >-
                Um nome opcional para o participante. Para mensagens de função
                da ferramenta, este é o nome da função chamada.
            tool_call_id:
              type: string
              description: >-
                Chamada de ferramenta que esta mensagem está respondendo.
                Necessário quando o papel é 'ferramenta'.
            content:
              anyOf:
                - type: string
                - type: array
                  items:
                    anyOf:
                      - type: object
                        properties:
                          type:
                            const: text
                            description: >-
                              Identificador de tipo de conteúdo para conteúdo de
                              texto
                          text:
                            type: string
                            description: O conteúdo do texto a ser incluído na mensagem
                        required:
                          - type
                          - text
                      - type: object
                        properties:
                          type:
                            const: image_url
                            description: >-
                              Identificador de tipo de conteúdo para conteúdo de
                              URL de imagem
                          image_url:
                            type: object
                            properties:
                              url:
                                type: string
                                description: >-
                                  A URL da imagem, ou uma URL de dados de imagem
                                  codificada em base64
                              detail:
                                enum:
                                  - auto
                                  - low
                                  - high
                                type: string
                                description: >-
                                  O nível de detalhe da análise da imagem.
                                  'baixo' desativa o modo de alta resolução,
                                  'alto' o ativa, 'auto' permite que o modelo
                                  decida.
                            required:
                              - url
                        required:
                          - type
                          - image_url
                      - type: object
                        properties:
                          type:
                            const: input_audio
                            description: >-
                              Identificador de tipo de conteúdo para conteúdo de
                              entrada de áudio
                          input_audio:
                            type: object
                            properties:
                              data:
                                type: string
                                description: Dados de áudio codificados em Base64
                              format:
                                enum:
                                  - wav
                                  - mp3
                                type: string
                                description: O formato dos dados de áudio codificados
                            required:
                              - data
                              - format
                        required:
                          - type
                          - input_audio
                      - type: object
                        properties:
                          type:
                            const: file
                            description: >-
                              Identificador de tipo de conteúdo para conteúdo de
                              arquivo
                          file:
                            anyOf:
                              - type: object
                                properties:
                                  filename:
                                    type: string
                                    description: O nome do arquivo
                                  file_data:
                                    type: string
                                    description: Dados de arquivo codificados em Base64
                                required:
                                  - filename
                                  - file_data
                              - type: object
                                properties:
                                  file_id:
                                    type: string
                                    description: >-
                                      O identificador único de um arquivo
                                      previamente enviado
                                  filename:
                                    type: string
                                    description: Substituição opcional do nome do arquivo
                                required:
                                  - file_id
                            description: >-
                              O arquivo a ser incluído na mensagem, seja como
                              dados brutos ou por referência.
                        required:
                          - type
                          - file
                    description: >-
                      Uma parte de conteúdo que pode ser incluída em uma
                      mensagem. Suporta texto, imagens, áudio e arquivos.
                - type: 'null'
              description: >-
                O conteúdo da mensagem do assistente. Pode ser nulo quando a
                mensagem contém apenas chamadas de ferramentas.
            reasoning:
              anyOf:
                - type: string
                - type: 'null'
              description: >-
                O conteúdo do raciocínio gerado pelo modelo antes de produzir a
                resposta final. Presente em modelos que suportam raciocínio em
                cadeia.
            tool_calls:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                    description: A ID da chamada da ferramenta
                  type:
                    const: function
                    description: >-
                      O tipo da ferramenta. Atualmente, apenas 'função' é
                      suportado.
                  function:
                    type: object
                    properties:
                      name:
                        type: string
                        description: O nome da função a ser chamada
                      arguments:
                        type: string
                        description: >-
                          Os argumentos para chamar a função com, como uma
                          string JSON.
                    required:
                      - name
                      - arguments
                    description: A função que o modelo chamou
                required:
                  - id
                  - type
                  - function
              description: >-
                As chamadas de ferramenta geradas pelo modelo, como chamadas de
                função.
          required:
            - role
            - content
          description: A mensagem gerada pelo modelo
        finish_reason:
          anyOf:
            - anyOf:
                - enum:
                    - stop
                    - length
                    - tool_calls
                    - content_filter
                  type: string
                  description: A razão pela qual o modelo parou de gerar tokens.
                - type: string
            - type: 'null'
          description: >-
            A razão pela qual o modelo parou de gerar tokens. 'stop' significa
            ponto de parada natural ou sequência de parada fornecida, 'length'
            significa limite de max_tokens alcançado, 'tool_calls' significa que
            o modelo chamou uma ferramenta, 'content_filter' significa que o
            conteúdo foi filtrado devido a violações de política.
        logprobs:
          anyOf:
            - type: object
              properties:
                tokens:
                  type: array
                  items:
                    type: string
                  description: A lista de tokens
                token_logprobs:
                  type: array
                  items:
                    type: number
                  description: A probabilidade logarítmica de cada token
                top_logprobs:
                  type: array
                  items:
                    type: object
                    propertyNames:
                      type: string
                    additionalProperties:
                      type: number
                  description: >-
                    As maiores probabilidades logarítmicas para cada posição de
                    token
                text_offset:
                  type: array
                  items:
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                  description: >-
                    O deslocamento de caractere do início do texto retornado
                    para cada token
              required:
                - tokens
                - token_logprobs
                - top_logprobs
                - text_offset
              description: Informação de probabilidade logarítmica para a escolha
            - type: 'null'
          description: Informação de probabilidade logarítmica para a escolha
      required:
        - index
        - message
        - finish_reason
      description: Uma escolha de conclusão de chat gerada pelo modelo
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: >-
        Gateway auth: send `Authorization: Bearer <mka1-api-key>`. For
        multi-user server-side integrations, you can also send `X-On-Behalf-Of:
        <external-user-id>`.

````