Germán Mallo

0 %
Germán Mallo
Data Scientist
  • Residence:
    España
  • City:
    Valencia
  • Age:
    21
Español
Inglés
Valenciano
Python
R
Photoshop
WordPress
Wondershare Filmora
SQL
  • Advanced Knowledge in Statistics
  • UPV Student
  • GIT knowledge

Cómo utilizar el nuevo modelo “open” de OpenAI desde mi terminal

06/08/2025

Llevaba tiempo esperando esto. OpenAI, por fin, ha liberado gpt-oss, su primera familia de modelos con pesos abiertos en muchos años: dos versiones, gpt-oss-120b y gpt-oss-20b, con licencia Apache 2.0 y pensados para ejecutarse en local. Ayer, 5 de agosto de 2025, publicaron la página oficial y los enlaces de descarga. Yo, que soy bastante entusiasta de tener los modelos funcionando en mi propia máquina, estaba deseando algo así: menos dependencia de servicios externos, más control y margen para cacharrear.

No es “open-source” en el sentido más estricto (no han publicado los datos ni el proceso completo de entrenamiento), pero sí es open-weight, con una licencia permisiva y pesos descargables. Para muchos usos, eso es más que suficiente.


¿Qué es exactamente lo que han lanzado y por qué me interesa?

OpenAI ha publicado dos modelos:

  • gpt-oss-120b, pensado para tareas exigentes y que requiere una GPU con unos 80 GB de VRAM.
  • gpt-oss-20b, mucho más ligero, que funciona con unos 16 GB de memoria (ideal para ordenadores de escritorio, portátiles potentes o servidores domésticos).

Ambos admiten contexto de hasta 128k tokens, y tienen una particularidad que me parece interesante: se puede ajustar el “esfuerzo de razonamiento” (low, medium o high) simplemente con una instrucción al sistema. Esto permite modular el rendimiento y el coste según el uso.

OpenAI presenta estos modelos como un paso intermedio: no sustituyen a los modelos hospedados (tipo GPT-4), pero sí permiten tener opciones privadas, reproducibles y controladas, que se pueden integrar en cualquier flujo local. Justo lo que quería.


Casos de uso que tengo en mente

  • Agentes locales que puedan ejecutar código, navegar o hacer function calling sin conexión a la nube.
  • Razonamiento complejo en problemas técnicos o de código, con latencia estable.
  • Proyectos personales en los que no quiero depender de una API externa o enviar datos fuera.
  • Ajustes personalizados, sin restricciones comerciales.

Así lo he puesto a funcionar (todo desde la terminal)

Opción rápida: Ollama

Si quiero probar el modelo ya, la ruta más directa es con Ollama, que permite tirar de modelos con un solo comando:

# Modelo pequeño (recomendado para empezar)
ollama run gpt-oss:20b

# Modelo grande (si tienes una GPU potente)
ollama run gpt-oss:120b

Estos modelos ya están publicados y disponibles en la interfaz de Ollama. En el primer mensaje, puedes indicar el nivel de razonamiento, por ejemplo:

Sistema: Reasoning: medium

Listo para funcionar en segundos.


API local compatible con OpenAI: vLLM

Si quiero algo más versátil, levanto un servidor local compatible con la API de OpenAI usando vLLM. Esto me permite conectarme desde scripts, aplicaciones o terminal.

Por ejemplo, en Docker:

docker run --gpus all \
  -p 8000:8000 \
  --ipc=host \
  vllm/vllm-openai:gptoss \
  --model openai/gpt-oss-20b

Y para interactuar vía HTTP:

curl http://localhost:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-oss-20b",
    "messages": [
      {"role": "system", "content": "Reasoning: high"},
      {"role": "user", "content": "Explícame RAG en 5 líneas."}
    ],
    "max_tokens": 300
  }'

Ideal si quieres montar un entorno tipo API privada.


Opción más flexible: Transformers (Hugging Face)

Si prefiero escribir un script en Python, puedo usar Transformers directamente con el modelo:

pip install -U transformers torch
python - << 'PY'
from transformers import pipeline
pipe = pipeline(
    "text-generation",
    model="openai/gpt-oss-20b",
    torch_dtype="auto",
    device_map="auto"
)
messages = [
  {"role": "system", "content": "Reasoning: low"},
  {"role": "user", "content": "Dame un ejemplo de prompt para generar tests unitarios."}
]
out = pipe(messages, max_new_tokens=256)
print(out[0]["generated_text"][-1])
PY

Este pipeline ya soporta el formato de chat “harmony” que OpenAI recomienda para gpt-oss.


Opción minimalista: descargar los pesos

Si lo que quiero es solo los archivos para trastear o integrarlos de otra forma:

huggingface-cli download openai/gpt-oss-20b --local-dir gpt-oss-20b
huggingface-cli download openai/gpt-oss-120b --local-dir gpt-oss-120b

Todos los detalles (formatos, configuraciones, cuantización, etc.) están en los model cards oficiales.


Detalles técnicos que me guardo

  • Licencia: Apache 2.0 → permite uso comercial y ajuste fino (fine-tuning).
  • Cuantización: los pesos vienen en formato MXFP4, lo que permite usar menos memoria.
  • Requisitos orientativos:
    • 20b: funciona bien con ~16 GB de VRAM.
    • 120b: requiere ~80 GB (no es para todos los equipos, claro).
  • Contexto largo: hasta 128k tokens → útil para documentos extensos.
  • Rendimiento: OpenAI lo sitúa cerca de modelos como o3-mini o o4-mini, y bien preparado para tareas de razonamiento, programación y agentes.

Llevaba años usando modelos cerrados de OpenAI y, aunque son buenísimos, echaba en falta algo que pudiera descargar, ejecutar, modificar… y controlar. Esto, sin ser “open-source” de verdad, se siente como un paso importante. Ahora puedo tener mis propios modelos GPT-style corriendo en casa, listos para lo que surja.

Posted in Guías, IATags:
Write a comment