Saltar al contenido

Lección 1 de 20 · Lectura y práctica

Configuración de entornos para GPT y Claude APIs

Concepto claveLa configuración de entornos para APIs de GPT y Claude es el proceso de preparar tu infraestructura de desarrollo para interactuar de manera segura, eficiente y reproducible con estos modelos de lenguaje. Piensa en.

Del concepto a la práctica

Taller de esta lección

La configuración reproducible separa secretos, parámetros y código. Para una prueba local, usa una variable de entorno ficticia y un archivo de configuración que falle pronto si falta una clave; nunca incrustes la clave en el repositorio.

Ejemplo resuelto

python
import os
config = {"modelo": os.getenv("MODEL_NAME", "modelo-local"), "timeout": 8}
if not os.getenv("API_KEY"): raise RuntimeError("Falta API_KEY")
print(config["modelo"], config["timeout"])

La salida esperada es modelo-local 8 cuando existe API_KEY.

Pruébalo

  1. Define temporalmente API_KEY=prueba en tu sesión.

  2. Ejecuta el fragmento.

  3. Cambia MODEL_NAME a clasificador-v1.

  4. Elimina API_KEY y vuelve a ejecutar.

Error frecuente: guardar la clave en un archivo compartido; corrígelo usando variables y un archivo de ejemplo sin valores reales.

Comprueba tu resultado

El primer caso debe imprimir dos valores y el caso final sin API_KEY debe detenerse con Falta API_KEY. No envíes ninguna solicitud externa.

Configuración de cada proveedor

API_KEY=prueba solo comprueba presencia; no es una credencial válida ni debe enviarse fuera del laboratorio. Los SDK oficiales suelen leer OPENAI_API_KEY y ANTHROPIC_API_KEY respectivamente. Usa MODELO_OPENAI y MODELO_CLAUDE de configuración para un modelo compatible con el formato solicitado y registra versiones de SDK/modelo. No deduzcas disponibilidad de un nombre histórico del curso. Una prueba con adaptador simulado no requiere clave ni red y debe ser el valor predeterminado de los tests.

Cinco piezas de un pedido a la IA: objetivo, contexto, límites, formato y criterio de evaluación.
CursaloMapa de práctica
Un pedido que se puede evaluar

Un pedido útil explica qué resultado se busca y aporta el contexto necesario. Los límites y el formato reducen ambigüedades. Un criterio observable permite revisar el resultado y pedir un ajuste concreto.

Ver la infografía en tamaño completo ↗
Fuentes para profundizar

Concepto clave

La configuración de entornos para APIs de GPT y Claude es el proceso de preparar tu infraestructura de desarrollo para interactuar de manera segura, eficiente y reproducible con estos modelos de lenguaje. Piensa en esto como preparar tu taller de mecánica antes de reparar un coche: necesitas las herramientas correctas, un espacio organizado y protocolos de seguridad establecidos.

En el contexto del desarrollo full stack, esto significa crear un entorno donde puedas experimentar con prompts, integrar las respuestas en tus aplicaciones y mantener control sobre costos y rendimiento. La configuración adecuada te permite pasar de "probar cosas" a "desarrollar sistemas" con confianza.

Cómo funciona en la práctica

Imagina que estás construyendo una aplicación que genera descripciones de productos para un e-commerce. Tu configuración de entorno determinará cómo solicitas estas descripciones, cómo manejas errores y cómo escalas. Aquí está el proceso paso a paso:

  1. Obtén tus claves API desde los portales de OpenAI y Anthropic
  2. Configura variables de entorno para almacenar estas claves de forma segura
  3. Crea un gestor de configuración que controle parámetros como temperatura, tokens máximos y modelo específico
  4. Implementa un sistema de logging para rastrear prompts y respuestas
  5. Establece límites de uso para controlar costos en desarrollo y producción

Código en acción

Primero, veamos una configuración básica que NO deberías usar en producción:

# MALA PRÁCTICA: Clave API hardcodeada
gpt_api_key = "sk-abc123..."
claude_api_key = "sk-ant-xyz456..."

import openai
openai.api_key = gpt_api_key

# Llamada insegura
response = openai.ChatCompletion.create(
    model="gpt-4",
    messages=[{"role": "user", "content": "Describe este producto"}]
)

Ahora, la versión correcta para un entorno profesional:

# BUENA PRÁCTICA: Configuración profesional
import os
from dotenv import load_dotenv
import openai
from anthropic import Anthropic
import logging

# 1. Cargar variables de entorno
load_dotenv()

# 2. Configurar clientes con manejo de errores
try:
    gpt_client = openai.OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
    claude_client = Anthropic(api_key=os.getenv("ANTHROPIC_API_KEY"))
except Exception as e:
    logging.error(f"Error configurando clientes API: {e}")
    raise

