Inicio > Cursos > IA para Devs > OpenAI API
IA para DevsAPIs de IA para DesarrolladoresLección 4 de 13

OpenAI API

OpenAI lanzó su API pública en 2020 y creó una industria nueva de un solo golpe. Hoy es la API de IA más usada del mundo, con millones de aplicaciones construidas encima. Te da acceso a GPT-4o para texto y visión, DALL-E 3 para generar imágenes, Whisper para transcribir audio a texto, y embeddings para convertir texto en vectores numéricos que representan su significado semántico.

El concepto central es el Chat Completion: envías un array de mensajes con roles (system, user, assistant) y recibes la respuesta del modelo. El mensaje "system" es el prompt que define la personalidad y reglas del asistente —como las instrucciones que le darías a un empleado nuevo el primer día.

Los parámetros clave son temperature (0 para código preciso, 0.7-1.0 para escritura creativa) y max_tokens (controla el costo y longitud de respuesta).

// npm install openai
import OpenAI from "openai";

const openai = new OpenAI({
  apiKey: process.env.OPENAI_API_KEY,
});

// Chat Completion (el más usado)
async function chat(mensaje, historial = []) {
  const respuesta = await openai.chat.completions.create({
    model: "gpt-4o-mini", // Más rápido y barato
    messages: [
      {
        role: "system",
        content: "Eres un asistente de código experto. Responde en español."
      },
      ...historial,
      { role: "user", content: mensaje }
    ],
    temperature: 0.3,   // Bajo para código
    max_tokens: 1000,
  });
  
  return respuesta.choices[0].message.content;
}

// Streaming (respuesta en tiempo real)
async function chatStream(mensaje) {
  const stream = await openai.chat.completions.create({
    model: "gpt-4o-mini",
    messages: [{ role: "user", content: mensaje }],
    stream: true,
  });
  
  for await (const chunk of stream) {
    process.stdout.write(chunk.choices[0]?.delta?.content || "");
  }
}

// Embeddings (para búsqueda semántica)
async function obtenerEmbedding(texto) {
  const resp = await openai.embeddings.create({
    model: "text-embedding-3-small",
    input: texto,
  });
  return resp.data[0].embedding; // Array de 1536 números
}

// Visión (analizar imágenes)
async function analizarImagen(imagenUrl, pregunta) {
  const resp = await openai.chat.completions.create({
    model: "gpt-4o",
    messages: [{
      role: "user",
      content: [
        { type: "image_url", image_url: { url: imagenUrl } },
        { type: "text", text: pregunta }
      ]
    }]
  });
  return resp.choices[0].message.content;
}
Consejo💰 gpt-4o-mini es 15x más barato que gpt-4o y suficiente para la mayoría de casos. Usa gpt-4o solo cuando necesites máxima capacidad.
← Prompt Engineering para CódigoAnthropic Claude API →

Practica esta lección

Resuelve los ejercicios del curso de IA para Devs en la app, gratis y con corrección automática.

Empezar a practicar