Ir al contenido principal

Publicar una aplicación LLM como un endpoint de API con FastAPI en Python

Libera el poder de los Large Language Models (LLMs) en tus aplicaciones con nuestro último blog, "Publicar una aplicación LLM como un endpoint de API con FastAPI en Python". LLMs como GPT, Claude y LLaMA están revolucionando los chatbots, la creación de contenidos y muchos otros casos de uso. Descubre cómo las APIs actúan como puentes clave que permiten integrar sin fricciones funciones avanzadas de comprensión y generación de lenguaje en tus proyectos.
Actualizado 17 sept 2026

Explorar con IA

ChatGPTClaudePerplexity

Introducción

Los Large Language Models (LLMs) lideran la IA generativa, transformando la manera en que las máquinas comprenden y generan texto con apariencia humana. Modelos LLM como GPT, Claude, LLaMA, Mistral, etc. impulsan innovaciones en chatbots, creación de contenido y mucho más, ofreciendo capacidades sin precedentes para procesar y generar lenguaje natural.

Ahora bien, la verdadera utilidad de los LLMs va más allá de su potencia computacional; la clave es la accesibilidad. Las APIs (Application Programming Interfaces) actúan como puentes que permiten a aplicaciones diversas aprovechar la potencia de los LLMs. Hacen posible que los desarrolladores integren funciones sofisticadas de comprensión y generación de lenguaje en sus aplicaciones, desde análisis de texto sencillos hasta sistemas de diálogo complejos.

En este tutorial, crearemos una aplicación sencilla en Python utilizando el modelo GPT de OpenAI y la expondremos mediante un endpoint de API desarrollado con el framework FastAPI en Python.

Large Language Models

Los Large Language Models (LLMs) son sistemas avanzados de inteligencia artificial diseñados para comprender y generar texto con apariencia humana. Se entrenan con ingentes cantidades de datos, lo que les permite captar patrones complejos, entender matices del lenguaje y producir respuestas coherentes.

Los LLMs pueden abordar múltiples tareas relacionadas con el lenguaje: traducción, autocompletado, resumen de textos e incluso mantener conversaciones. GPT es un ejemplo de LLM.

En esta publicación, construiremos una aplicación sencilla en Python usando la API de GPT de OpenAI y después crearemos un endpoint REST para nuestra aplicación con el framework FastAPI en Python.

Un LLM es un tipo de IA generativa. Si quieres aprender más sobre la IA generativa y cómo puede potenciar tu creatividad, echa un vistazo a nuestras entradas sobre cómo usar la IA generativa para impulsar tu creatividad y a nuestro pódcast Dentro de la revolución de la IA generativa.

También puedes inscribirte en nuestro próximo curso sobre conceptos de Large Language Models.

¿Qué es una API?

Una Application Programming Interface (API) es la columna vertebral de la comunicación entre softwares: permite que distintos sistemas, aplicaciones y dispositivos interactúen y compartan datos sin fricciones. Define reglas y protocolos para que unas entidades de software se comuniquen con otras, ofreciendo una vía predefinida para que una aplicación aproveche capacidades o datos de otra sin conocer sus entresijos.

Las APIs están por todas partes en el ecosistema digital actual: impulsan servicios web, apps móviles y la computación en la nube, facilitando la comunicación entre aplicaciones y la integración de servicios de terceros. Simplifican el desarrollo al proporcionar bloques de construcción que los desarrolladores pueden reutilizar para acelerar la creación de nuevo software, ampliando funcionalidades y mejorando la experiencia de usuario sin empezar de cero.

Gracias a las APIs, los desarrolladores pueden ampliar sus aplicaciones de formas que de otro modo serían complejas o inviables, por lo que son un componente esencial del desarrollo de software moderno.

Captura que muestra cómo funciona una API

Fuente de la imagen

Si te interesa la ingeniería aplicada al despliegue de modelos de machine learning en entornos reales, consulta esta guía completa sobre machine learning, pipelines, despliegue y MLOps. También puedes echar un vistazo al curso gratuito Introducción a las APIs en Datacamp.

FastAPI

FastAPI es un framework de Python pensado para crear APIs de alto rendimiento. Su popularidad se debe a su velocidad, facilidad de uso y compatibilidad con la programación asíncrona. FastAPI ayuda a exponer funcionalidades de LLMs como endpoints de API, facilitando el despliegue, la gestión y la escalabilidad de servicios de IA.

