U
    Zh*                     @  s  d dl mZ d dlZddlmZ ddlmZmZmZm	Z	m
Z
 ddlmZmZ ddlmZ ddlmZmZ dd	lmZmZ dd
lmZ ddlmZmZ ddlmZ ddlmZ ddgZG dd deZ G dd deZ!G dd dZ"G dd dZ#G dd dZ$G dd dZ%dS )    )annotationsN   )_legacy_response)	NOT_GIVENBodyQueryHeadersNotGiven)maybe_transformasync_maybe_transform)cached_property)SyncAPIResourceAsyncAPIResource)to_streamed_response_wrapper"async_to_streamed_response_wrapper)make_request_options)grader_run_paramsgrader_validate_params)GraderRunResponse)GraderValidateResponseGradersAsyncGradersc                
   @  s~   e Zd ZeddddZeddddZeddded	d
ddddddddddZdddeddddddddddZdS )r   GradersWithRawResponsereturnc                 C  s   t | S a  
        This property can be used as a prefix for any HTTP method call to return
        the raw response object instead of the parsed content.

        For more information, see https://www.github.com/openai/openai-python#accessing-raw-response-data-eg-headers
        )r   self r   N/tmp/pip-unpacked-wheel-693nel7n/openai/resources/fine_tuning/alpha/graders.pywith_raw_response   s    zGraders.with_raw_responseGradersWithStreamingResponsec                 C  s   t | S z
        An alternative to `.with_raw_response` that doesn't eagerly read the response body.

        For more information, see https://www.github.com/openai/openai-python#with_streaming_response
        )r!   r   r   r   r   with_streaming_response    s    zGraders.with_streaming_responseNitemextra_headersextra_query
extra_bodytimeoutgrader_run_params.Graderstrobject | NotGivenHeaders | NoneQuery | NoneBody | None'float | httpx.Timeout | None | NotGivenr   gradermodel_sampler%   r&   r'   r(   r)   r   c             	   C  s.   | j dt|||dtjt||||dtdS )  
        Run a grader.

        Args:
          grader: The grader used for the fine-tuning job.

          model_sample: The model sample to be evaluated. This value will be used to populate the
              `sample` namespace. See
              [the guide](https://platform.openai.com/docs/guides/graders) for more details.
              The `output_json` variable will be populated if the model sample is a valid JSON
              string.

          item: The dataset item provided to the grader. This will be used to populate the
              `item` namespace. See
              [the guide](https://platform.openai.com/docs/guides/graders) for more details.

          extra_headers: Send extra headers

          extra_query: Add additional query parameters to the request

          extra_body: Add additional JSON properties to the request

          timeout: Override the client-level default timeout for this request, in seconds
        /fine_tuning/alpha/graders/runr2   r3   r%   r&   r'   r(   r)   bodyoptionsZcast_to)_postr
   r   GraderRunParamsr   r   r   r2   r3   r%   r&   r'   r(   r)   r   r   r   run)   s"    %   zGraders.runr7   grader_validate_params.Graderr   r2   r&   r'   r(   r)   r   c             	   C  s*   | j dtd|itjt||||dtdS )  
        Validate a grader.

        Args:
          grader: The grader used for the fine-tuning job.

          extra_headers: Send extra headers

          extra_query: Add additional query parameters to the request

          extra_body: Add additional JSON properties to the request

          timeout: Override the client-level default timeout for this request, in seconds
        #/fine_tuning/alpha/graders/validater2   r7   r8   )r;   r
   r   GraderValidateParamsr   r   r   r2   r&   r'   r(   r)   r   r   r   validate^   s       zGraders.validate	__name__
__module____qualname__r   r    r#   r   r>   rE   r   r   r   r   r      s   	 ;c                
   @  s~   e Zd ZeddddZeddddZeddded	d
ddddddddddZdddeddddddddddZdS )r   AsyncGradersWithRawResponser   c                 C  s   t | S r   )rJ   r   r   r   r   r       s    zAsyncGraders.with_raw_response!AsyncGradersWithStreamingResponsec                 C  s   t | S r"   )rK   r   r   r   r   r#      s    z$AsyncGraders.with_streaming_responseNr$   r*   r+   r,   r-   r.   r/   r0   r   r1   c             	     s:   | j dt|||dtjI dH t||||dtdI dH S )r4   r5   r6   Nr7   r8   )r;   r   r   r<   r   r   r=   r   r   r   r>      s"    %   zAsyncGraders.runr7   r?   r   r@   c             	     s6   | j dtd|itjI dH t||||dtdI dH S )rA   rB   r2   Nr7   r8   )r;   r   r   rC   r   r   rD   r   r   r   rE      s       zAsyncGraders.validaterF   r   r   r   r   r      s   	 ;c                   @  s   e Zd ZdddddZdS )r   r   Nonegradersr   c                 C  s&   || _ t|j| _t|j| _d S N)_gradersr   Zto_raw_response_wrapperr>   rE   r   rN   r   r   r   __init__   s    zGradersWithRawResponse.__init__NrG   rH   rI   rR   r   r   r   r   r      s   r   c                   @  s   e Zd ZdddddZdS )rJ   r   rL   rM   c                 C  s&   || _ t|j| _t|j| _d S rO   )rP   r   Zasync_to_raw_response_wrapperr>   rE   rQ   r   r   r   rR      s    z$AsyncGradersWithRawResponse.__init__NrS   r   r   r   r   rJ      s   rJ   c                   @  s   e Zd ZdddddZdS )r!   r   rL   rM   c                 C  s"   || _ t|j| _t|j| _d S rO   )rP   r   r>   rE   rQ   r   r   r   rR     s    z%GradersWithStreamingResponse.__init__NrS   r   r   r   r   r!     s   r!   c                   @  s   e Zd ZdddddZdS )rK   r   rL   rM   c                 C  s"   || _ t|j| _t|j| _d S rO   )rP   r   r>   rE   rQ   r   r   r   rR     s    z*AsyncGradersWithStreamingResponse.__init__NrS   r   r   r   r   rK     s   rK   )&
__future__r   Zhttpx r   _typesr   r   r   r   r	   _utilsr
   r   _compatr   Z	_resourcer   r   	_responser   r   Z_base_clientr   Ztypes.fine_tuning.alphar   r   Z+types.fine_tuning.alpha.grader_run_responser   Z0types.fine_tuning.alpha.grader_validate_responser   __all__r   r   r   rJ   r!   rK   r   r   r   r   <module>   s$   ll