Turn a CSV or hand-entered rows into the JSONL training format each provider expects. The message shapes differ between OpenAI, Anthropic, and Together AI, and getting one wrong fails the upload rather than the training run.
Convert your training data to JSONL format for fine-tuning OpenAI, Anthropic, or open-source models. Paste CSV or add examples manually. Download the ready-to-upload JSONL file.
{"messages":[{"role":"system","content":"You are a helpful DevOps assistant."},{"role":"user","content":"How do I restart a Kubernetes pod?"},{"role":"assistant","content":"Use kubectl rollout restart deployment/<name> to perform a rolling restart."}]}
{"messages":[{"role":"system","content":"You are a helpful DevOps assistant."},{"role":"user","content":"What is a Dockerfile?"},{"role":"assistant","content":"A Dockerfile is a text file with instructions to build a Docker container image."}]}JSONL is not JSON. Each line is an independent JSON object with no commas between them and no enclosing array, and the single most common upload failure is submitting a pretty-printed JSON array instead. The second most common is a trailing newline issue or an embedded literal newline inside a string.
Before you fine-tune at all, check that you need to. Fine-tuning teaches format and style reliably; it is a poor way to teach facts, which is what retrieval is for. If the goal is the model knowing your documentation, RAG will outperform fine-tuning at a fraction of the cost and effort.