FastAPI destaca por su rendimiento y eficiencia, aprovechando características modernas de Python como las anotaciones de tipos y la programación asíncrona para ofrecer mejoras de velocidad comparables a NodeJS e incluso Go.

Esta ventaja es clave en aplicaciones que requieren procesamiento en tiempo real y manejar peticiones concurrentes, como las que interactúan con LLMs. Su capacidad para validar automáticamente los datos de entrada y serializar respuestas reduce el código repetitivo, haciendo el desarrollo de APIs más limpio y directo.

La documentación automática, basada en estándares como OpenAPI, ofrece a desarrolladores y usuarios una documentación clara e interactiva de la API, lo que simplifica aún más la integración y las pruebas.

Ejemplo de creación de API:

from typing import Union

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def read_root():
    return {"Hello": "World"}

@app.get("/items/{item_id}")
def read_item(item_id: int, q: Union[str, None] = None):
    return {"item_id": item_id, "q": q}

Este código crea un servidor web sencillo con FastAPI. Responde a dos tipos de peticiones: una que saluda con "Hello World" cuando visitas la página de inicio ("/"), y otra que muestra el ID de un elemento y un parámetro de consulta opcional "q" cuando visitas una página específica ("/items/{item_id}"). El ID es obligatorio y debe ser un entero; el parámetro "q" es opcional y puede ser una cadena o estar ausente.

Ejecuta el servidor de FastAPI con:

Captura de bash mostrando cómo iniciar el servidor de FastAPI. comando: uvicorn main:app --reload

Crea una aplicación end-to-end en Python

El objetivo principal de este blog es mostrar cómo puedes crear rápidamente endpoints REST para tus aplicaciones con LLMs. Crearemos una aplicación sencilla en Python (solo una función) que usa la API de OpenAI GPT-4 y traduce texto en inglés a francés. Esta aplicación solo tiene una función, translate_text:

from openai import OpenAI
import os

os.environ["OPENAI_API_KEY"] = "..."

# Initialize OpenAI client with your API key
client = OpenAI()

def translate_text(input_str):
    completion = client.chat.completions.create(
        model="gpt-4-0125-preview",
        messages=[
            {
                "role": "system",
                "content": "You are an expert translator who translates text from english to french and only return translated text",
            },
            {"role": "user", "content": input_str},
        ],
    )

    return completion.choices[0].message.content

Esta función recibe una entrada del usuario y la envía al modelo GPT-4 de OpenAI. Incluye un prompt de sistema para definir el contexto y el prompt del usuario es el texto que recibimos en input_str.

Puedes probar la función ejecutando lo siguiente. Deberías obtener el texto en francés como respuesta.

# test the function
translate_text("this is a test string to translate")

Si estás pensando en compartir esta aplicación con otras personas, enviarles el archivo de Python para que lo ejecuten en su línea de comandos puede funcionar para algunos usuarios, especialmente quienes están familiarizados con Python y las herramientas de terminal.

Sin embargo, este enfoque tiene limitaciones. No todo el mundo se siente cómodo usando la línea de comandos y, aunque así fuera, ejecutar un script de Python requiere tener un entorno configurado con todas las dependencias. Puede ser engorroso y convertirse en una barrera para acceder fácilmente a tu aplicación de traducción.

Ahí es donde envolver tu aplicación con FastAPI para exponerla como un endpoint REST resulta tan potente. Estás creando una interfaz accesible a tu aplicación por Internet sin que los usuarios tengan que ejecutar scripts de Python. Podrán interactuar con tu aplicación mediante peticiones web sencillas desde multitud de plataformas y lenguajes de programación, no solo Python.

Crear una API REST con FastAPI automatiza la recepción de solicitudes de traducción y el envío de las respuestas traducidas. Los usuarios pueden enviar texto para traducir mediante una interfaz web o una llamada programática a la API, lo que facilita su uso y lo hace más flexible para distintos casos.

Para convertir esta función en un endpoint de API con FastAPI, modificaremos el código así:

from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
import os


os.environ["OPENAI_API_KEY"] = "..."


# Initialize OpenAI client with your API key
client = OpenAI()


# Initialize FastAPI client
app = FastAPI()


# Create class with pydantic BaseModel
class TranslationRequest(BaseModel):
    input_str: str


def translate_text(input_str):
    completion = client.chat.completions.create(
        model="gpt-4-0125-preview",
        messages=[
            {
                "role": "system",
                "content": "You are an expert translator who translates text from english to french and only return translated text",
            },
            {"role": "user", "content": input_str},
        ],
    )


    return completion.choices[0].message.content


