SDK Oficial para el Motor PSI (Proposición de Suficiencia Informativa).
Project description
PSI Cloud SDK 🚀
El SDK oficial en Python para conectarse al motor de Suficiencia Informativa (PSI).
PSI es un motor propietario que evalúa si un sistema puede resolverse de forma determinística antes de ejecutarse. Está diseñado para detectar insuficiencia estructural de información en modelos complejos.
⚠️ Si tu sistema no tiene suficiente información, PSI te lo dirá antes de que pierdas tiempo, cómputo o dinero.
🧠 ¿Por qué PSI?
La mayoría de los sistemas fallan no por bugs… sino porque no tienen suficiente información para resolverse.
PSI analiza tu sistema y responde una sola pregunta crítica:
👉 ¿Este sistema puede resolverse… o está condenado a fallar?
🛠 Instalación
pip install psi-cloud
(Asegúrate de usar la versión >= 1.1.0 para acceder a las funciones de Gating)
🛑 NUEVO: "The Entropy-Gate" (Decorador de Ahorro de GPU)
¿Cansado de quemar créditos de AWS o Render en datos basura? El SDK ahora incluye el decorador @psi_gated.
Protege tus funciones de inferencia pesadas con 1 línea de código. La función solo se ejecutará si el motor PSI confirma que hay suficiente información. Si no, se inhibe automáticamente.
from psi_cloud import PSIClient
client = PSIClient(api_key="TU_API_KEY_AQUÍ")
# 1. Define cómo calcular los bits de entrada de tu sistema
def calcular_señal(datos_usuario):
# Ejemplo: 0.5 bits por cada dato válido aportado
return len([k for k, v in datos_usuario.items() if v is not None]) * 0.5
# 2. Protege tu inferencia costosa con The Entropy-Gate
@client.psi_gated(n=8, bits_extractor=calcular_señal, fallback_response={"status": "Inhibido por falta de información"})
def ejecutar_modelo_ia(datos_usuario):
print("Consumiendo créditos de GPU...")
# Tu lógica pesada de Machine Learning aquí
return {"prediccion": "Exitosa"}
# --- PRUEBA DEL SISTEMA ---
# ❌ Intento pobre (1.0 bits): La IA NUNCA se ejecuta, ahorras dinero.
transaccion_mala = {"ip": "192...", "device": None, "location": None, "history": None}
print(ejecutar_modelo_ia(transaccion_mala))
# Salida: {'status': 'Inhibido por falta de información'}
# ✅ Intento rico (2.0 bits): Pasa la validación, la IA se ejecuta.
transaccion_buena = {"ip": "192...", "device": "Mac", "location": "NY", "history": "Valido"}
print(ejecutar_modelo_ia(transaccion_buena))
# Salida: Consumiendo créditos de GPU... {'prediccion': 'Exitosa'}
⚡ Uso Clásico (Validación Manual)
Si prefieres usar el motor paso a paso sin el decorador:
from psi_cloud import PSIClient
client = PSIClient(api_key="TU_API_KEY_AQUÍ")
try:
resultado = client.check_sufficiency(n=8, bits=3.5)
if resultado["deterministic_achieved"]:
print("✅ Sistema resoluble:", resultado["recommendation"])
else:
print("⚠️ Sistema insuficiente:", resultado["recommendation"])
print(f"Créditos restantes: {resultado['credits_remaining']}")
except Exception as e:
print(f"Error: {e}")
🔥 Ejemplo Real: Evitando un Modelo Inútil
❌ Sin PSI
Un equipo entrena un modelo de clasificación con:
- 8 posibles estados (
n = 8) - Features limitadas (≈ 2.5 bits efectivos)
Entrenan durante horas… ajustan hiperparámetros… optimizan el pipeline…
Resultado:
❌ El modelo nunca converge correctamente ❌ Resultados inconsistentes ❌ Tiempo y cómputo desperdiciado
✅ Con PSI
Antes de entrenar, ejecutan el chequeo y reciben la respuesta del motor:
{
"deterministic_achieved": False,
"margin": -0.5,
"recommendation": "Se requieren al menos 0.5 bits adicionales para garantizar resolución determinística"
}
💡 Insight crítico
PSI detecta instantáneamente que el sistema no tiene suficiente información para resolverse. Sin importar el modelo, el algoritmo o el tuning. Evitó que resolvieran un problema imposible.
⚠️ Regla de oro
Si no hay suficiente información, ningún modelo te va a salvar.
PSI existe para detectar eso antes de que sea demasiado tarde.
📊 ¿Qué analiza PSI?
El motor PSI evalúa tres componentes clave:
- Entropía mínima requerida
- Información total disponible
- Margen de suficiencia estructural
Si el sistema no cumple el criterio interno, PSI calcula exactamente cuánta información falta.
⚙️ Casos de uso
- MLOps / FinOps: Reducción de costos de inferencia en la nube (Gating).
- Validación de modelos antes de entrenamiento.
- Sistemas de decisión y optimización.
- Arquitecturas distribuidas.
- Sistemas heurísticos complejos.
🔐 ¿Por qué usar el SDK?
Porque el criterio completo de PSI no es trivial, no es lineal y no depende solo de una fórmula. Está optimizado y validado en producción. 👉 El SDK te da acceso directo al motor sin tener que implementarlo desde cero.
📝 Licencia
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file psi_cloud-1.1.0.tar.gz.
File metadata
- Download URL: psi_cloud-1.1.0.tar.gz
- Upload date:
- Size: 5.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
01e4297b59b224e68765c71b82774606f5deac4b11a102e2825e25338f2a150f
|
|
| MD5 |
5da6c26fb84a2a2fc91ea04a51fe0d1d
|
|
| BLAKE2b-256 |
a08dba9d7989499e81c9001de4ce8d05729971da244a4d94576c5407c37a21db
|
File details
Details for the file psi_cloud-1.1.0-py3-none-any.whl.
File metadata
- Download URL: psi_cloud-1.1.0-py3-none-any.whl
- Upload date:
- Size: 5.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
268883f4db12b0913432cf910617c6e4cd55bd547e2ec889281a74e4bae22d0d
|
|
| MD5 |
ecbff4967b79c050559fede6d45cf422
|
|
| BLAKE2b-256 |
944e47e5350be1d775ece887d6e84dcf4fcd3a591c3a8a9d200f5c04c241a42b
|