Cómo crear una aplicación de IA full-stack con FastAPI y Next.js
Tabla de contenidos
El problema
Crear una aplicación de IA lista para producción desde cero significa resolver los mismos problemas cada vez: estructura de API, autenticación, configuración de base de datos, streaming por WebSocket, scaffolding del frontend, configuración de Docker, pipelines de CI/CD. Lo hemos hecho más de 30 veces, para clientes y para nosotros mismos. Cada vez lleva de 2 a 4 semanas.
El Full-Stack AI Agent Template reduce eso a 30 minutos.
TL;DR
- Un comando CLI genera una app AI completa con backend FastAPI, frontend Next.js, auth, base de datos, streaming WebSocket, Docker y CI/CD - todo configurado y testeado.
- 75+ opciones de configuracion en 9 pasos: base de datos, auth, framework AI, infraestructura, integraciones, herramientas de desarrollo y frontend.
- 5 frameworks AI soportados de serie: Pydantic AI, LangChain, LangGraph, CrewAI y DeepAgents.
- 3 presets para configuraciones comunes - minimal (prototipado), production (enterprise) y ai-agent (apps de chat con streaming).
- Configurador web disponible en oss.vstorm.co para configuracion visual del proyecto con descarga ZIP.
Lo que obtienes
Un solo pip install te da un proyecto completo con:
- Backend FastAPI con API asíncrona, logging estructurado y manejo de errores
- Frontend Next.js 15 con App Router, TypeScript y Tailwind CSS
- Integración con agentes de IA — elige entre Pydantic AI, LangChain, LangGraph, CrewAI o DeepAgents
- Streaming por WebSocket para respuestas de IA en tiempo real
- Autenticación — JWT, claves API o Google OAuth
- Base de datos — PostgreSQL, MongoDB o SQLite
- Docker Compose para desarrollo y producción
- CI/CD — GitHub Actions o GitLab CI
Inicio rápido
1. Instala el generador
pip install fastapi-fullstack2. Genera tu proyecto
fastapi-fullstack create my-ai-appEl CLI interactivo te guía a través de más de 75 opciones de configuración. También puedes usar un preset:
# Minimal — no database, no auth, just FastAPIfastapi-fullstack create my-app --preset minimal
# Production — PostgreSQL, JWT, Docker, Kubernetes, CI/CDfastapi-fullstack create my-app --preset production
# AI Agent — Pydantic AI, WebSocket streaming, conversation historyfastapi-fullstack create my-app --preset ai-agent3. Inicia el desarrollo
cd my-ai-appdocker compose up -dTu aplicación está corriendo en http://localhost:3000 con hot reload tanto en el backend como en el frontend.
Estructura del proyecto
El proyecto generado sigue una arquitectura limpia y escalable:
my-ai-app/├── backend/│ ├── app/│ │ ├── api/ # API routes│ │ ├── agents/ # AI agent definitions│ │ ├── core/ # Config, security, dependencies│ │ ├── models/ # Database models│ │ ├── schemas/ # Pydantic schemas│ │ └── services/ # Business logic│ ├── tests/│ └── pyproject.toml├── frontend/│ ├── src/│ │ ├── app/ # Next.js App Router pages│ │ ├── components/ # React components│ │ ├── hooks/ # Custom hooks (WebSocket, auth)│ │ └── lib/ # API client, utilities│ └── package.json├── docker-compose.yml├── docker-compose.prod.yml└── .env.exampleConfiguración del agente de IA
Así se ve la integración del agente de IA con Pydantic AI:
from pydantic_ai import Agent, RunContextfrom app.core.deps import AgentDeps
agent = Agent( "openai:gpt-4o", deps_type=AgentDeps, system_prompt="You are a helpful AI assistant.",)
@agent.toolasync def search_knowledge_base( ctx: RunContext[AgentDeps], query: str) -> str: """Search the knowledge base for relevant information.""" results = await ctx.deps.search_service.search(query) return "\n".join(r.content for r in results)El endpoint WebSocket se encarga del streaming automáticamente:
@router.websocket("/ws/chat")async def chat_websocket( websocket: WebSocket, current_user: User = Depends(get_ws_user),): await websocket.accept() async with agent.run_stream( message, deps=AgentDeps(user=current_user, db=db) ) as response: async for chunk in response.stream_text(): await websocket.send_json({"type": "chunk", "content": chunk})Configurador web
No te gustan las CLIs? El configurador web ofrece un asistente visual en 9 pasos:
- Datos básicos del proyecto — nombre, descripción
- Framework de IA — Pydantic AI, LangChain, LangGraph, CrewAI, DeepAgents
- Proveedor de LLM — OpenAI, Anthropic, OpenRouter
- Base de datos — PostgreSQL, MongoDB, SQLite o ninguna
- Autenticación — JWT, claves API, Google OAuth o ninguna
- Infraestructura — Docker, Kubernetes, reverse proxy
- Observabilidad — Logfire, Sentry, Prometheus
- CI/CD — GitHub Actions, GitLab CI
- Revisión y descarga — obtén tu proyecto configurado como ZIP
Despliegue en producción
El proyecto generado incluye todo lo necesario para producción:
services: backend: build: context: ./backend dockerfile: Dockerfile.prod environment: - DATABASE_URL=postgresql://... - OPENAI_API_KEY=${OPENAI_API_KEY} restart: always
frontend: build: context: ./frontend dockerfile: Dockerfile.prod restart: always
nginx: image: nginx:alpine ports: - "80:80" - "443:443" restart: alwaysLos manifiestos de Kubernetes también se generan si seleccionaste esa opción.
Próximos pasos
Una vez que tu proyecto esté en marcha, puedes:
- Agregar herramientas personalizadas a tu agente de IA
- Implementar RAG con tus propios datos
- Agregar más endpoints de API
- Personalizar la interfaz del frontend
- Configurar dashboards de monitoreo
La plantilla te da la base. Tú te enfocas en lo que hace única a tu aplicación.
Empieza ahora: template.vstorm.co/configurator/
Artículos relacionados
De create-react-app a create-ai-app: El nuevo estándar para aplicaciones de IA
En 2016, create-react-app estandarizó cómo construimos frontends. En 2026, las aplicaciones de IA necesitan el mismo mom...
AGENTS.md: Cómo hacer tu código amigable para agentes de IA (Copilot, Cursor, Codex, Claude Code)
Cada herramienta de codificación con IA lee tu repositorio de manera diferente. Así es como AGENTS.md — el estándar emer...
De 0 a agente IA en produccion en 30 minutos — plantilla full-stack con 5 frameworks de IA
Tutorial paso a paso: configurador web, elige un preset, selecciona tu framework de IA, configura mas de 75 opciones, do...