@app.post("/translate/")  # This line decorates 'translate' as a POST endpoint
async def translate(request: TranslationRequest):
    try:
        # Call your translation function
        translated_text = translate_text(request.input_str)
        return {"translated_text": translated_text}
    except Exception as e:
        # Handle exceptions or errors during translation
        raise HTTPException(status_code=500, detail=str(e))

Para ejecutar y probar esta API en local, simplemente lanza el siguiente comando:

uvicorn main:app --reload

Aquí, main.py es el archivo que contiene tu código. El término app hace referencia a la instancia de la aplicación FastAPI, identificada en tu código como app = FastAPI().

Ve a localhost:8000/docs para ver una interfaz gráfica similar a esta:

Captura de la página de documentación de endpoints de FastAPI

Haz clic en POST, luego en Try it out, introduce tu texto y pulsa Execute.

Captura de la interfaz de FastAPI

Deberías ver el comando curl enviado a la API, la URL de la solicitud (tu localhost en este caso) y la respuesta del servidor. El código 200 significa éxito; junto a él verás la traducción al francés.

Captura de la interfaz de FastAPI

Conclusión

En este blog hemos visto cómo configurar un endpoint de API con FastAPI para servir aplicaciones impulsadas por Large Language Models como GPT. FastAPI, por su rendimiento y facilidad de uso, ofrece una forma directa de crear APIs de altas prestaciones, ideal para desarrolladores que quieran integrar LLMs en sus proyectos.

Si quieres descubrir todo el potencial de los LLMs con un curso conceptual único que cubre aplicaciones, metodologías de entrenamiento, consideraciones éticas y la investigación más reciente, echa un vistazo al curso gratuito Mastering Large Language Models (LLMs) en Datacamp.

¿Quieres ampliar tu repertorio de habilidades y herramientas? Descubre las 21 herramientas esenciales de Python para desarrollo de software, web scraping y desarrollo web, análisis y visualización de datos, y machine learning.


Moez Ali's photo
Author
Moez Ali
LinkedIn
Twitter

Científico de Datos, Fundador y Creador de PyCaret

Temas
Inteligencia Artificial

¡Continúa hoy tu camino en IA!

Curso

Conceptos de grandes modelos lingüísticos (LLM)

2 h
109.8K
Descubre todo el potencial de los LLM: aplicaciones, metodologías de entrenamiento, consideraciones éticas y avances en investigación.
Ver detallesRight Arrow
Iniciar Curso
Ver másRight Arrow
Relacionado

Tutorial

Tutorial sobre cómo crear aplicaciones LLM con LangChain

Explore el potencial sin explotar de los grandes modelos lingüísticos con LangChain, un marco Python de código abierto para crear aplicaciones avanzadas de IA.
Moez Ali's photo

Moez Ali

12 min

Tutorial

Tutorial de FastAPI: Introducción al uso de FastAPI

Explore el marco FastAPI y descubra cómo puede utilizarlo para crear API en Python.
Moez Ali's photo

Moez Ali

13 min

Tutorial

Ajuste fino de GPT-3 mediante la API OpenAI y Python

Libere todo el potencial de GPT-3 mediante el ajuste fino. Aprenda a utilizar la API de OpenAI y Python para mejorar este modelo de red neuronal avanzado para su caso de uso específico.
Zoumana Keita 's photo

Zoumana Keita

12 min

Tutorial

Cómo formar a un LLM con PyTorch

Domine el proceso de entrenamiento de grandes modelos lingüísticos con PyTorch, desde la configuración inicial hasta la implementación final.
Zoumana Keita 's photo

Zoumana Keita

8 min

Tutorial

Construir agentes LangChain para automatizar tareas en Python

Un tutorial completo sobre la construcción de agentes LangChain multiherramienta para automatizar tareas en Python utilizando LLMs y modelos de chat utilizando OpenAI.

Tutorial

Guía introductoria para el ajuste preciso de los LLM

El ajuste preciso de los grandes modelos lingüísticos (LLM) ha revolucionado el procesamiento del lenguaje natural (PLN) y ofrece capacidades sin precedentes en tareas como la traducción lingüística, el análisis del sentimiento y la generación de textos. Este enfoque transformador aprovecha modelos preentrenados como el GPT-2 y mejora su rendimiento en dominios específicos mediante el proceso de ajuste preciso.
Josep Ferrer's photo

Josep Ferrer

11 min

Ver MásVer Más