
    g                       d dl Z ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
 dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ d dlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z  ddl!m"Z" ddl#m$Z$ ddl%m&Z& ddl'm(Z( d dl)Z*ddl+m,Z, ddl-m.Z. ddl/m0Z0 ddlm1Z1  e jd                  e jf                  d      Z4 G d d      Z5 G d d       Z6y)!    N   )SyncClientWrapper)RequestOptions   )ListFinetunedModelsResponse)construct_type)BadRequestError)UnauthorizedError)ForbiddenError)NotFoundError)InternalServerError)ServiceUnavailableError)JSONDecodeError)ApiError)FinetunedModel)CreateFinetunedModelResponse)'convert_and_respect_annotation_metadata)GetFinetunedModelResponse)jsonable_encoder)DeleteFinetunedModelResponse)Settings)Status)UpdateFinetunedModelResponse)ListEventsResponse)ListTrainingStepMetricsResponse)AsyncClientWrapper.c                      e Zd ZdefdZddddddej                  e   dej                  e   dej                  e   dej                  e	   d	e
f
d
Zdddedej                  e	   d	efdZdddedej                  e	   d	efdZdddedej                  e	   d	efdZeeeeeeedddedededej                  e   dej                  e   dej                  e   dej                  ej.                     dej                  ej.                     dej                  ej.                     dej                  ej.                     dej                  e	   d	efdZddddddedej                  e   dej                  e   dej                  e   dej                  e	   d	efdZdddddedej                  e   dej                  e   dej                  e	   d	ef
dZy) FinetuningClientclient_wrapperc                    || _         y N_client_wrapperselfr   s     M/var/www/openai/venv/lib/python3.12/site-packages/cohere/finetuning/client.py__init__zFinetuningClient.__init__#   
    -    N	page_size
