Curso de Inteligencia Artificial para Servicio al Cliente

Toma las primeras clases gratis

⏱ 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

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:

🔗 http://127.0.0.1:8000/docs

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

Curso de Inteligencia Artificial para Servicio al Cliente

Toma las primeras clases gratis

0 Comentarios

para escribir tu comentario

Artículos relacionados