freeport
Freeport es un gateway LLM autocontenido y self-hostable que actúa como intermediario entre tu aplicación y los proveedores de modelos de lenguaje, ofreciendo enrutamiento multi-proveedor, fallback automático, caché semántica, control de costos, guardrails y auditoría.
Ficha actualizada 23 sept 2026, 10:35 · upstream 23 sept 2026, 10:16 · release v1.1.0
Qué es freeport
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
Freeport es una solución open-source para gestionar el tráfico de prompts hacia múltiples proveedores de IA. Su arquitectura permite que tu aplicación se conecte a cualquier proveedor API (OpenAI, Anthropic, Google Gemini) mediante un único punto de entrada, sin necesidad de mantener instancias separadas por proveedor.
El sistema soporta tanto la interfaz estándar OpenAI como el formato Messages de Anthropic, y traduce automáticamente entre ambos formatos. Además, ofrece capacidades avanzadas como llamadas a herramientas (tool calling), visión multimodal, caché semántica basada en embeddings locales, control de presupuesto por proyecto, detección de PII y guardrails de contenido.
La arquitectura se basa en un único contenedor Docker con SQLite para persistencia, lo que garantiza consistencia entre procesos. Se puede ejecutar directamente mediante npm o a través de Docker Compose, y cuenta con una interfaz administrativa basada en React/Vite para gestionar proveedores, prompts, proyectos y métricas.
- Gestionar múltiples modelos de IA (OpenAI, Anthropic, Google) desde un solo punto de acceso sin necesidad de mantener instancias separadas por proveedor
- Implementar fallback automático entre proveedores cuando uno se cae o no responde, con circuit breaker configurado
- Optimizar costos operando mediante caché semántica que devuelve respuestas similares a los prompts previos sin consultar el modelo cada vez
- Control de presupuesto y límites de tokens por proyecto para evitar gastos inesperados en la infraestructura
- Proteger datos sensibles (PII) mediante detección automática de SSN, tarjetas de crédito o correos electrónicos antes de enviarlos a los modelos
- Auditoría completa de cada interacción con el modelo: registro de prompts, respuestas y uso de herramientas para cumplimiento normativo
- Soporte de llamadas a herramientas externas (function calling) que se ejecutan dentro del gateway sin necesidad de modificar la aplicación cliente
- Soporta múltiples proveedores nativamente (OpenAI, Anthropic, Google Gemini) con un solo endpoint común /v1
- Traduce entre formatos de API: OpenAI y Anthropic Messages, permitiendo usar SDKs existentes sin cambios
- Caché semántica local basada en embeddings que reduce consultas al modelo para prompts similares
- Guardrails integrados que detectan PII, contenido inapropiado y limitan el uso de tokens por proyecto
- Autenticación segura con claves AES-256-GCM cifradas y gestión de API keys separada
- Interfaz administrativa basada en React/Vite con dashboards para visualización de costos, métricas y logs
- El caché semántica utiliza embeddings locales (all-MiniLM-L6-v2) que pueden no ser óptimos para todos los modelos
- La detección de PII es heurística y puede generar falsos positivos en contextos complejos o con lenguaje técnico
- Los guardrails aplican filtros generales que podrían afectar la creatividad o la calidad del contenido generado
- El uso de SQLite como base de datos introduce riesgos de consistencia en entornos multi-procesador sin configuración adecuada
- La detección de PII puede ser ineficiente para grandes volúmenes de texto y requiere optimización adicional
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Para producción, se recomienda ejecutar el gateway con `NODE_ENV=production` junto a las variables de entorno `FREEPORT_ADMIN_API_KEY` y `FREEPORT_API_KEY`. Se debe configurar un proxy externo (Nginx o Traefik) para ocultar la dirección IP del servicio. El caché semántica debe ser reindexado periódicamente cuando cambien los embeddings. Para escalar, se puede replicar el contenedor en Kubernetes con Redis como cache de embeddings. Se recomienda mantener una copia de seguridad semanal del estado SQLite y configurar alertas de uso de tokens por proyecto.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.