Contenido del curso
Calidad y Profesionalismo del Código
Manejo de Datos y Recursos
Optimización y Pruebas
Creación de Aplicaciones de Consola
- 19

UV: Faster Python Dependency Management
07:17 min - 20

How Python Modules Keep Your Code Organized
07:14 min - 21

Organizing Python Code Into Packages
09:06 min - 22

Función enumerate en Python para indexar listas automáticamente
09:31 min - 23

Filtrado de listas con filter en Python
11:44 min - 24

Función map para calcular tiempo de lectura en Python
08:59 min - 25

Conexión de OpenAI API con variables de entorno en Python
Viendo ahora
Conexión de OpenAI API con variables de entorno en Python
Resumen
Conecta la API de OpenAI a un proyecto en Python para responder preguntas en lenguaje natural usando contexto de noticias. Aplica buenas prácticas como el uso de .env, variables de entorno y una prompt engineering mínima pero efectiva. Además, limita costos con selección de artículos y aprende a imprimir y verificar el contexto que envías a la IA.
¿Cómo proteger la API key con .env y variables de entorno?
Guardar llaves de la API en el código es un riesgo. La solución es .env y python-dotenv, cargando variables de entorno con seguridad y sin subirlas al repositorio.
- Usa un archivo .env para llaves y contraseñas.
- Instala python-dotenv con v: v add python-dotenv.
- Carga variables con load_dotenv y os.environ.get.
- Evita exponer la key en el código y en el control de versiones.
Código base:
# Instalación v add python-dotenv
# config.py from dotenv import load_dotenv import os load_dotenv() OPENAI_API_KEY = os.environ.get("OPENAI_API_KEY") # print(OPENAI_API_KEY) # Úsalo solo para probar; luego elimínalo.
# .env (ejemplo) OPENAI_API_KEY=tu_llave_secreta
Puntos clave:
- variables de entorno con os.environ.get.
- No subir API keys al repositorio.
- Imprimir solo para probar y luego borrar el print.
¿Cómo instalar la librería de OpenAI y configurar el cliente?
OpenAI ofrece una librería oficial en PyPI. Se integra creando un client y usando un model como GPT-4 (requiere saldo para su uso).
- Instala la librería desde PyPI.
- Crea un archivo OpenAI.py para centralizar la configuración.
- El client toma la key desde el entorno ya cargado.
- Usa instructions y input para controlar la respuesta.
# Instalación de la librería oficial v add openai
# OpenAI.py from openai import OpenAI client = OpenAI() # Toma la API key desde el entorno def analyze_news_withIA(articles, query): # Implementación mostrada abajo: construir *prompt* con contexto y consultar la API. pass
Notas:
- La librería incluye ejemplos claros de uso.
- Si usas v como gestor, puedes prescindir de un archivo de requerimientos y mantener una única fuente de dependencias.
- El endpoint de ejemplo utiliza instructions, input y selección de model.
¿Cómo construir el prompt con artículos y hacer la consulta?
La estrategia es pasar a la IA un contexto con títulos y descripciones de artículos, y luego una pregunta concreta. Para controlar costos, limita a los primeros diez artículos y recorta la descripción a cien caracteres.
- Extrae título y descripción con una lista por comprensión.
- Limita a 10 artículos para reducir costos en el LLM.
- Recorta descripciones a 100 caracteres.
- Redacta un prompt claro: “Responde de forma concisa en español”.
# Construcción de contexto y prompt def analyze_news_withIA(articles, query): context = "\n".join([ f"- Título: {a['title']}. Descripción: {a['description'][:100]}." for a in articles[:10] ]) prompt = ( "Basándote en estas noticias:\n" f"{context}\n" f"Pregunta: «{query}». Responde de forma concisa en español." ) # Ejemplo de uso del *client* con *model*, *instructions* e *input*. response = client.responses.create( model="gpt-4", instructions="eres un agente que lee en contexto y responde brevemente", input=prompt ) # Puede devolver un *stream* o quizás no haya respuesta; maneja ambos casos. return response or None
¿Cómo integrarlo en el flujo principal?
- Importa la función en el archivo principal.
- Pasa la lista de artículos y la query.
- Imprime la respuesta.
from OpenAI import analyze_news_withIA articulos = [...] # Lista de artículos ya obtenidos. pregunta = "¿Qué piensas de Python?" respuesta = analyze_news_withIA(articulos, pregunta) print(respuesta)
¿Cómo verificar el contexto enviado?
- Imprime el prompt para auditar qué recibe la IA.
- Observa la salida. Ejemplo de respuesta: “Python es un lenguaje versátil y popular…”.
# Dentro de analyze_news_withIA, temporalmente: print(prompt) # Útil para depurar qué se está enviando a la IA.
Habilidades y conceptos que practicas: lenguaje natural, API de OpenAI, .env, python-dotenv, variables de entorno, os.environ.get, lista por comprensión, control de costos en LLM, prompt conciso, impresión y pruebas en terminal, integración en main, manejo de posibles None o stream, y mención del modelo GPT-4 que requiere saldo. Próximos pasos sugeridos: programación orientada a objetos y publicación en un repositorio de GitHub aplicando buenas prácticas.
¿Tienes dudas o quieres compartir tu implementación? Comenta qué pregunta harías a la IA con tus noticias y qué mejoras planeas añadir.