Volver a herramientas
DisponibleDatos·

Fine-tuning API

API para ajustar fino modelos de OpenAI con datos propios. Mejora el rendimiento en tareas específicas, reduce la longitud de prompts y crea modelos con estilo o conocimiento de dominio personalizado.

Compatible con

PythonTypeScriptREST API
fine-tuningentrenamientopersonalizaciónopenaimlops

Fine-tuning API: adapta GPT a tu dominio

El fine-tuning permite entrenar una versión personalizada de los modelos de OpenAI con tus propios datos, obteniendo mejor rendimiento en tareas específicas con prompts más cortos.

Cuándo usar fine-tuning

  • El modelo base con prompts detallados no alcanza la calidad requerida
  • Necesitas un estilo de respuesta muy específico y consistente
  • Quieres reducir el coste de tokens en prompts largos y repetitivos
  • Tu caso de uso requiere conocimiento de dominio especializado

Preparar los datos

# Formato JSONL requerido
import json

datos_entrenamiento = [
    {
        "messages": [
            {"role": "system", "content": "Eres un experto en derecho mercantil español."},
            {"role": "user", "content": "¿Qué es una SL?"},
            {"role": "assistant", "content": "Una Sociedad de Responsabilidad Limitada (SL) es..."}
        ]
    },
    # ... mínimo 10 ejemplos, recomendado 50-100+
]

with open("entrenamiento.jsonl", "w") as f:
    for item in datos_entrenamiento:
        f.write(json.dumps(item, ensure_ascii=False) + "\n")

Lanzar el entrenamiento

from openai import OpenAI

client = OpenAI()

# Subir archivo
archivo = client.files.create(
    file=open("entrenamiento.jsonl", "rb"),
    purpose="fine-tune"
)

# Crear trabajo de fine-tuning
job = client.fine_tuning.jobs.create(
    training_file=archivo.id,
    model="gpt-4o-mini"
)

print(job.id)  # ftjob-abc123

Monitorizar y usar el modelo

# Ver estado
job = client.fine_tuning.jobs.retrieve("ftjob-abc123")
print(job.status, job.fine_tuned_model)

# Usar el modelo personalizado
response = client.chat.completions.create(
    model=job.fine_tuned_model,  # ft:gpt-4o-mini:tu-org:nombre:id
    messages=[{"role": "user", "content": "¿Qué es una SL?"}]
)

Modelos disponibles para fine-tuning

gpt-4o-mini, gpt-4o, gpt-3.5-turbo (y sus variantes de fecha)