> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-docs-hivemind-launch.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Créer une Chat Completion

> Créer une nouvelle Chat Completion.



## OpenAPI

````yaml /fr/serverless-rl/api-reference/openapi.json post /v1/chat/completions
openapi: 3.1.0
info:
  title: Serverless RL
  version: 1.0.0
servers: []
security: []
paths:
  /v1/chat/completions:
    post:
      tags:
        - chat-completions
      summary: Créer une Chat Completion
      description: Créer une nouvelle Chat Completion.
      operationId: create_chat_completion_v1_chat_completions_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChatCompletionRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChatCompletionResponse'
          description: Réponse réussie
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Erreur de validation
      security:
        - HTTPBearer: []
components:
  schemas:
    ChatCompletionRequest:
      additionalProperties: true
      properties:
        add_generation_prompt:
          default: true
          description: >-
            Si la valeur est true, l’invite de génération sera ajoutée au modèle
            de chat. Il s’agit d’un paramètre utilisé par le modèle de chat dans
            la configuration du tokenizer du modèle.
          title: Add Generation Prompt
          type: boolean
        add_special_tokens:
          default: false
          description: >-
            Si la valeur est true, des token spéciaux (par ex. BOS) seront
            ajoutés à l’invite en plus de ceux ajoutés par le modèle de chat.
            Pour la plupart des modèles, le modèle de chat se charge d’ajouter
            les token spéciaux ; cette valeur doit donc être définie sur false
            (valeur par défaut).
          title: Add Special Tokens
          type: boolean
        allowed_token_ids:
          anyOf:
            - items:
                type: integer
              type: array
            - type: 'null'
          title: Allowed Token Ids
        bad_words:
          items:
            type: string
          title: Bad Words
          type: array
        cache_salt:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Si spécifié, le cache de préfixes sera salé avec la chaîne fournie
            afin d’empêcher un attaquant de deviner les prompts dans des
            environnements multi-utilisateurs. Le sel doit être aléatoire,
            protégé contre tout accès de tiers et suffisamment long pour être
            imprévisible (par exemple, 43 caractères encodés en base64,
            correspondant à 256 bits).
          title: Cache Salt
        chat_template:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            Un modèle Jinja à utiliser pour cette conversion. À partir de
            transformers v4.44, le modèle de chat par défaut n’est plus autorisé
            ; vous devez donc fournir un modèle de chat si le tokenizer n’en
            définit pas.
          title: Chat Template
        chat_template_kwargs:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          description: >-
            Arguments nommés supplémentaires à transmettre au moteur de rendu du
            modèle. Ils seront accessibles depuis le modèle de chat.
          title: Chat Template Kwargs
        continue_final_message:
          default: false
          description: >-
            Si cette valeur est définie, le chat sera formaté de sorte que le
            dernier message dans le chat reste ouvert, sans aucun token EOS. Le
            modèle poursuivra ce message au lieu d’en commencer un nouveau. Cela
            vous permet de « préremplir » une partie de la réponse du modèle. Ne
            peut pas être utilisé en même temps que `add_generation_prompt`.
          title: Continue Final Message
          type: boolean
        documents:
          anyOf:
            - items:
                additionalProperties:
                  type: string
                type: object
              type: array
            - type: 'null'
          description: >-
            Une liste de dicts représentant des documents auxquels le modèle
            aura accès s’il effectue du RAG (génération augmentée par
            récupération). Si le modèle ne prend pas en charge le RAG, cet
            argument n’aura aucun effet. Nous recommandons que chaque document
            soit un dict contenant les clés "title" et "text".
          title: Documents
        echo:
          default: false
          description: >-
            Si la valeur est true, le nouveau message sera ajouté au début avec
            le dernier message s’ils ont le même rôle.
          title: Echo
          type: boolean
        frequency_penalty:
          anyOf:
            - type: number
            - type: 'null'
          default: 0
          title: Frequency Penalty
        ignore_eos:
          default: false
          title: Ignore Eos
          type: boolean
        include_reasoning:
          default: true
          title: Include Reasoning
          type: boolean
        include_stop_str_in_output:
          default: false
          title: Include Stop Str In Output
          type: boolean
        kv_transfer_params:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          description: Paramètres KVTransfer utilisés pour le serving désagrégé.
          title: Kv Transfer Params
        length_penalty:
          default: 1
          title: Length Penalty
          type: number
        logit_bias:
          anyOf:
            - additionalProperties:
                type: number
              type: object
            - type: 'null'
          title: Logit Bias
        logprobs:
          anyOf:
            - type: boolean
            - type: 'null'
          default: false
          title: Logprobs
        max_completion_tokens:
          anyOf:
            - type: integer
            - type: 'null'
          title: Max Completion Tokens
        max_tokens:
          anyOf:
            - type: integer
            - type: 'null'
          deprecated: true
          title: Max Tokens
        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'
              - $ref: '#/components/schemas/Message'
          title: Messages
          type: array
        min_p:
          anyOf:
            - type: number
            - type: 'null'
          title: Min P
        min_tokens:
          default: 0
          title: Min Tokens
          type: integer
        mm_processor_kwargs:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          description: Arguments nommés supplémentaires à transmettre au processeur HF.
          title: Mm Processor Kwargs
        model:
          anyOf:
            - type: string
            - type: 'null'
          title: Model
        'n':
          anyOf:
            - type: integer
            - type: 'null'
          default: 1
          title: 'N'
        parallel_tool_calls:
          anyOf:
            - type: boolean
            - type: 'null'
          default: true
          title: Parallel Tool Calls
        presence_penalty:
          anyOf:
            - type: number
            - type: 'null'
          default: 0
          title: Presence Penalty
        priority:
          default: 0
          description: >-
            La priorité de la requête (une valeur plus faible signifie un
            traitement plus tôt ; valeur par défaut : 0). Toute priorité autre
            que 0 entraînera une erreur si le modèle servi n’utilise pas
            d’ordonnancement par priorité.
          title: Priority
          type: integer
        prompt_logprobs:
          anyOf:
            - type: integer
            - type: 'null'
          title: Prompt Logprobs
        reasoning_effort:
          anyOf:
            - enum:
                - low
                - medium
                - high
              type: string
            - type: 'null'
          title: Reasoning Effort
        repetition_detection:
          anyOf:
            - $ref: '#/components/schemas/RepetitionDetectionParams'
            - type: 'null'
          description: >-
            Paramètres permettant de détecter des motifs répétitifs de n-grammes
            dans les jetons de sortie. Si une telle répétition est détectée, la
            génération s’arrête plus tôt. Les LLM peuvent parfois générer des
            séquences de jetons répétitives et peu utiles, et ne s’arrêter que
            lorsqu’ils atteignent la longueur de sortie maximale (par exemple,
            'abcdabcdabcd...' ou '\emoji \emoji \emoji ...'). Cette
            fonctionnalité permet de détecter ce comportement et d’interrompre
            la génération plus tôt, afin d’économiser du temps et des jetons.
        repetition_penalty:
          anyOf:
            - type: number
            - type: 'null'
          title: Repetition Penalty
        request_id:
          description: >-
            Le request_id associé à cette requête. Si l’appelant ne le définit
            pas, un random_uuid est généré. Cet ID est utilisé tout au long du
            processus d’inférence et renvoyé dans la réponse.
          title: Request Id
          type: string
        response_format:
          anyOf:
            - $ref: '#/components/schemas/ResponseFormat'
            - $ref: '#/components/schemas/StructuralTagResponseFormat'
            - $ref: '#/components/schemas/LegacyStructuralTagResponseFormat'
            - type: 'null'
          title: Response Format
        return_token_ids:
          anyOf:
            - type: boolean
            - type: 'null'
          description: >-
            Si spécifié, le résultat inclut les ID de token en plus du texte
            généré. En mode streaming, prompt_token_ids n’est inclus que dans le
            premier bloc, et token_ids contient les tokens delta de chaque bloc.
            Cela est utile pour le débogage ou lorsque vous devez faire
            correspondre le texte généré aux tokens d’entrée.
          title: Return Token Ids
        return_tokens_as_token_ids:
          anyOf:
            - type: boolean
            - type: 'null'
          description: >-
            Si spécifié avec 'logprobs', les tokens sont représentés sous forme
            de chaînes au format 'token_id:{token_id}', afin de pouvoir
            identifier les tokens qui ne peuvent pas être encodés en JSON.
          title: Return Tokens As Token Ids
        seed:
          anyOf:
            - maximum: 9223372036854776000
              minimum: -9223372036854776000
              type: integer
            - type: 'null'
          title: Seed
        skip_special_tokens:
          default: true
          title: Skip Special Tokens
          type: boolean
        spaces_between_special_tokens:
          default: true
          title: Spaces Between Special Tokens
          type: boolean
        stop:
          anyOf:
            - type: string
            - items:
                type: string
              type: array
            - type: 'null'
          default: []
          title: Stop
        stop_token_ids:
          anyOf:
            - items:
                type: integer
              type: array
            - type: 'null'
          default: []
          title: Stop Token Ids
        stream:
          anyOf:
            - type: boolean
            - type: 'null'
          default: false
          title: Stream
        stream_options:
          anyOf:
            - $ref: '#/components/schemas/StreamOptions'
            - type: 'null'
        structured_outputs:
          anyOf:
            - $ref: '#/components/schemas/StructuredOutputsParams'
            - type: 'null'
          description: Arguments nommés supplémentaires pour les sorties structurées
        temperature:
          anyOf:
            - type: number
            - type: 'null'
          title: Temperature
        tool_choice:
          anyOf:
            - const: none
              type: string
            - const: auto
              type: string
            - const: required
              type: string
            - $ref: '#/components/schemas/ChatCompletionNamedToolChoiceParam'
            - type: 'null'
          default: none
          title: Tool Choice
        tools:
          anyOf:
            - items:
                $ref: '#/components/schemas/ChatCompletionToolsParam'
              type: array
            - type: 'null'
          title: Tools
        top_k:
          anyOf:
            - type: integer
            - type: 'null'
          title: Top K
        top_logprobs:
          anyOf:
            - type: integer
            - type: 'null'
          default: 0
          title: Top Logprobs
        top_p:
          anyOf:
            - type: number
            - type: 'null'
          title: Top P
        truncate_prompt_tokens:
          anyOf:
            - maximum: 9223372036854776000
              minimum: -1
              type: integer
            - type: 'null'
          title: Truncate Prompt Tokens
        use_beam_search:
          default: false
          title: Use Beam Search
          type: boolean
        user:
          anyOf:
            - type: string
            - type: 'null'
          title: User
        vllm_xargs:
          anyOf:
            - additionalProperties:
                anyOf:
                  - type: string
                  - type: integer
                  - type: number
                  - items:
                      anyOf:
                        - type: string
                        - type: integer
                        - type: number
                    type: array
              type: object
            - type: 'null'
          description: >-
            Paramètres de requête supplémentaires avec des valeurs de type
            chaîne ou numérique, ou des listes de telles valeurs, utilisés par
            des extensions personnalisées.
          title: Vllm Xargs
      required:
        - messages
      title: ChatCompletionRequest
      type: object
    ChatCompletionResponse:
      additionalProperties: true
      properties:
        choices:
          items:
            $ref: '#/components/schemas/ChatCompletionResponseChoice'
          title: Choices
          type: array
        created:
          title: Created
          type: integer
        id:
          title: Id
          type: string
        kv_transfer_params:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          description: Paramètres KVTransfer.
          title: Kv Transfer Params
        model:
          title: Model
          type: string
        object:
          const: chat.completion
          default: chat.completion
          title: Object
          type: string
        prompt_logprobs:
          anyOf:
            - items:
                anyOf:
                  - additionalProperties:
                      $ref: '#/components/schemas/Logprob'
                    type: object
                  - type: 'null'
              type: array
            - type: 'null'
          title: Prompt Logprobs
        prompt_token_ids:
          anyOf:
            - items:
                type: integer
              type: array
            - type: 'null'
          title: Prompt Token Ids
        service_tier:
          anyOf:
            - enum:
                - auto
                - default
                - flex
                - scale
                - priority
              type: string
            - type: 'null'
          title: Service Tier
        system_fingerprint:
          anyOf:
            - type: string
            - type: 'null'
          title: System Fingerprint
        usage:
          $ref: '#/components/schemas/UsageInfo'
      required:
        - model
        - choices
        - usage
      title: ChatCompletionResponse
      type: object
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          title: Detail
          type: array
      title: HTTPValidationError
      type: object
    ChatCompletionDeveloperMessageParam:
      additionalProperties: true
      description: >-
        Instructions fournies par le développeur que le modèle doit suivre,
        quels que soient les messages envoyés par l’utilisateur. Avec les
        modèles o1 et versions ultérieures, les messages `developer` remplacent
        les anciens messages `system`.
      properties:
        content:
          anyOf:
            - type: string
            - items:
                $ref: '#/components/schemas/ChatCompletionContentPartTextParam'
              type: array
          title: Content
        name:
          title: Name
          type: string
        role:
          const: developer
          title: Role
          type: string
      required:
        - content
        - role
      title: ChatCompletionDeveloperMessageParam
      type: object
    ChatCompletionSystemMessageParam:
      additionalProperties: true
      description: >-
        Instructions fournies par le développeur que le modèle doit suivre,
        quels que soient les messages envoyés par l’utilisateur. Avec les
        modèles o1 et plus récents, utilisez plutôt des messages `developer` à
        cette fin.
      properties:
        content:
          anyOf:
            - type: string
            - items:
                $ref: '#/components/schemas/ChatCompletionContentPartTextParam'
              type: array
          title: Content
        name:
          title: Name
          type: string
        role:
          const: system
          title: Role
          type: string
      required:
        - content
        - role
      title: ChatCompletionSystemMessageParam
      type: object
    ChatCompletionUserMessageParam:
      additionalProperties: true
      description: >-
        Messages envoyés par un utilisateur final, contenant des prompts ou des
        informations de contexte supplémentaires.
      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
        name:
          title: Name
          type: string
        role:
          const: user
          title: Role
          type: string
      required:
        - content
        - role
      title: ChatCompletionUserMessageParam
      type: object
    ChatCompletionAssistantMessageParam:
      additionalProperties: true
      description: Messages envoyés par le modèle en réponse aux messages de l'utilisateur.
      properties:
        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-Input'
            - type: 'null'
        name:
          title: Name
          type: string
        refusal:
          anyOf:
            - type: string
            - type: 'null'
          title: Refusal
        role:
          const: assistant
          title: Role
          type: string
        tool_calls:
          items:
            anyOf:
              - $ref: >-
                  #/components/schemas/ChatCompletionMessageFunctionToolCallParam
              - $ref: '#/components/schemas/ChatCompletionMessageCustomToolCallParam'
          title: Tool Calls
          type: array
      required:
        - role
      title: ChatCompletionAssistantMessageParam
      type: object
    ChatCompletionToolMessageParam:
      additionalProperties: true
      properties:
        content:
          anyOf:
            - type: string
            - items:
                $ref: '#/components/schemas/ChatCompletionContentPartTextParam'
              type: array
          title: Content
        role:
          const: tool
          title: Role
          type: string
        tool_call_id:
          title: Tool Call Id
          type: string
      required:
        - content
        - role
        - tool_call_id
      title: ChatCompletionToolMessageParam
      type: object
    ChatCompletionFunctionMessageParam:
      additionalProperties: true
      properties:
        content:
          anyOf:
            - type: string
            - type: 'null'
          title: Content
        name:
          title: Name
          type: string
        role:
          const: function
          title: Role
          type: string
      required:
        - content
        - name
        - role
      title: ChatCompletionFunctionMessageParam
      type: object
    CustomChatCompletionMessageParam:
      additionalProperties: true
      description: Active les rôles personnalisés dans l’API Chat Completion.
      properties:
        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/ChatCompletionContentPartImageEmbedsParam
                  - $ref: >-
                      #/components/schemas/ChatCompletionContentPartAudioEmbedsParam
                  - $ref: >-
                      #/components/schemas/CustomChatCompletionContentSimpleAudioParam
                  - $ref: >-
                      #/components/schemas/CustomChatCompletionContentSimpleVideoParam
                  - type: string
                  - $ref: '#/components/schemas/CustomThinkCompletionContentParam'
              type: array
          title: Content
        name:
          title: Name
          type: string
        reasoning:
          anyOf:
            - type: string
            - type: 'null'
          title: Reasoning
        role:
          title: Role
          type: string
        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
        tools:
          anyOf:
            - items:
                $ref: '#/components/schemas/ChatCompletionFunctionToolParam'
              type: array
            - type: 'null'
          title: Tools
      required:
        - role
      title: CustomChatCompletionMessageParam
      type: object
    Message:
      properties:
        author:
          $ref: '#/components/schemas/Author'
        channel:
          anyOf:
            - type: string
            - type: 'null'
          title: Channel
        content:
          items:
            $ref: '#/components/schemas/Content'
          title: Content
          type: array
        content_type:
          anyOf:
            - type: string
            - type: 'null'
          title: Content Type
        recipient:
          anyOf:
            - type: string
            - type: 'null'
          title: Recipient
      required:
        - author
      title: Message
      type: object
    RepetitionDetectionParams:
      description: >-
        Paramètres permettant de détecter des motifs répétitifs de n-grammes
        dans les jetons de sortie.
      properties:
        max_pattern_size:
          default: 0
          title: Max Pattern Size
          type: integer
        min_count:
          default: 0
          title: Min Count
          type: integer
        min_pattern_size:
          default: 0
          title: Min Pattern Size
          type: integer
      title: RepetitionDetectionParams
      type: object
    ResponseFormat:
      additionalProperties: true
      properties:
        json_schema:
          anyOf:
            - $ref: '#/components/schemas/JsonSchemaResponseFormat'
            - type: 'null'
        type:
          enum:
            - text
            - json_object
            - json_schema
          title: Type
          type: string
      required:
        - type
      title: ResponseFormat
      type: object
    StructuralTagResponseFormat:
      additionalProperties: true
      properties:
        format:
          title: Format
        type:
          const: structural_tag
          title: Type
          type: string
      required:
        - type
        - format
      title: StructuralTagResponseFormat
      type: object
    LegacyStructuralTagResponseFormat:
      additionalProperties: true
      properties:
        structures:
          items:
            $ref: '#/components/schemas/LegacyStructuralTag'
          title: Structures
          type: array
        triggers:
          items:
            type: string
          title: Triggers
          type: array
        type:
          const: structural_tag
          title: Type
          type: string
      required:
        - type
        - structures
        - triggers
      title: LegacyStructuralTagResponseFormat
      type: object
    StreamOptions:
      additionalProperties: true
      properties:
        continuous_usage_stats:
          anyOf:
            - type: boolean
            - type: 'null'
          default: false
          title: Continuous Usage Stats
        include_usage:
          anyOf:
            - type: boolean
            - type: 'null'
          default: true
          title: Include Usage
      title: StreamOptions
      type: object
    StructuredOutputsParams:
      properties:
        _backend:
          anyOf:
            - type: string
            - type: 'null'
          title: Backend
        _backend_was_auto:
          default: false
          title: Backend Was Auto
          type: boolean
        choice:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Choice
        disable_additional_properties:
          default: false
          title: Disable Additional Properties
          type: boolean
        disable_any_whitespace:
          default: false
          title: Disable Any Whitespace
          type: boolean
        disable_fallback:
          default: false
          title: Disable Fallback
          type: boolean
        grammar:
          anyOf:
            - type: string
            - type: 'null'
          title: Grammar
        json:
          anyOf:
            - type: string
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Json
        json_object:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Json Object
        regex:
          anyOf:
            - type: string
            - type: 'null'
          title: Regex
        structural_tag:
          anyOf:
            - type: string
            - type: 'null'
          title: Structural Tag
        whitespace_pattern:
          anyOf:
            - type: string
            - type: 'null'
          title: Whitespace Pattern
      title: StructuredOutputsParams
      type: object
    ChatCompletionNamedToolChoiceParam:
      additionalProperties: true
      properties:
        function:
          $ref: '#/components/schemas/ChatCompletionNamedFunction'
        type:
          const: function
          default: function
          title: Type
          type: string
      required:
        - function
      title: ChatCompletionNamedToolChoiceParam
      type: object
    ChatCompletionToolsParam:
      additionalProperties: true
      properties:
        function:
          $ref: '#/components/schemas/FunctionDefinition'
        type:
          const: function
          default: function
          title: Type
          type: string
      required:
        - function
      title: ChatCompletionToolsParam
      type: object
    ChatCompletionResponseChoice:
      additionalProperties: true
      properties:
        finish_reason:
          anyOf:
            - type: string
            - type: 'null'
          default: stop
          title: Finish Reason
        index:
          title: Index
          type: integer
        logprobs:
          anyOf:
            - $ref: '#/components/schemas/ChatCompletionLogProbs'
            - type: 'null'
        message:
          $ref: '#/components/schemas/ChatMessage'
        stop_reason:
          anyOf:
            - type: integer
            - type: string
            - type: 'null'
          title: Stop Reason
        token_ids:
          anyOf:
            - items:
                type: integer
              type: array
            - type: 'null'
          title: Token Ids
      required:
        - index
        - message
      title: ChatCompletionResponseChoice
      type: object
    Logprob:
      properties:
        decoded_token:
          anyOf:
            - type: string
            - type: 'null'
          title: Decoded Token
        logprob:
          title: Logprob
          type: number
        rank:
          anyOf:
            - type: integer
            - type: 'null'
          title: Rank
      required:
        - logprob
      title: Logprob
      type: object
    UsageInfo:
      additionalProperties: true
      properties:
        completion_tokens:
          anyOf:
            - type: integer
            - type: 'null'
          default: 0
          title: Completion Tokens
        prompt_tokens:
          default: 0
          title: Prompt Tokens
          type: integer
        prompt_tokens_details:
          anyOf:
            - $ref: '#/components/schemas/PromptTokenUsageInfo'
            - type: 'null'
        total_tokens:
          default: 0
          title: Total Tokens
          type: integer
      title: UsageInfo
      type: object
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          title: Location
          type: array
        msg:
          title: Message
          type: string
        type:
          title: Error Type
          type: string
      required:
        - loc
        - msg
        - type
      title: ValidationError
      type: object
    ChatCompletionContentPartTextParam:
      additionalProperties: true
      description: >-
        En savoir plus sur les [entrées de
        texte](https://platform.openai.com/docs/guides/text-generation).
      properties:
        text:
          title: Text
          type: string
        type:
          const: text
          title: Type
          type: string
      required:
        - text
        - type
      title: ChatCompletionContentPartTextParam
      type: object
    ChatCompletionContentPartImageParam:
      additionalProperties: true
      description: >-
        En savoir plus sur les [entrées
        d'image](https://platform.openai.com/docs/guides/vision).
      properties:
        image_url:
          $ref: '#/components/schemas/ImageURL'
        type:
          const: image_url
          title: Type
          type: string
      required:
        - image_url
        - type
      title: ChatCompletionContentPartImageParam
      type: object
    ChatCompletionContentPartInputAudioParam:
      additionalProperties: true
      description: >-
        En savoir plus sur les [entrées
        Audio](https://platform.openai.com/docs/guides/audio).
      properties:
        input_audio:
          $ref: '#/components/schemas/InputAudio'
        type:
          const: input_audio
          title: Type
          type: string
      required:
        - input_audio
        - type
      title: ChatCompletionContentPartInputAudioParam
      type: object
    File:
      additionalProperties: true
      description: >-
        En savoir plus sur les [entrées de
        fichier](https://platform.openai.com/docs/guides/text) pour la
        génération de texte.
      properties:
        file:
          $ref: '#/components/schemas/FileFile'
        type:
          const: file
          title: Type
          type: string
      required:
        - file
        - type
      title: File
      type: object
    Audio:
      additionalProperties: true
      description: |-
        Données concernant une réponse audio précédente du modèle.
        [En savoir plus](https://platform.openai.com/docs/guides/audio).
      properties:
        id:
          title: Id
          type: string
      required:
        - id
      title: Audio
      type: object
    ChatCompletionContentPartRefusalParam:
      additionalProperties: true
      properties:
        refusal:
          title: Refusal
          type: string
        type:
          const: refusal
          title: Type
          type: string
      required:
        - refusal
        - type
      title: ChatCompletionContentPartRefusalParam
      type: object
    FunctionCall-Input:
      additionalProperties: true
      description: >-
        Obsolète et remplacé par `tool_calls`.


        Nom et arguments d’une fonction à appeler, tels que générés par le
        modèle.
      properties:
        arguments:
          title: Arguments
          type: string
        name:
          title: Name
          type: string
      required:
        - arguments
        - name
      title: FunctionCall
      type: object
    ChatCompletionMessageFunctionToolCallParam:
      additionalProperties: true
      description: Un appel à un outil de fonction créé par le modèle.
      properties:
        function:
          $ref: '#/components/schemas/Function'
        id:
          title: Id
          type: string
        type:
          const: function
          title: Type
          type: string
      required:
        - id
        - function
        - type
      title: ChatCompletionMessageFunctionToolCallParam
      type: object
    ChatCompletionMessageCustomToolCallParam:
      additionalProperties: true
      description: Un appel à un outil personnalisé créé par le modèle.
      properties:
        custom:
          $ref: '#/components/schemas/Custom'
        id:
          title: Id
          type: string
        type:
          const: custom
          title: Type
          type: string
      required:
        - id
        - custom
        - type
      title: ChatCompletionMessageCustomToolCallParam
      type: object
    ChatCompletionContentPartAudioParam:
      additionalProperties: true
      properties:
        audio_url:
          $ref: '#/components/schemas/AudioURL'
        type:
          const: audio_url
          title: Type
          type: string
      required:
        - audio_url
        - type
      title: ChatCompletionContentPartAudioParam
      type: object
    ChatCompletionContentPartVideoParam:
      additionalProperties: true
      properties:
        type:
          const: video_url
          title: Type
          type: string
        video_url:
          $ref: '#/components/schemas/VideoURL'
      required:
        - video_url
        - type
      title: ChatCompletionContentPartVideoParam
      type: object
    CustomChatCompletionContentSimpleImageParam:
      additionalProperties: true
      description: "Une version simplifiée du paramètre qui accepte uniquement un `image_url` simple.\nCette option est prise en charge par l’API OpenAI, bien qu’elle ne soit pas documentée.\n\nExemple\_:\n{\n    \"image_url\": \"https://example.com/image.jpg\"\n}"
      properties:
        image_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Image Url
        uuid:
          anyOf:
            - type: string
            - type: 'null'
          title: Uuid
      title: CustomChatCompletionContentSimpleImageParam
      type: object
    ChatCompletionContentPartImageEmbedsParam:
      additionalProperties: true
      properties:
        image_embeds:
          anyOf:
            - type: string
            - additionalProperties:
                type: string
              type: object
            - type: 'null'
          title: Image Embeds
        type:
          const: image_embeds
          title: Type
          type: string
        uuid:
          anyOf:
            - type: string
            - type: 'null'
          title: Uuid
      required:
        - type
      title: ChatCompletionContentPartImageEmbedsParam
      type: object
    ChatCompletionContentPartAudioEmbedsParam:
      additionalProperties: true
      properties:
        audio_embeds:
          anyOf:
            - type: string
            - additionalProperties:
                type: string
              type: object
            - type: 'null'
          title: Audio Embeds
        type:
          const: audio_embeds
          title: Type
          type: string
        uuid:
          anyOf:
            - type: string
            - type: 'null'
          title: Uuid
      required:
        - type
      title: ChatCompletionContentPartAudioEmbedsParam
      type: object
    CustomChatCompletionContentSimpleAudioParam:
      additionalProperties: true
      description: "Une version simplifiée du paramètre qui accepte uniquement un simple audio_url.\n\nExemple\_:\n{\n    \"audio_url\": \"https://example.com/audio.mp3\"\n}"
      properties:
        audio_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Audio Url
      title: CustomChatCompletionContentSimpleAudioParam
      type: object
    CustomChatCompletionContentSimpleVideoParam:
      additionalProperties: true
      description: "Une version simplifiée du paramètre qui accepte uniquement un `audio_url` simple.\n\nExemple\_:\n{\n    \"video_url\": \"https://example.com/video.mp4\"\n}"
      properties:
        uuid:
          anyOf:
            - type: string
            - type: 'null'
          title: Uuid
        video_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Video Url
      title: CustomChatCompletionContentSimpleVideoParam
      type: object
    CustomThinkCompletionContentParam:
      additionalProperties: true
      description: "Paramètre de contenu Think Completion qui accepte du texte brut et un booléen.\n\nExemple\_:\n{\n    \"thinking\": \"I am thinking about the answer\",\n    \"closed\": True,\n    \"type\": \"thinking\"\n}"
      properties:
        closed:
          title: Closed
          type: boolean
        thinking:
          title: Thinking
          type: string
        type:
          const: thinking
          title: Type
          type: string
      required:
        - thinking
        - type
      title: CustomThinkCompletionContentParam
      type: object
    ChatCompletionFunctionToolParam:
      additionalProperties: true
      description: Un outil de fonction pouvant être utilisé pour générer une réponse.
      properties:
        function:
          $ref: >-
            #/components/schemas/openai__types__shared_params__function_definition__FunctionDefinition
        type:
          const: function
          title: Type
          type: string
      required:
        - function
        - type
      title: ChatCompletionFunctionToolParam
      type: object
    Author:
      properties:
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
        role:
          $ref: '#/components/schemas/Role'
      required:
        - role
      title: Author
      type: object
    Content:
      properties: {}
      title: Content
      type: object
    JsonSchemaResponseFormat:
      additionalProperties: true
      properties:
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
        name:
          title: Name
          type: string
        schema:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Schema
        strict:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Strict
      required:
        - name
      title: JsonSchemaResponseFormat
      type: object
    LegacyStructuralTag:
      additionalProperties: true
      properties:
        begin:
          title: Begin
          type: string
        end:
          title: End
          type: string
        schema:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Schema
      required:
        - begin
        - end
      title: LegacyStructuralTag
      type: object
    ChatCompletionNamedFunction:
      additionalProperties: true
      properties:
        name:
          title: Name
          type: string
      required:
        - name
      title: ChatCompletionNamedFunction
      type: object
    FunctionDefinition:
      additionalProperties: true
      properties:
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
        name:
          title: Name
          type: string
        parameters:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Parameters
      required:
        - name
      title: FunctionDefinition
      type: object
    ChatCompletionLogProbs:
      additionalProperties: true
      properties:
        content:
          anyOf:
            - items:
                $ref: '#/components/schemas/ChatCompletionLogProbsContent'
              type: array
            - type: 'null'
          title: Content
      title: ChatCompletionLogProbs
      type: object
    ChatMessage:
      additionalProperties: true
      properties:
        annotations:
          anyOf:
            - $ref: '#/components/schemas/Annotation'
            - type: 'null'
        audio:
          anyOf:
            - $ref: '#/components/schemas/ChatCompletionAudio'
            - type: 'null'
        content:
          anyOf:
            - type: string
            - type: 'null'
          title: Content
        function_call:
          anyOf:
            - $ref: '#/components/schemas/FunctionCall-Output'
            - type: 'null'
        reasoning:
          anyOf:
            - type: string
            - type: 'null'
          title: Reasoning
        refusal:
          anyOf:
            - type: string
            - type: 'null'
          title: Refusal
        role:
          title: Role
          type: string
        tool_calls:
          items:
            $ref: '#/components/schemas/ToolCall'
          title: Tool Calls
          type: array
      required:
        - role
      title: ChatMessage
      type: object
    PromptTokenUsageInfo:
      additionalProperties: true
      properties:
        cached_tokens:
          anyOf:
            - type: integer
            - type: 'null'
          title: Cached Tokens
      title: PromptTokenUsageInfo
      type: object
    ImageURL:
      additionalProperties: true
      properties:
        detail:
          enum:
            - auto
            - low
            - high
          title: Detail
          type: string
        url:
          title: Url
          type: string
      required:
        - url
      title: ImageURL
      type: object
    InputAudio:
      additionalProperties: true
      properties:
        data:
          title: Data
          type: string
        format:
          enum:
            - wav
            - mp3
          title: Format
          type: string
      required:
        - data
        - format
      title: InputAudio
      type: object
    FileFile:
      additionalProperties: true
      properties:
        file_data:
          title: File Data
          type: string
        file_id:
          title: File Id
          type: string
        filename:
          title: Filename
          type: string
      title: FileFile
      type: object
    Function:
      additionalProperties: true
      description: La fonction appelée par le modèle.
      properties:
        arguments:
          title: Arguments
          type: string
        name:
          title: Name
          type: string
      required:
        - arguments
        - name
      title: Function
      type: object
    Custom:
      additionalProperties: true
      description: L’outil personnalisé appelé par le modèle.
      properties:
        input:
          title: Input
          type: string
        name:
          title: Name
          type: string
      required:
        - input
        - name
      title: Custom
      type: object
    AudioURL:
      additionalProperties: true
      properties:
        url:
          title: Url
          type: string
      required:
        - url
      title: AudioURL
      type: object
    VideoURL:
      additionalProperties: true
      properties:
        url:
          title: Url
          type: string
      required:
        - url
      title: VideoURL
      type: object
    openai__types__shared_params__function_definition__FunctionDefinition:
      additionalProperties: true
      properties:
        description:
          title: Description
          type: string
        name:
          title: Name
          type: string
        parameters:
          additionalProperties: true
          title: Parameters
          type: object
        strict:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Strict
      required:
        - name
      title: FunctionDefinition
      type: object
    Role:
      description: Rôle de l’auteur d’un message (reflète ``chat::Role``).
      enum:
        - user
        - assistant
        - system
        - developer
        - tool
      title: Role
      type: string
    ChatCompletionLogProbsContent:
      additionalProperties: true
      properties:
        bytes:
          anyOf:
            - items:
                type: integer
              type: array
            - type: 'null'
          title: Bytes
        logprob:
          default: -9999
          title: Logprob
          type: number
        token:
          title: Token
          type: string
        top_logprobs:
          items:
            $ref: '#/components/schemas/ChatCompletionLogProb'
          title: Top Logprobs
          type: array
      required:
        - token
      title: ChatCompletionLogProbsContent
      type: object
    Annotation:
      additionalProperties: true
      description: Une citation d'URL lors de l'utilisation de la recherche web.
      properties:
        type:
          const: url_citation
          title: Type
          type: string
        url_citation:
          $ref: '#/components/schemas/AnnotationURLCitation'
      required:
        - type
        - url_citation
      title: Annotation
      type: object
    ChatCompletionAudio:
      additionalProperties: true
      description: >-
        Si la modalité de sortie audio est demandée, cet objet contient des
        données

        sur la réponse audio du modèle. [En savoir
        plus](https://platform.openai.com/docs/guides/audio).
      properties:
        data:
          title: Data
          type: string
        expires_at:
          title: Expires At
          type: integer
        id:
          title: Id
          type: string
        transcript:
          title: Transcript
          type: string
      required:
        - id
        - data
        - expires_at
        - transcript
      title: ChatCompletionAudio
      type: object
    FunctionCall-Output:
      additionalProperties: true
      properties:
        arguments:
          title: Arguments
          type: string
        name:
          title: Name
          type: string
      required:
        - name
        - arguments
      title: FunctionCall
      type: object
    ToolCall:
      additionalProperties: true
      properties:
        function:
          $ref: '#/components/schemas/FunctionCall-Output'
        id:
          title: Id
          type: string
        type:
          const: function
          default: function
          title: Type
          type: string
      required:
        - function
      title: ToolCall
      type: object
    ChatCompletionLogProb:
      additionalProperties: true
      properties:
        bytes:
          anyOf:
            - items:
                type: integer
              type: array
            - type: 'null'
          title: Bytes
        logprob:
          default: -9999
          title: Logprob
          type: number
        token:
          title: Token
          type: string
      required:
        - token
      title: ChatCompletionLogProb
      type: object
    AnnotationURLCitation:
      additionalProperties: true
      description: Une citation d'URL lors de l'utilisation de la recherche web.
      properties:
        end_index:
          title: End Index
          type: integer
        start_index:
          title: Start Index
          type: integer
        title:
          title: Title
          type: string
        url:
          title: Url
          type: string
      required:
        - end_index
        - start_index
        - title
        - url
      title: AnnotationURLCitation
      type: object
  securitySchemes:
    HTTPBearer:
      scheme: bearer
      type: http

````