Proveedores de IA y nodos IA
AIFlows desacopla la configuración del proveedor de la lógica del flujo. Definís un ProviderConfig una vez y lo usás en cualquier nodo IA del proyecto.
Proveedores soportados
| Proveedor | Modelos representativos | Notas |
|---|---|---|
| OpenAI | gpt-4o, gpt-4o-mini, o1, o1-mini, dall-e-3 | Soporta reasoning y cache tokens. |
| Anthropic | claude-3.5-sonnet, claude-3-opus | Compatible con tool use. |
| DeepSeek | deepseek-chat, deepseek-coder | OpenAI-compatible. |
| Groq | llama-3.1, mixtral | Inferencia rápida. |
| Mistral | mistral-large, codestral | OpenAI-compatible. |
| Custom | cualquiera con API OpenAI-compatible | Vos definís baseUrl + model + token. |
ProviderConfig
{
"id": "pc_openai_prod",
"provider": "openai",
"model": "gpt-4o",
"baseUrl": "https://api.openai.com/v1",
"credentials": {
"type": "bearer",
"secretRef": "env.OPENAI_TOKEN"
},
"defaults": {
"temperature": 0.7,
"maxOutputTokens": 1024
}
}
Las credenciales nunca se guardan en plano: se referencian vía secretRef que apunta a una variable de entorno o vault.
Uso en un nodo IA
{
"kind": "ai.text",
"providerConfigId": "pc_openai_prod",
"systemPrompt": "Sos un asistente cordial y breve.",
"userInput": "{{user.message}}",
"tools": ["lookupCustomer", "scheduleAppointment"],
"temperature": 0.3
}
Tipos de nodo IA
ai.text— generación de texto.ai.json— JSON estructurado validado contra un esquema.ai.image— generación de imagen (OpenAI dall-e-3, Stable Diffusion).ai.audio— TTS / STT.ai.classify— clasificación en categorías.
Reasoning y cache tokens
Los modelos que lo soportan (o1, claude-3.5 con cache) reportan tokens separados:
usage.inputTokensusage.outputTokensusage.reasoningTokens(si aplica)usage.cacheReadTokens(si aplica)usage.cacheWriteTokens(si aplica)
Estos campos se persisten en el módulo AIUsage para facturación diferenciada.
Detalle técnico:
doc-iaflows/06-AI-PROVIDERS.md.