# 3. Función con configuración centralizada
def generar_descripcion(producto, modelo="gpt-4", max_tokens=300):
    """Genera descripción de producto con configuración controlada"""
    config = {
        "model": modelo,
        "max_tokens": max_tokens,
        "temperature": 0.7,
        "top_p": 0.9
    }
    
    prompt = f"""Como experto en marketing, escribe una descripción atractiva para:
    Producto: {producto}
    
    Requisitos:
    - Máximo {max_tokens} tokens
    - Incluye beneficios clave
    - Llama a la acción
    """
    
    try:
        response = gpt_client.chat.completions.create(
            messages=[{"role": "user", "content": prompt}],
            **config
        )
        logging.info(f"Prompt ejecutado: {prompt[:100]}...")
        return response.choices[0].message.content
    except openai.RateLimitError:
        logging.warning("Límite de tasa alcanzado, reintentando...")
        # Lógica de reintento aquí
        return None

Errores comunes

  • Hardcodear claves API: Nunca commits tus claves reales en repositorios Git. Usa siempre variables de entorno o servicios de gestión de secretos.
  • Falta de manejo de errores: Las APIs pueden fallar por límites de tasa, tiempo de espera o problemas de red. Implementa siempre try-catch y lógica de reintento.
  • Configuración inconsistente entre entornos: Asegúrate que desarrollo, staging y producción usen las mismas configuraciones base pero diferentes claves y límites.
  • Sin monitoreo de costos: Establece alertas cuando el uso supere ciertos umbrales. Un prompt mal diseñado puede generar costos inesperados.
  • Usar el modelo incorrecto por defecto: GPT-4 es más caro que GPT-3.5. Define claramente cuándo usar cada modelo basado en necesidades de calidad vs costo.

Checklist de dominio

  1. ¿Tus claves API están almacenadas solo en variables de entorno o un gestor de secretos?
  2. ¿Tienes configuración separada para desarrollo, staging y producción?
  3. ¿Implementaste logging para rastrear todos los prompts y respuestas?
  4. ¿Estableciste límites de tasa y manejo de errores para fallos de API?
  5. ¿Configuraste alertas de costo mensual para cada proyecto?
  6. ¿Documentaste qué modelo usar para cada caso de uso en tu aplicación?
  7. ¿Puedes replicar tu entorno local en menos de 10 minutos?

Configura un entorno de desarrollo profesional para APIs de GPT y Claude

En este ejercicio, crearás una configuración de entorno profesional que puedas usar en proyectos reales. Sigue estos pasos:

  1. Crea un nuevo proyecto Python y configura un entorno virtual
  2. Instala las librerías necesarias: openai, anthropic, python-dotenv
  3. Crea un archivo .env con tus claves API (usa placeholders, NO claves reales)
  4. Implementa un módulo config.py que:
    • Cargue variables de entorno
    • Cree clientes para GPT y Claude con manejo de errores
    • Defina configuraciones por defecto (modelo, temperatura, tokens máximos)
  5. Añade logging básico que registre cada llamada a API
  6. Crea un script de prueba que use tu configuración para generar contenido

Entrega: Un repositorio Git con toda la estructura y un README explicando cada componente.

Pistas
  • Usa el patrón Singleton para tus clientes API si planeas reutilizarlos en múltiples módulos
  • Considera usar una clase Configuration que permita override de parámetros por llamada
  • Implementa un decorador para medir tiempo de respuesta y costo estimado por prompt

Evalua tu comprension

Completa el quiz interactivo de arriba para ganar XP.

Práctica acompañada: Automatiza una tarea verificable

Python, archivos CSV y pruebas pequeñas. Usa este cuaderno como práctica complementaria de la ruta; el material original de la lección continúa siendo tu referencia.

Python, archivos CSV y pruebas pequeñas: Entrada, Función, Salida, Prueba
De la idea al resultado: una secuencia para practicar y revisar.

Práctica: añade una salida reutilizable

Amplía el programa para escribir un nuevo archivo resumen.csv con encabezados categoria,total_centavos. No cambies resumir: añade una función que reciba su resultado y escriba la salida. Ejecuta dos veces y comprueba que no acumula filas duplicadas.

Después agrega una categoría con acento y una cantidad de dos dígitos. Comprueba que la codificación y la conversión siguen funcionando. Para automatizaciones de carpetas, aplica primero este patrón en una carpeta de prueba. Genera un informe de qué se cambiaría antes de habilitar operaciones de escritura sobre archivos importantes.

Comprueba tu entrega

Entrega el programa, la prueba, un ejemplo de entrada y un README con el comando exacto. Indica qué hace ante un archivo inexistente, una columna ausente o un valor inválido. La confiabilidad viene de conocer esos límites, no de añadir muchas funciones.

Sigue con Prompt Engineering Avanzado para APIs de GPT y Claude: Desarrollo de Sistemas Inteligentes

Esta lección forma parte de un curso de Cursalo. Revisa su programa y elige entre la compra individual o el acceso a toda la escuela.

Si ya tenías acceso a este curso, entra con tu cuenta: tus derechos y tu progreso se conservan. No necesitas comprarlo de nuevo.

01 / ELEGIR UNA RUTA

El próximo paso

Aprende IA mientras construyes algo que sí necesitas.

Empieza por el curso inicial o explora el catálogo para encontrar una práctica alineada con tu trabajo.