> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://humanloop.com/docs/v4/guides/finetune-a-model/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://humanloop.com/_mcp/server. > In this guide we will demonstrate how to use Humanloop’s fine-tuning workflow to produce improved models leveraging your user feedback data. > **Paid Feature** > > This feature is not available for the Free tier. Please contact us if you wish > to learn more about our [Enterprise plan](https://humanloop.com/pricing) ### Prerequisites * You already have a Prompt — if not, please follow our [Prompt creation](/docs/guides/create-prompt) guide first. * You have integrated `humanloop.complete_deployed()` or the `humanloop.chat_deployed()` endpoints, along with the `humanloop.feedback()` with the [API](https://www.postman.com/humanloop/workspace/humanloop) or [Python SDK](./generate-and-log-with-the-sdk). > **Note** > > A common question is how much data do I need to fine-tune effectively? Here we > can reference the [OpenAI guidelines](https://beta.openai.com/docs/guides/fine-tuning): > > > *The more training examples you have, the better. We recommend having at least a couple hundred examples. In general, we've found that each doubling of the dataset size leads to a linear increase in model quality.* ## Fine-tuning The first part of fine-tuning is to select the data you wish to fine-tune on. ### Go to your Humanloop project and navigate to **Logs** tab. ### Create a **filter** Using the **+ Filter** button above the table of the logs you would like to fine-tune on. For example, all the logs that have received a positive upvote in the feedback captured from your end users. ![](/docs/_fern-img/d39f56590d20289ef4f6b21a9d0670302d8fe96fabc51283d89efc275fa31a0d.webp) ### Click the **Actions** button, then click the **New fine-tuned model** button to set up the finetuning process. ### Enter the appropriate parameters for the fine-tuned model. 1. Enter a **Model** name. This will be used as the suffix parameter in OpenAI’s fine-tune interface. For example, a suffix of "custom-model-name" would produce a model name like `ada:ft-your-org:custom-model-name-2022-02-15-04-21-04`. 2. Choose the **Base model** to fine-tune. This can be `ada`, `babbage`, `curie`, or `davinci`. 3. Select a **Validation split** percentage. This is the proportion of data that will be used for validation. Metrics will be periodically calculated against the validation data during training. 4. Enter a **Data snapshot name**. Humanloop associates a data snapshot to every fine-tuned model instance so it is easy to keep track of what data is used (you can see yourexisting data snapshots on the **Settings/Data snapshots** page) ![](/docs/_fern-img/8167f9fc0d371876740aa49bc830a75ef92928e733b33a0f23144bc88321f867.webp) ### Click **Create** The fine-tuning process runs asynchronously and may take up to a couple of hours to complete depending on your data snapshot size. ### See the progress Navigate to the **Fine-tuning** tab to see the progress of the fine-tuning process. Coming soon - notifications for when your fine-tuning jobs have completed. ![](/docs/_fern-img/8c695633524f43e16bceaf168bd40274ba033255c88efa53b0492e5a0a33f07f.webp) ### When the **Status** of the fine-tuned model is marked as **Successful**, the model is ready to use. 🎉 You can now use this fine-tuned model in a Prompt and evaluate its performance. > In this guide we will demonstrate how to use Humanloop’s fine-tuning workflow to produce improved models leveraging your user feedback data.