> ## Documentation Index
> Fetch the complete documentation index at: https://supastack.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For the full documentation corpus in one file, fetch: https://supastack.dev/llms-full.txt

# Funciones de IA

Chat, tareas, política de modelos y bring-your-own-key.

## Pruebe una IA falsa y luego elija un proveedor real

Para obtener el primer resultado, siga la tarea /dashboard del tutorial web: inicie el flujo local, ponga en cola un mensaje, ejecútelo y vea el resultado. AI_PROVIDER=fake devuelve una respuesta de demostración repetible sin enviar datos a un modelo externo ni utilizar una clave API paga.

Para la generación real, primero configure cuentas persistentes, elija un proveedor de IA y siga la configuración de IA a continuación. Agregue un modelo y su precio al catálogo de la base de datos, elija los modelos permitidos para cada alias y otorgue al espacio de trabajo el acceso requerido. Un alias como rápido es una opción amigable que se muestra al usuario; no es en sí mismo el ID de modelo de un proveedor externo.

Un AI task en segundo plano también necesita el servicio de trabajos configurado. Si no se muestran opciones de modelo, inspeccione el catálogo y la política de alias antes de volver a intentarlo. Si se deniega el acceso, inspeccione los derechos del espacio de trabajo activo. Mantenga todas las claves del proveedor API en la configuración del servidor web, no en el navegador, la aplicación móvil o la ventana de escritorio.

[Pruebe la demostración de IA sin credenciales](https://supastack.dev/es/docs/web/ship-in-5-minutes.md)

[Configurar generación de IA real](https://supastack.dev/es/docs/modules/ai-configuration.md)

[Agregar modelos y precios permitidos](https://supastack.dev/es/docs/web/setup-ai.md)

[Configurar la ejecución de tareas en segundo plano](https://supastack.dev/es/docs/modules/jobs.md)


## Sigue el ciclo de vida de la tarea

La API de tareas de producción valida el espacio de trabajo autenticado y el derecho antes de guardar una tarea y despachar el flujo de Trigger.dev ai.generate. El enrutador aplica los requisitos de capacidad y la política de modelos configurada.

```
POST /api/ai/tasks
  → authenticated workspace + entitlement
  → durable task record
  → Trigger.dev ai.generate
  → model routing + generation
  → usage record + result
  → transactional completion delivery
```


## Configura alias y presupuestos

El usuario elige un alias habilitado: cheap, fast o smart. El servidor controla los ID de los modelos subyacentes, las credenciales del proveedor, la política del espacio de trabajo y la aplicación del presupuesto. La compatibilidad cifrada para usar una clave propia debe conservar el mismo límite exclusivo del servidor.


## Mantén explícita la semántica del flujo de trabajo

JobRunner solo garantiza encolado, estado y cancelación. La semántica del flujo de trabajo de Trigger.dev es explícita e incluye el comportamiento de ejecución duradera. No deduzcas reintentos ni garantías de programación a partir del contrato genérico.

La ruta de envío de producción usa idempotencia y la recuperación de tareas guardadas para gestionar despachos ambiguos. La generación finalizada es independiente de la entrega del correo de finalización.


## Configuración y ajustes

AI_PROVIDER=fake mantiene el desarrollo determinista. Los proveedores de producción se configuran del lado del servidor (OpenAI, Anthropic o un endpoint compatible con OpenAI) con claves que nunca entran en bundles de cliente. AI_MODEL_POLICY mapea los alias de cara al usuario — cheap, fast, smart — a ids de modelo del catálogo; un alias vacío elimina la opción de la interfaz.

El catálogo de modelos (ai-model-catalog) lleva metadatos de capacidad y precios inmutables para que los registros de uso sigan siendo explicables tras cambios de precio.

```
POST /api/ai/tasks          → durable task + Trigger.dev dispatch
GET  /api/ai/tasks/{taskId}  → status + result
/chat                        → streaming assistant surface
```


## Flujo de implementación

La superficie de chat mantiene hilos por miembro del workspace y streamea tokens a través de chat-stream-runtime. Las generaciones más largas corren como tareas: autorizadas en el límite de la API, ejecutadas por el workflow ai.generate y recuperables a través del store de envío idempotente.

El modo bring-your-own-key almacena claves de proveedor como sobres AES-GCM (CREDENTIAL_ENCRYPTION_KEY, byok-key-vault.ts); el descifrado ocurre solo dentro del path de ejecución del servidor. El uso y el coste estimado se registran por petición para los presupuestos del workspace.


## Verificación y solución de problemas

Verifica que un alias deshabilitado está ausente de la interfaz, que las denegaciones de entitlement y presupuesto ocurren antes del dispatch, que un envío reintentado reutiliza su tarea y que una clave BYOK almacenada nunca se devuelve al cliente. Mantén la aceptación con modelos reales en la ruta smoke de proveedor documentada.


## Siguiente

[Tareas en segundo plano](https://supastack.dev/es/docs/web/jobs.md)
