Edits history of script submission #12103 for ' Trains and deploys a fine-tuned model. (cohere)'

  • bun
    One script reply has been approved by the moderators
    Ap­pro­ved
    //native
    type Cohere = {
      apiKey: string;
    };
    /**
     * Trains and deploys a fine-tuned model.
     *
     */
    export async function main(
      auth: Cohere,
      body: {
        id?: string;
        name?: string;
        creator_id?: string;
        organization_id?: string;
        settings?: {
          base_model: {
            name?: string;
            version?: string;
            base_type:
              | "BASE_TYPE_UNSPECIFIED"
              | "BASE_TYPE_GENERATIVE"
              | "BASE_TYPE_CLASSIFICATION"
              | "BASE_TYPE_RERANK"
              | "BASE_TYPE_CHAT";
            strategy?:
              | "STRATEGY_UNSPECIFIED"
              | "STRATEGY_VANILLA"
              | "STRATEGY_TFEW";
          };
          dataset_id: string;
          hyperparameters?: {
            early_stopping_patience?: number;
            early_stopping_threshold?: number;
            train_batch_size?: number;
            train_epochs?: number;
            learning_rate?: number;
            lora_alpha?: number;
            lora_rank?: number;
            lora_target_modules?:
              | "LORA_TARGET_MODULES_UNSPECIFIED"
              | "LORA_TARGET_MODULES_QV"
              | "LORA_TARGET_MODULES_QKVO"
              | "LORA_TARGET_MODULES_QKVO_FFN";
          };
          multi_label?: false | true;
          wandb?: { project: string; api_key: string; entity?: string };
        };
        status?:
          | "STATUS_UNSPECIFIED"
          | "STATUS_FINETUNING"
          | "STATUS_DEPLOYING_API"
          | "STATUS_READY"
          | "STATUS_FAILED"
          | "STATUS_DELETED"
          | "STATUS_TEMPORARILY_OFFLINE"
          | "STATUS_PAUSED"
          | "STATUS_QUEUED";
        created_at?: string;
        updated_at?: string;
        completed_at?: string;
        last_used?: string;
      },
    ) {
      const url = new URL(`https://api.cohere.com/v1/finetuning/finetuned-models`);
    
      const response = await fetch(url, {
        method: "POST",
        headers: {
          "Content-Type": "application/json",
          Authorization: "Bearer " + auth.apiKey,
        },
        body: JSON.stringify(body),
      });
      if (!response.ok) {
        const text = await response.text();
        throw new Error(`${response.status} ${text}`);
      }
      return await response.json();
    }
    

    Submitted by hugo697 428 days ago