o
    #1 i                     @   sH   d dl mZ d dlmZ d dlmZ G dd deZG dd deZdS )	    )Optional)Field)MistralBasec                   @   s:   e Zd ZU dZdZeed< dZee ed< dZ	eed< dS )	UsageInfoa}  Usage statistics for a completion request.

    Attributes:
        prompt_tokens: Number of tokens in the prompt.
        completion_tokens: Number of tokens in the generated completion.
        total_tokens: Total number of tokens used in the request (prompt + completion).

    Examples:
        >>> info = UsageInfo(prompt_tokens=10, completion_tokens=20, total_tokens=30)
    r   prompt_tokenscompletion_tokenstotal_tokensN)
__name__
__module____qualname____doc__r   int__annotations__r   r   r    r   r   h/home/app/PaddleOCR-VL-test/.venv_paddleocr/lib/python3.10/site-packages/mistral_common/protocol/base.pyr      s
   
 r   c                   @   sn   e Zd ZU dZeddddZeed< eddddZeed< edd	d
Z	e
e ed< edd	d
Ze
e ed< dS )BaseCompletionRequestaE  Base class for completion requests.

    Attributes:
        temperature: Sampling temperature to use, between 0 and 1. Higher values like 0.8 will make the output more
            random, while lower values like 0.2 will make it more focused and deterministic.
        top_p: Nucleus sampling parameter, top-p probability mass, between 0 and 1.
        max_tokens: Maximum number of tokens to generate.
        random_seed: Random seed for reproducibility.

    Examples:
        >>> request = BaseCompletionRequest(temperature=0.7, top_p=0.9, max_tokens=100, random_seed=42)
    gffffff?g        g      ?)defaultgeletemperaturetop_pNr   )r   r   
max_tokensrandom_seed)r	   r
   r   r   r   r   floatr   r   r   r   r   r   r   r   r   r   r      s   
 r   N)typingr   Zpydanticr   Zmistral_common.baser   r   r   r   r   r   r   <module>   s
    