CloudCodeTree LogoCloudCodeTree
AI NewsTutorialsAbout
CloudCodeTree Logo
CloudCodeTree
  • AI News
  • Tutorials
  • About
← Back to AI News
You Fine-Tuned It — Now Who Hosts It? Together.ai Serves Your Custom Model and 200+ Open Models via One API

You Fine-Tuned It — Now Who Hosts It? Together.ai Serves Your Custom Model and 200+ Open Models via One API

Chris Harper

2 min read

Aug 3, 2026 · 20:07 UTC

AI
Tutorial
Self-Hosting
Fine-Tuning
LLM

Together.ai is one API key for 200+ open-source models and your own LoRA fine-tunes — training and serving on one platform, no GPU infrastructure to manage.

What you'll be able to do after this:

  • Call Llama, Qwen, Mistral, and DeepSeek via an OpenAI-compatible endpoint in three lines of Python
  • Upload training data, run a fine-tuning job, and serve the output — all in one platform, no GPU provisioning
  • Switch from a base model to your fine-tuned checkpoint with a one-line model-name change

After the fine-tuning tutorials (QLoRA with Unsloth, MLX-LM on Mac), the next question is: where does the resulting checkpoint actually run in production? Together.ai answers it cleanly: one platform for inference, fine-tuning, and serving your own checkpoints.

Base model inference (3 lines)

pip install together
from together import Together

client = Together()  # reads TOGETHER_API_KEY from env

response = client.chat.completions.create(
    model="Qwen/Qwen3-72B-Instruct",   # 200+ options at docs.together.ai/docs/serverless/models
    messages=[{"role": "user", "content": "Explain LoRA in one paragraph."}]
)
print(response.choices[0].message.content)

The Together client is OpenAI-compatible. If you already use the OpenAI SDK, swap the import and base URL — your streaming, tool-calling, and structured output code works without changes.

Fine-tune and serve your own checkpoint

import time
from together import Together

client = Together()

# 1. Upload training data (JSONL, one example per line)
upload = client.files.upload(file=("training.jsonl", open("training.jsonl", "rb")))

# 2. Start fine-tuning
ft = client.fine_tuning.create(
    training_file=upload.id,
    model="meta-llama/Llama-3.2-8B-Instruct",
    n_epochs=3,
    suffix="my-domain"
)

# 3. Wait for completion
while (job := client.fine_tuning.retrieve(ft.id)).status != "completed":
    time.sleep(30)

# 4. Serve via the same API — one-line model name change
response = client.chat.completions.create(
    model=job.output_name,
    messages=[{"role": "user", "content": "..."}]
)

Why Together.ai over self-hosting with vLLM: serverless endpoints mean no GPU reservations, no Docker, no capacity planning. You pay per token, and your fine-tuned model is available immediately after the training job completes. For high-volume workloads, client.endpoints.create() provisions a reserved instance.

Sources: Fine-Tune Any LLM from HuggingFace Hub with Together AI · Together.ai Finetuning Cookbook · Deploying a fine-tuned model — Together.ai Docs