⏱ Tiempo estimado: 22 minutos
🎯 Rama / Perfil: Desarrollo backend / personas que quieren convertir un prototipo de IA en una funcionalidad real de una aplicación
🧠 Conocimiento previo necesario: Conceptos básicos de prompts y asistentes de IA del curso. Python básico y nociones de APIs HTTP.
💡 ¿Qué vas a lograr? Construirás una API con FastAPI que recibe una consulta de un cliente, consulta información externa y utiliza esa información para generar una respuesta con IA.
Idea clave: el salto importante aquí no es "hacer que la IA responda mejor". Es hacer que la IA pueda consultar sistemas externos antes de responder. OpenAI permite extender sus modelos mediante herramientas y funciones para acceder a datos o ejecutar acciones externas.
🛠 Lo que necesitas antes de empezar
- Python 3.10+ → 🔗 Sitio oficial de Python
- FastAPI → 🔗 Documentación oficial
- OpenAI API → 🔗 Quickstart oficial
- Una API key de OpenAI con acceso a la API.
- Terminal y editor de código.
FastAPI genera además documentación interactiva automáticamente en /docs, algo que aprovecharemos para probar nuestra API.
📋 Pasos
Paso 1 — Crea el proyecto
Vamos a crear una aplicación pequeña y deliberadamente sencilla.
asistente-soporte/
├── .venv/
├── .env
├── main.py
└── requirements.txt
En la terminal:
mkdir asistente-soporte
cd asistente-soporte
python -m venv .venv
source .venv/bin/activate
pip install fastapi "uvicorn[standard]" openai python-dotenv
Crea .env:
OPENAI_API_KEY=tu_api_key
Importante: agrega .env a .gitignore. Nunca subas la API key a GitHub.
Paso 2 — Crea el endpoint de soporte
En main.py, crea una aplicación FastAPI con un endpoint:
POST /soporte
El endpoint debe recibir algo parecido a:
{
"pregunta": "¿Cuánto cuesta el plan profesional?"
}
Y devolver:
{
"respuesta": "..."
}
La estructura conceptual será:
Cliente
│
▼
POST /soporte
│
▼
FastAPI
│
├──► consulta datos externos
│
▼
OpenAI
│
▼
Respuesta
No necesitas construir todavía una arquitectura compleja. El objetivo es entender dónde entra la IA dentro de una aplicación real.
Paso 3 — Dale a la aplicación una fuente externa
Aquí está la parte que realmente extiende lo aprendido en el curso.
Supongamos que tu empresa tiene esta información:
PRODUCTOS = {
"plan básico": {
"precio": 20000,
"soporte": "correo electrónico"
},
"plan profesional": {
"precio": 50000,
"soporte": "correo + chat"
}
}
Crea una función:
buscar_producto(pregunta)
Su responsabilidad será encontrar qué información del sistema corresponde a la consulta.
Por ejemplo:
Pregunta:
"¿Cuánto cuesta el plan profesional?"
↓
buscar_producto()
↓
{
"precio": 50000,
"soporte": "correo + chat"
}
Aquí aparece un concepto fundamental: la IA no tiene por qué ser quien almacena toda la información.
Tu aplicación puede ser la fuente de verdad.
Paso 4 — Envía esos datos junto con la pregunta a OpenAI
Ahora crea el flujo:
pregunta del usuario
↓
buscar información
↓
obtener datos reales
↓
enviar pregunta + datos a OpenAI
↓
generar respuesta
La instrucción para el modelo puede ser conceptualmente:
Eres un agente de servicio al cliente.
Utiliza exclusivamente la información proporcionada
por el sistema para responder.
Información disponible:
{datos}
Pregunta del cliente:
{pregunta}
La llamada se realiza mediante el SDK oficial de OpenAI. El quickstart actual de OpenAI utiliza el SDK de Python y la Responses API para realizar solicitudes.
Tu código debería terminar teniendo aproximadamente esta separación:
main.py
│
├── recibir_pregunta()
│
├── buscar_producto()
│
└── generar_respuesta()
Esto es mucho más importante que simplemente hacer funcionar la llamada a OpenAI: estás empezando a separar responsabilidades.
Paso 5 — Prueba preguntas que NO estén en tus datos
Abre:
FastAPI genera esta interfaz automáticamente.
Prueba:
¿Cuánto cuesta el plan profesional?
Después:
¿Qué incluye el plan básico?
Y finalmente:
¿Tienen oficinas en Bogotá?
La tercera pregunta es importante.
Tu aplicación no debería inventar la respuesta.
Idealmente debería producir algo como:
"No tengo información disponible sobre oficinas en Bogotá."
Ese comportamiento es el inicio de algo mucho más importante: controlar qué información puede utilizar el modelo.
Paso 6 — Convierte la fuente simulada en una fuente real
Ahora sustituye:
PRODUCTOS = {...}
por una fuente externa real.
Por ejemplo:
FastAPI
│
├──► PostgreSQL
│
├──► API de productos
│
├──► API de pedidos
│
└──► OpenAI
Una consulta podría terminar haciendo:
Cliente:
"¿Dónde está mi pedido 4587?"
↓
FastAPI
↓
GET /pedidos/4587
↓
{
"estado": "enviado",
"ciudad": "Medellín",
"entrega_estimada": "mañana"
}
↓
OpenAI
↓
"Tu pedido ya fue enviado y está en Medellín..."
Ese es el cambio de paradigma: la IA deja de ser únicamente un chatbot y comienza a funcionar como capa inteligente sobre los sistemas de tu aplicación.
✅ Resultado esperado
Al terminar tendrás una API funcional con este flujo:
Pregunta del cliente
↓
FastAPI
↓
Obtención de datos
↓
OpenAI
↓
Respuesta contextualizada
Además, habrás separado tres responsabilidades: API → datos → generación de lenguaje.
🔥 Tu reto
Conecta el endpoint a una fuente de datos que ya exista en alguno de tus proyectos.
Por ejemplo:
Usuario
↓
"¿Cuánto gasté este mes?"
↓
FastAPI
↓
PostgreSQL
↓
Movimientos
↓
OpenAI
↓
"Este mes has gastado $X..."
Eso convertiría este ejercicio en una primera versión de un asistente financiero conectado a datos reales.
📚 Recursos para ir más lejos
- OpenAI API — Quickstart — Integración oficial de OpenAI desde Python.
- OpenAI API — Tools — Cómo conectar modelos con herramientas y fuentes externas.
- FastAPI — First Steps — Construcción de APIs y documentación automática
Curso de Inteligencia Artificial para Servicio al Cliente
COMPARTE ESTE ARTÍCULO Y MUESTRA LO QUE APRENDISTE

