Skip to main content
Cohere
current

Search documentation

Type to search this documentation.

On this pageOverview

Programmatic Fine-tuning

Fine-tune models using the Cohere Python SDK programmatically and monitor the results through the Dashboard Web UI.

In addition to using the Web UI for fine-tuning models, customers can also kick off fine-tuning jobs programmatically using the Fine-tuning API or via the Cohere Python SDK. This can be useful for fine-tuning jobs that happen on a regular cadence, such as fine-tuning nightly on newly-acquired data.

Before a fine-tuning job can be started, users must upload a Dataset with training and (optionally) evaluation data. The contents and structure of the dataset will vary depending on the type of fine-tuning. Read more about preparing the training data for Chat, Classify, and Rerank fine-tuning.

The snippet below creates a dataset for fine-tuning a model on records of customer service interactions.

PYTHON
# create a dataset
co = cohere.Client("Your API key")

my_dataset = co.datasets.create(
    name="customer service logs",
    type="chat-finetune-input",
    data=open("./customer-chat.jsonl", "rb"),
    eval_data=open("./customer-chat-eval.jsonl", "rb"),
)

result = co.wait(my_dataset)

Below is an example of starting a fine-tuning job of a generative model for Chat using a dataset of conversational data.

PYTHON
from cohere.finetuning import FinetunedModel, Settings, BaseModel

# start training a custom model using the dataset
finetuned_model = co.finetuning.create_finetuned_model(
    request=FinetunedModel(
        name="customer-service-chat-model",
        settings=Settings(
            base_model=BaseModel(
                base_type="BASE_TYPE_CHAT",
            ),
            dataset_id=my_dataset.id,
        ),
    ),
)

When the fine-tuning model is ready you will receive an email notification. You can explore the evaluation metrics using the Dashboard and try out your model using one of our APIs on the Playground.

Suggest an edit

Propose a replacement for this page. The site team reviews it before applying any changes.

Export
Documentation menu