page_tokenorder_byrequest_optionsr+   r,   r-   r.   returnc          
         | j                   j                  j                  dd|||d|      }	 d|j                  cxk  rdk  r:n n7t	        j
                  t        t        t        |j                                     S |j                  dk(  rvt        t	        j
                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                  d	k(  rvt        t	        j
                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                  d
k(  rvt        t	        j
                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                  dk(  rvt        t	        j
                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                  dk(  rvt        t	        j
                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                  dk(  rvt!        t	        j
                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                         }t%        |j                  |      # t"        $ r" t%        |j                  |j&                        w xY w)aI  
        Parameters
        ----------
        page_size : typing.Optional[int]
            Maximum number of results to be returned by the server. If 0, defaults to
            50.

        page_token : typing.Optional[str]
            Request a specific page of the list results.

        order_by : typing.Optional[str]
            Comma separated list of fields. For example: "created_at,name". The default
            sorting order is ascending. To specify descending order for a field, append
            " desc" to the field name. For example: "created_at desc,name".

            Supported sorting fields:
              - created_at (default)

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        ListFinetunedModelsResponse
            A successful response.

        Examples
        --------
        from cohere import Client

        client = Client(
            client_name="YOUR_CLIENT_NAME",
            token="YOUR_TOKEN",
        )
        client.finetuning.list_finetuned_models()
        v1/finetuning/finetuned-modelsGETr+   r,   r-   methodparamsr.      ,  type_object_            status_codebodyr#   httpx_clientrequestrC   typingcastr   r   jsonr	   OptionalAnyr
   r   r   r   r   r   r   textr%   r+   r,   r-   r.   	_response_response_jsons          r&   list_finetuned_modelsz&FinetuningClient.list_finetuned_models&   s   X ((55==,&($
 , > 	
	G	Si++1c1{{/"9 ) 0  $$+%KK

3&"(//&**"=$-NN$4  $$+'KK

3&"(//&**"=$-NN$4  $$+$KK

3&"(//&**"=$-NN$4  $$+#KK

3&"(//&**"=$-NN$4  $$+)KK

3&"(//&**"=$-NN$4  $$+-KK

3&"(//&**"=$-NN$4  '^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   AO >L.O +O.r.   rG   c          
         | j                   j                  j                  ddt        |t        d      |t
              }	 d|j                  cxk  rdk  r:n n7t        j                  t        t        t        |j                                     S |j                  d	k(  rvt        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                  d
k(  rvt        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                  dk(  rvt!        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                  dk(  rvt#        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                  dk(  rvt%        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                  dk(  rvt'        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                         }t+        |j                  |      # t(        $ r" t+        |j                  |j,                        w xY w)a  
        Parameters
        ----------
        request : FinetunedModel

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        CreateFinetunedModelResponse
            A successful response.

        Examples
        --------
        from cohere import Client
        from cohere.finetuning.finetuning import BaseModel, FinetunedModel, Settings

        client = Client(
            client_name="YOUR_CLIENT_NAME",
            token="YOUR_TOKEN",
        )
        client.finetuning.create_finetuned_model(
            request=FinetunedModel(
                name="api-test",
                settings=Settings(
                    base_model=BaseModel(
                        base_type="BASE_TYPE_CHAT",
                    ),
                    dataset_id="my-dataset-id",
                ),
            ),
        )
        r1   POSTwriter;   
annotation	directionr5   rJ   r.   omitr7   r8   r9   r<   r=   r>   r?   r@   rA   rB   r#   rF   rG   r   r   OMITrC   rH   rI   r   r   rJ   r	   rK   rL   r
   r   r   r   r   r   r   rM   r%   rG   r.   rO   rP   s        r&   create_finetuned_modelz'FinetuningClient.create_finetuned_model   s   J ((55==,8Ucovw+ > 
	G	Si++1c1{{0": ) 0  $$+%KK

3&"(//&**"=$-NN$4  $$+'KK

3&"(//&**"=$-NN$4  $$+$KK

3&"(//&**"=$-NN$4  $$+#KK

3&"(//&**"=$-NN$4  $$+)KK

3&"(//&**"=$-NN$4  $$+-KK

3&"(//&**"=$-NN$4  '^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss    AO L.O +O?idc          
         | j                   j                  j                  dt        |       d|      }	 d|j                  cxk  rdk  r:n n7t        j                  t        t        t        |j                                     S |j                  dk(  rvt        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                           |j                  dk(  rvt        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                           |j                  d	k(  rvt        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                           |j                  d
k(  rvt        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                           |j                  dk(  rvt!        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                           |j                  dk(  rvt#        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                           |j                         }t'        |j                  |      # t$        $ r" t'        |j                  |j(                        w xY w)a5  
        Parameters
        ----------
        id : str
            The fine-tuned model ID.

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        GetFinetunedModelResponse
            A successful response.

        Examples
        --------
        from cohere import Client

        client = Client(
            client_name="YOUR_CLIENT_NAME",
            token="YOUR_TOKEN",
        )
        client.finetuning.get_finetuned_model(
            id="id",
        )
        v1/finetuning/finetuned-models/r2   r5   r.   r7   r8   r9   r<   r=   r>   r?   r@   rA   rB   r#   rF   rG   r   rC   rH   rI   r   r   rJ   r	   rK   rL   r
   r   r   r   r   r   r   rM   r%   r_   r.   rO   rP   s        r&   get_finetuned_modelz$FinetuningClient.get_finetuned_model  s   : ((55==-.>r.B-CD+ > 
	
G	Si++1c1{{-"7 ) 0  $$+%KK

3&"(//&**"=$-NN$4  $$+'KK

3&"(//&**"=$-NN$4  $$+$KK

3&"(//&**"=$-NN$4  $$+#KK

3&"(//&**"=$-NN$4  $$+)KK

3&"(//&**"=$-NN$4  $$+-KK

3&"(//&**"=$-NN$4  '^^-N 9#8#8~NN  	Sy'<'<9>>RR	S   AO
 L.O
 
+O5c          
         | j                   j                  j                  dt        |       d|      }	 d|j                  cxk  rdk  r:n n7t        j                  t        t        t        |j                                     S |j                  dk(  rvt        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                           |j                  dk(  rvt        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                           |j                  d	k(  rvt        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                           |j                  d
k(  rvt        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                           |j                  dk(  rvt!        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                           |j                  dk(  rvt#        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                           |j                         }t'        |j                  |      # t$        $ r" t'        |j                  |j(                        w xY w)a;  
        Parameters
        ----------
        id : str
            The fine-tuned model ID.

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        DeleteFinetunedModelResponse
            A successful response.

        Examples
        --------
        from cohere import Client

        client = Client(
            client_name="YOUR_CLIENT_NAME",
            token="YOUR_TOKEN",
        )
        client.finetuning.delete_finetuned_model(
            id="id",
        )
        ra   DELETErb   r7   r8   r9   r<   r=   r>   r?   r@   rA   rB   r#   rF   rG   r   rC   rH   rI   r   r   rJ   r	   rK   rL   r
   r   r   r   r   r   r   rM   rd   s        r&   delete_finetuned_modelz'FinetuningClient.delete_finetuned_model  s   : ((55==-.>r.B-CD+ > 
	
G	Si++1c1{{0": ) 0  $$+%KK

3&"(//&**"=$-NN$4  $$+'KK

3&"(//&**"=$-NN$4  $$+$KK

3&"(//&**"=$-NN$4  $$+#KK

3&"(//&**"=$-NN$4  $$+)KK

3&"(//&**"=$-NN$4  $$+-KK

3&"(//&**"=$-NN$4  '^^-N 9#8#8~NN  	Sy'<'<9>>RR	Srf   
creator_idorganization_idstatus
created_at
updated_atcompleted_at	last_usedr.   namesettingsrl   rm   rn   ro   rp   rq   rr   c       
         6   | j                   j                  j                  dt        |       d|||t	        |t
        d      ||||	|
d	ddi|t              }	 d	|j                  cxk  rd
k  r:n n7t        j                  t        t        t        |j                                     S |j                  dk(  rvt        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                  dk(  rvt!        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                  dk(  rvt#        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                  dk(  rvt%        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                  dk(  rvt'        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                  dk(  rvt)        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                         }t-        |j                  |      # t*        $ r" t-        |j                  |j.                        w xY w)a  
        Parameters
        ----------
        id : str
            FinetunedModel ID.

        name : str
            FinetunedModel name (e.g. `foobar`).

        settings : Settings
            FinetunedModel settings such as dataset, hyperparameters...

        creator_id : typing.Optional[str]
            User ID of the creator.

        organization_id : typing.Optional[str]
            Organization ID.

        status : typing.Optional[Status]
            Current stage in the life-cycle of the fine-tuned model.

        created_at : typing.Optional[dt.datetime]
            Creation timestamp.

        updated_at : typing.Optional[dt.datetime]
            Latest update timestamp.

        completed_at : typing.Optional[dt.datetime]
            Timestamp for the completed fine-tuning.

        last_used : typing.Optional[dt.datetime]
            Deprecated: Timestamp for the latest request to this fine-tuned model.

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        UpdateFinetunedModelResponse
            A successful response.

        Examples
        --------
        from cohere import Client
        from cohere.finetuning.finetuning import BaseModel, Settings

        client = Client(
            client_name="YOUR_CLIENT_NAME",
            token="YOUR_TOKEN",
        )
        client.finetuning.update_finetuned_model(
            id="id",
            name="name",
            settings=Settings(
                base_model=BaseModel(
                    base_type="BASE_TYPE_UNSPECIFIED",
                ),
                dataset_id="dataset_id",
            ),
        )
        ra   PATCHrU   rV   	rs   rl   rm   rt   rn   ro   rp   rq   rr   content-typeapplication/jsonr5   rJ   headersr.   rZ   r7   r8   r9   r<   r=   r>   r?   r@   rA   rB   r#   rF   rG   r   r   r   r\   rC   rH   rI   r   r   rJ   r	   rK   rL   r
   r   r   r   r   r   r   rM   r%   r_   rs   rt   rl   rm   rn   ro   rp   rq   rr   r.   rO   rP   s                 r&   update_finetuned_modelz'FinetuningClient.update_finetuned_model  s/   X ((55==-.>r.B-CD(#2C$W !(( ,&  2 ,) > 
	,G	Si++1c1{{0": ) 0  $$+%KK

3&"(//&**"=$-NN$4  $$+'KK

3&"(//&**"=$-NN$4  $$+$KK

3&"(//&**"=$-NN$4  $$+#KK

3&"(//&**"=$-NN$4  $$+)KK

3&"(//&**"=$-NN$4  $$+-KK

3&"(//&**"=$-NN$4  '^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   AO- (L.O- -+Pfinetuned_model_idc          
         | j                   j                  j                  dt        |       dd|||d|      }	 d|j                  cxk  rdk  r:n n7t        j                  t        t        t        |j                                     S |j                  d	k(  rvt        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                           |j                  d
k(  rvt        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                           |j                  dk(  rvt        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                           |j                  dk(  rvt        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                           |j                  dk(  rvt!        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                           |j                  dk(  rvt#        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                           |j                         }t'        |j                  |      # t$        $ r" t'        |j                  |j(                        w xY w)a  
        Parameters
        ----------
        finetuned_model_id : str
            The parent fine-tuned model ID.

        page_size : typing.Optional[int]
            Maximum number of results to be returned by the server. If 0, defaults to
            50.

        page_token : typing.Optional[str]
            Request a specific page of the list results.

        order_by : typing.Optional[str]
            Comma separated list of fields. For example: "created_at,name". The default
            sorting order is ascending. To specify descending order for a field, append
            " desc" to the field name. For example: "created_at desc,name".

            Supported sorting fields:
              - created_at (default)

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        ListEventsResponse
            A successful response.

        Examples
        --------
        from cohere import Client

        client = Client(
            client_name="YOUR_CLIENT_NAME",
            token="YOUR_TOKEN",
        )
        client.finetuning.list_events(
            finetuned_model_id="finetuned_model_id",
        )
        ra   /eventsr2   r3   r4   r7   r8   r9   r<   r=   r>   r?   r@   rA   rB   r#   rF   rG   r   rC   rH   rI   r   r   rJ   r	   rK   rL   r
   r   r   r   r   r   r   rM   r%   r   r+   r,   r-   r.   rO   rP   s           r&   list_eventszFinetuningClient.list_events  s   d ((55==-.>?Q.R-SSZ[&($
 , > 	
	G	Si++1c1{{&"0 ) 0  $$+%KK

3&"(//&**"=$-NN$4  $$+'KK

3&"(//&**"=$-NN$4  $$+$KK

3&"(//&**"=$-NN$4  $$+#KK

3&"(//&**"=$-NN$4  $$+)KK

3&"(//&**"=$-NN$4  $$+-KK

3&"(//&**"=$-NN$4  '^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   AO L.O +O;r+   r,   r.   c          
         | j                   j                  j                  dt        |       dd||d|      }	 d|j                  cxk  rdk  r:n n7t        j                  t        t        t        |j                                     S |j                  d	k(  rvt        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                           |j                  d
k(  rvt        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                           |j                  dk(  rvt        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                           |j                  dk(  rvt        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                           |j                  dk(  rvt!        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                           |j                  dk(  rvt#        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                           |j                         }t'        |j                  |      # t$        $ r" t'        |j                  |j(                        w xY w)am  
        Parameters
        ----------
        finetuned_model_id : str
            The parent fine-tuned model ID.

        page_size : typing.Optional[int]
            Maximum number of results to be returned by the server. If 0, defaults to
            50.

        page_token : typing.Optional[str]
            Request a specific page of the list results.

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        ListTrainingStepMetricsResponse
            A successful response.

        Examples
        --------
        from cohere import Client

        client = Client(
            client_name="YOUR_CLIENT_NAME",
            token="YOUR_TOKEN",
        )
        client.finetuning.list_training_step_metrics(
            finetuned_model_id="finetuned_model_id",
        )
        ra   /training-step-metricsr2   r+   r,   r4   r7   r8   r9   r<   r=   r>   r?   r@   rA   rB   r#   rF   rG   r   rC   rH   rI   r   r   rJ   r	   rK   rL   r
   r   r   r   r   r   r   rM   r%   r   r+   r,   r.   rO   rP   s          r&   list_training_step_metricsz+FinetuningClient.list_training_step_metrics&  s    R ((55==-.>?Q.R-SSij&( , > 
	G	Si++1c1{{3"= ) 0  $$+%KK

3&"(//&**"=$-NN$4  $$+'KK

3&"(//&**"=$-NN$4  $$+$KK

3&"(//&**"=$-NN$4  $$+#KK

3&"(//&**"=$-NN$4  $$+)KK

3&"(//&**"=$-NN$4  $$+-KK

3&"(//&**"=$-NN$4  '^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   AO 
L.O +O:)__name__
__module____qualname__r   r'   rH   rK   intstrr   r   rQ   r   r   r^   r   re   r   rj   r\   r   r   dtdatetimer   r~   r   r   r   r    r)   r&   r   r   "   s   .*; . +/+/)-;?~O ??3'~O OOC(	~O
 //#&~O  8~O 
%~OB ^btO(tO;A??>;ZtO	%tOn NRjOjO+1??>+JjO	"jOZ NRjOjO+1??>+JjO	%jOd ,004*.37375926;?jOjO 	jO
 jO OOC(jO  -jO 'jO OOBKK0jO OOBKK0jO oobkk2jO ??2;;/jO  8jO 
&jO` +/+/)-;?DODO ??3'	DO
 OOC(DO //#&DO  8DO 
DOT +/+/;?zOzO ??3'	zO
 OOC(zO  8zO 
)zOr)   r   c                      e Zd ZdefdZddddddej                  e   dej                  e   dej                  e   dej                  e	   d	e
f
d
Zdddedej                  e	   d	efdZdddedej                  e	   d	efdZdddedej                  e	   d	efdZeeeeeeedddedededej                  e   dej                  e   dej                  e   dej                  ej.                     dej                  ej.                     dej                  ej.                     dej                  ej.                     dej                  e	   d	efdZddddddedej                  e   dej                  e   dej                  e   dej                  e	   d	efdZdddddedej                  e   dej                  e   dej                  e	   d	ef
dZy) AsyncFinetuningClientr   c                    || _         y r!   r"   r$   s     r&   r'   zAsyncFinetuningClient.__init__  r(   r)   Nr*   r+   r,   r-   r.   r/   c          
         K   | j                   j                  j                  dd|||d|       d{   }	 d|j                  cxk  rdk  r:n n7t	        j
                  t        t        t        |j                                     S |j                  d	k(  rvt        t	        j
                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                  d
k(  rvt        t	        j
                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                  dk(  rvt        t	        j
                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                  dk(  rvt        t	        j
                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                  dk(  rvt        t	        j
                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                  dk(  rvt!        t	        j
                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                         }t%        |j                  |      7 # t"        $ r" t%        |j                  |j&                        w xY ww)a  
        Parameters
        ----------
        page_size : typing.Optional[int]
            Maximum number of results to be returned by the server. If 0, defaults to
            50.

        page_token : typing.Optional[str]
            Request a specific page of the list results.

        order_by : typing.Optional[str]
            Comma separated list of fields. For example: "created_at,name". The default
            sorting order is ascending. To specify descending order for a field, append
            " desc" to the field name. For example: "created_at desc,name".

            Supported sorting fields:
              - created_at (default)

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        ListFinetunedModelsResponse
            A successful response.

        Examples
        --------
        import asyncio

        from cohere import AsyncClient

        client = AsyncClient(
            client_name="YOUR_CLIENT_NAME",
            token="YOUR_TOKEN",
        )


        async def main() -> None:
            await client.finetuning.list_finetuned_models()


        asyncio.run(main())
        r1   r2   r3   r4   Nr7   r8   r9   r<   r=   r>   r?   r@   rA   rB   rE   rN   s          r&   rQ   z+AsyncFinetuningClient.list_finetuned_models  s    h ..;;CC,&($
 , D 	
 	
	G	Si++1c1{{/"9 ) 0  $$+%KK

3&"(//&**"=$-NN$4  $$+'KK

3&"(//&**"=$-NN$4  $$+$KK

3&"(//&**"=$-NN$4  $$+#KK

3&"(//&**"=$-NN$4  $$+)KK

3&"(//&**"=$-NN$4  $$+-KK

3&"(//&**"=$-NN$4  '^^-N 9#8#8~NNe	
`  	Sy'<'<9>>RR	Ss4   1O>OO>AO O>L.O 6O>+O;;O>rR   rG   c          
      "  K   | j                   j                  j                  ddt        |t        d      |t
               d{   }	 d|j                  cxk  rdk  r:n n7t        j                  t        t        t        |j                         	            S |j                  d
k(  rvt        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                         	                  |j                  dk(  rvt        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                         	                  |j                  dk(  rvt!        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                         	                  |j                  dk(  rvt#        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                         	                  |j                  dk(  rvt%        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                         	                  |j                  dk(  rvt'        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                         	                  |j                         }t+        |j                  |      7 # t(        $ r" t+        |j                  |j,                        w xY ww)a+  
        Parameters
        ----------
        request : FinetunedModel

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        CreateFinetunedModelResponse
            A successful response.

        Examples
        --------
        import asyncio

        from cohere import AsyncClient
        from cohere.finetuning.finetuning import BaseModel, FinetunedModel, Settings

        client = AsyncClient(
            client_name="YOUR_CLIENT_NAME",
            token="YOUR_TOKEN",
        )


        async def main() -> None:
            await client.finetuning.create_finetuned_model(
                request=FinetunedModel(
                    name="api-test",
                    settings=Settings(
                        base_model=BaseModel(
                            base_type="BASE_TYPE_CHAT",
                        ),
                        dataset_id="my-dataset-id",
                    ),
                ),
            )


        asyncio.run(main())
        r1   rT   rU   rV   rY   Nr7   r8   r9   r<   r=   r>   r?   r@   rA   rB   r[   r]   s        r&   r^   z,AsyncFinetuningClient.create_finetuned_model/  s    Z ..;;CC,8Ucovw+ D 
 
	G	Si++1c1{{0": ) 0  $$+%KK

3&"(//&**"=$-NN$4  $$+'KK

3&"(//&**"=$-NN$4  $$+$KK

3&"(//&**"=$-NN$4  $$+#KK

3&"(//&**"=$-NN$4  $$+)KK

3&"(//&**"=$-NN$4  $$+-KK

3&"(//&**"=$-NN$4  '^^-N 9#8#8~NN_
Z  	Sy'<'<9>>RR	Ss8   APOP
AO! PL.O! P!+PPr_   c          
        K   | j                   j                  j                  dt        |       d|       d{   }	 d|j                  cxk  rdk  r:n n7t        j                  t        t        t        |j                                     S |j                  dk(  rvt        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                           |j                  d	k(  rvt        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                           |j                  d
k(  rvt        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                           |j                  dk(  rvt        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                           |j                  dk(  rvt!        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                           |j                  dk(  rvt#        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                           |j                         }t'        |j                  |      7 # t$        $ r" t'        |j                  |j(                        w xY ww)a  
        Parameters
        ----------
        id : str
            The fine-tuned model ID.

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        GetFinetunedModelResponse
            A successful response.

        Examples
        --------
        import asyncio

        from cohere import AsyncClient

        client = AsyncClient(
            client_name="YOUR_CLIENT_NAME",
            token="YOUR_TOKEN",
        )


        async def main() -> None:
            await client.finetuning.get_finetuned_model(
                id="id",
            )


        asyncio.run(main())
        ra   r2   rb   Nr7   r8   r9   r<   r=   r>   r?   r@   rA   rB   rc   rd   s        r&   re   z)AsyncFinetuningClient.get_finetuned_model  s    J ..;;CC-.>r.B-CD+ D 
 
	
G	Si++1c1{{-"7 ) 0  $$+%KK

3&"(//&**"=$-NN$4  $$+'KK

3&"(//&**"=$-NN$4  $$+$KK

3&"(//&**"=$-NN$4  $$+#KK

3&"(//&**"=$-NN$4  $$+)KK

3&"(//&**"=$-NN$4  $$+-KK

3&"(//&**"=$-NN$4  '^^-N 9#8#8~NN[
V  	Sy'<'<9>>RR	S5   8POP AO PL.O =P+PPc          
        K   | j                   j                  j                  dt        |       d|       d{   }	 d|j                  cxk  rdk  r:n n7t        j                  t        t        t        |j                                     S |j                  dk(  rvt        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                           |j                  d	k(  rvt        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                           |j                  d
k(  rvt        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                           |j                  dk(  rvt        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                           |j                  dk(  rvt!        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                           |j                  dk(  rvt#        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                           |j                         }t'        |j                  |      7 # t$        $ r" t'        |j                  |j(                        w xY ww)a  
        Parameters
        ----------
        id : str
            The fine-tuned model ID.

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        DeleteFinetunedModelResponse
            A successful response.

        Examples
        --------
        import asyncio

        from cohere import AsyncClient

        client = AsyncClient(
            client_name="YOUR_CLIENT_NAME",
            token="YOUR_TOKEN",
        )


        async def main() -> None:
            await client.finetuning.delete_finetuned_model(
                id="id",
            )


        asyncio.run(main())
        ra   rh   rb   Nr7   r8   r9   r<   r=   r>   r?   r@   rA   rB   ri   rd   s        r&   rj   z,AsyncFinetuningClient.delete_finetuned_model!  s    J ..;;CC-.>r.B-CD+ D 
 
	
G	Si++1c1{{0": ) 0  $$+%KK

3&"(//&**"=$-NN$4  $$+'KK

3&"(//&**"=$-NN$4  $$+$KK

3&"(//&**"=$-NN$4  $$+#KK

3&"(//&**"=$-NN$4  $$+)KK

3&"(//&**"=$-NN$4  $$+-KK

3&"(//&**"=$-NN$4  '^^-N 9#8#8~NN[
V  	Sy'<'<9>>RR	Sr   rk   rs   rt   rl   rm   rn   ro   rp   rq   rr   c       
         T  K   | j                   j                  j                  dt        |       d|||t	        |t
        d      ||||	|
d	ddi|t               d	{   }	 d
|j                  cxk  rdk  r:n n7t        j                  t        t        t        |j                                     S |j                  dk(  rvt        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                  dk(  rvt!        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                  dk(  rvt#        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                  dk(  rvt%        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                  dk(  rvt'        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                  dk(  rvt)        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                         }t-        |j                  |      7 # t*        $ r" t-        |j                  |j.                        w xY ww)a;  
        Parameters
        ----------
        id : str
            FinetunedModel ID.

        name : str
            FinetunedModel name (e.g. `foobar`).

        settings : Settings
            FinetunedModel settings such as dataset, hyperparameters...

        creator_id : typing.Optional[str]
            User ID of the creator.

        organization_id : typing.Optional[str]
            Organization ID.

        status : typing.Optional[Status]
            Current stage in the life-cycle of the fine-tuned model.

        created_at : typing.Optional[dt.datetime]
            Creation timestamp.

        updated_at : typing.Optional[dt.datetime]
            Latest update timestamp.

        completed_at : typing.Optional[dt.datetime]
            Timestamp for the completed fine-tuning.

        last_used : typing.Optional[dt.datetime]
            Deprecated: Timestamp for the latest request to this fine-tuned model.

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        UpdateFinetunedModelResponse
            A successful response.

        Examples
        --------
        import asyncio

        from cohere import AsyncClient
        from cohere.finetuning.finetuning import BaseModel, Settings

        client = AsyncClient(
            client_name="YOUR_CLIENT_NAME",
            token="YOUR_TOKEN",
        )


        async def main() -> None:
            await client.finetuning.update_finetuned_model(
                id="id",
                name="name",
                settings=Settings(
                    base_model=BaseModel(
                        base_type="BASE_TYPE_UNSPECIFIED",
                    ),
                    dataset_id="dataset_id",
                ),
            )


        asyncio.run(main())
        ra   rv   rU   rV   rw   rx   ry   rz   Nr7   r8   r9   r<   r=   r>   r?   r@   rA   rB   r|   r}   s                 r&   r~   z,AsyncFinetuningClient.update_finetuned_model  s?    h ..;;CC-.>r.B-CD(#2C$W !(( ,&  2 ,) D 
 
	,G	Si++1c1{{0": ) 0  $$+%KK

3&"(//&**"=$-NN$4  $$+'KK

3&"(//&**"=$-NN$4  $$+$KK

3&"(//&**"=$-NN$4  $$+#KK

3&"(//&**"=$-NN$4  $$+)KK

3&"(//&**"=$-NN$4  $$+-KK

3&"(//&**"=$-NN$4  '^^-N 9#8#8~NN}
x  	Sy'<'<9>>RR	Ss8   AP(O7P(#AO: 1P(2L.O:  P(:+P%%P(r   c          
        K   | j                   j                  j                  dt        |       dd|||d|       d{   }	 d|j                  cxk  rdk  r:n n7t        j                  t        t        t        |j                         	            S |j                  d
k(  rvt        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                         	                  |j                  dk(  rvt        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                         	                  |j                  dk(  rvt        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                         	                  |j                  dk(  rvt        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                         	                  |j                  dk(  rvt!        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                         	                  |j                  dk(  rvt#        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                         	                  |j                         }t'        |j                  |      7 # t$        $ r" t'        |j                  |j(                        w xY ww)a8  
        Parameters
        ----------
        finetuned_model_id : str
            The parent fine-tuned model ID.

        page_size : typing.Optional[int]
            Maximum number of results to be returned by the server. If 0, defaults to
            50.

        page_token : typing.Optional[str]
            Request a specific page of the list results.

        order_by : typing.Optional[str]
            Comma separated list of fields. For example: "created_at,name". The default
            sorting order is ascending. To specify descending order for a field, append
            " desc" to the field name. For example: "created_at desc,name".

            Supported sorting fields:
              - created_at (default)

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        ListEventsResponse
            A successful response.

        Examples
        --------
        import asyncio

        from cohere import AsyncClient

        client = AsyncClient(
            client_name="YOUR_CLIENT_NAME",
            token="YOUR_TOKEN",
        )


        async def main() -> None:
            await client.finetuning.list_events(
                finetuned_model_id="finetuned_model_id",
            )


        asyncio.run(main())
        ra   r   r2   r3   r4   Nr7   r8   r9   r<   r=   r>   r?   r@   rA   rB   r   r   s           r&   r   z!AsyncFinetuningClient.list_eventsI  s    t ..;;CC-.>?Q.R-SSZ[&($
 , D 	
 	
	G	Si++1c1{{&"0 ) 0  $$+%KK

3&"(//&**"=$-NN$4  $$+'KK

3&"(//&**"=$-NN$4  $$+$KK

3&"(//&**"=$-NN$4  $$+#KK

3&"(//&**"=$-NN$4  $$+)KK

3&"(//&**"=$-NN$4  $$+-KK

3&"(//&**"=$-NN$4  '^^-N 9#8#8~NNe	
`  	Sy'<'<9>>RR	Ss7   >P OPAO PL.O P+PPr   c          
        K   | j                   j                  j                  dt        |       dd||d|       d{   }	 d|j                  cxk  rdk  r:n n7t        j                  t        t        t        |j                         	            S |j                  d
k(  rvt        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                         	                  |j                  dk(  rvt        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                         	                  |j                  dk(  rvt        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                         	                  |j                  dk(  rvt        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                         	                  |j                  dk(  rvt!        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                         	                  |j                  dk(  rvt#        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                         	                  |j                         }t'        |j                  |      7 # t$        $ r" t'        |j                  |j(                        w xY ww)a  
        Parameters
        ----------
        finetuned_model_id : str
            The parent fine-tuned model ID.

        page_size : typing.Optional[int]
            Maximum number of results to be returned by the server. If 0, defaults to
            50.

        page_token : typing.Optional[str]
            Request a specific page of the list results.

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        ListTrainingStepMetricsResponse
            A successful response.

        Examples
        --------
        import asyncio

        from cohere import AsyncClient

        client = AsyncClient(
            client_name="YOUR_CLIENT_NAME",
            token="YOUR_TOKEN",
        )


        async def main() -> None:
            await client.finetuning.list_training_step_metrics(
                finetuned_model_id="finetuned_model_id",
            )


        asyncio.run(main())
        ra   r   r2   r   r4   Nr7   r8   r9   r<   r=   r>   r?   r@   rA   rB   r   r   s          r&   r   z0AsyncFinetuningClient.list_training_step_metrics  s    b ..;;CC-.>?Q.R-SSij&( , D 
 
	G	Si++1c1{{3"= ) 0  $$+%KK

3&"(//&**"=$-NN$4  $$+'KK

3&"(//&**"=$-NN$4  $$+$KK

3&"(//&**"=$-NN$4  $$+#KK

3&"(//&**"=$-NN$4  $$+)KK

3&"(//&**"=$-NN$4  $$+-KK

3&"(//&**"=$-NN$4  '^^-N 9#8#8~NNc
^  	Sy'<'<9>>RR	Ss6   =P
O P
AO P
L.O P
+PP
)r   r   r   r   r'   rH   rK   r   r   r   r   rQ   r   r   r^   r   re   r   rj   r\   r   r   r   r   r   r~   r   r   r   r   r   r)   r&   r   r     s   .*< . +/+/)-;?FO ??3'FO OOC(	FO
 //#&FO  8FO 
%FOR ^b|O(|O;A??>;Z|O	%|O~ NRrOrO+1??>+JrO	"rOj NRrOrO+1??>+JrO	%rOt ,004*.37375926;?rOrO 	rO
 rO OOC(rO  -rO 'rO OOBKK0rO OOBKK0rO oobkk2rO ??2;;/rO  8rO 
&rOp +/+/)-;?LOLO ??3'	LO
 OOC(LO //#&LO  8LO 
LOd +/+/;?BOBO ??3'	BO
 OOC(BO  8BO 
)BOr)   r   )7rH   core.client_wrapperr   core.request_optionsr   /finetuning.types.list_finetuned_models_responser   core.unchecked_base_modelr   errors.bad_request_errorr	   errors.unauthorized_errorr
   errors.forbidden_errorr   errors.not_found_errorr   errors.internal_server_errorr    errors.service_unavailable_errorr   json.decoderr   core.api_errorr    finetuning.types.finetuned_modelr   0finetuning.types.create_finetuned_model_responser   core.serializationr   -finetuning.types.get_finetuned_model_responser   core.jsonable_encoderr   0finetuning.types.delete_finetuned_model_responser   finetuning.types.settingsr   finetuning.types.statusr   r   r   0finetuning.types.update_finetuned_model_responser   %finetuning.types.list_events_responser   4finetuning.types.list_training_step_metrics_responser   r   rI   rL   r\   r   r   r   r)   r&   <module>r      s     3 1 X 6 6 9 3 2 > F ( % < Z H T 4 Z / +  Z E a 4 v{{6::s#~O ~OBvO vOr)   