Fine-tuning unlocks powerful customization capabilities for large language models when basic prompting falls short or when youโ€™re facing throughput and latency constraints. With Oxen.ai, we make it easy to fine-tune LLMs on your own data without writing any code.

Simply upload your data, and we will provision optimized GPU infrastructure to execute the training process, then save the fine-tuned model weights directly to your repository.

Uploading a Dataset

To get started, youโ€™ll need to create a new repository on Oxen.ai. Once youโ€™ve created a repository, you can upload your data. The dataset can be in any tabular format including CSV, JSON, Parquet, or Arrow.

Once you have your dataset uploaded, you can query, explore, and make sure that the data is high quality before kicking off the fine-tuning process. Your model will only be as good as the data you train it on.

Selecting a Model

When you feel confident that your dataset is ready, use the โ€œActionsโ€ button to select the model you want to fine-tune.

This will take you to a form where you can select the model you want to fine-tune and the columns you want to use for the fine-tuning process. Right now we support fine-tuning for prompt/response single-turn chat pairs.

Contact us if you need to fine-tune a different model or have more complex data formats or use cases.

Monitoring the Fine-Tune

Once you have started the fine-tuning process, you can monitor its progress. The dashboard will show you loss over time, token accuracy, the learning rate, and number of tokens processed.

Click on the โ€œConfigurationโ€ tab to see the fine-tuning configuration. This will include a link to the dataset version you used and the raw model weights. It will show you the pricing for the fine-tuning process as well.

If you want access to the raw model weights, you can download them from the repository using the Oxen.ai Python library or the CLI.

from oxen import RemoteRepo

repo = RemoteRepo("my-username/my-repo")

repo.download("models", revision="Qwen3-0.6B-experiment-1_fte7562a9e")

Deploying the Model

Once the model is fine-tuned, you can deploy it to a hosted endpoint. This will give you a /chat/completions endpoint that you can use to test out the model.

Swap out the model name with the name of the model you want to use.

curl https://hub.oxen.ai/api/chat/completions -H "Content-Type: application/json" -d '{
    "model":"oxenai:my-model-name",
    "messages": [{"role": "user", "content": "What is the best name for a friendly ox?"}],
}'

If you need custom or private deployments in your own VPC, contact us to learn more.

Chatting with the Model

Once the model is deployed, you can also chat with it using the Oxen.ai chat interface. Learn more about the chat interface here.