MCP bayesiano
Un servidor de Protocolo de Llamada a Modelos (MCP) para razonamiento bayesiano, inferencia y actualización de creencias. Esta herramienta permite a los LLM realizar análisis bayesianos rigurosos y razonamiento probabilístico.
Características
🧠 Inferencia bayesiana : Actualice las creencias con nueva evidencia utilizando el muestreo MCMC
📊 Comparación de modelos : compare modelos de la competencia utilizando criterios de información
🔮 Inferencia predictiva : Genera predicciones con cuantificación de incertidumbre
📈 Visualización : Crea visualizaciones de distribuciones posteriores
🔌 Integración con MCP : se integra perfectamente con cualquier LLM que admita MCP
Related MCP server: Calculator MCP Server
Instalación
Instalación de desarrollo
Clonar el repositorio e instalar las dependencias:
git clone https://github.com/wrenchchatrepo/bayesian-mcp.git
cd bayesian-mcp
pip install -e .Requisitos
Python 3.9+
PyMC 5.0+
ArviZ
NumPy
Matplotlib
API rápida
Uvicornio
Inicio rápido
Iniciando el servidor
# Run with default settings
python bayesian_mcp.py
# Specify host and port
python bayesian_mcp.py --host 0.0.0.0 --port 8080
# Set log level
python bayesian_mcp.py --log-level debugEl servidor se iniciará y escuchará las solicitudes MCP en el host y puerto especificados.
Uso de la API
El servidor MCP bayesiano expone varias funciones a través de su API:
1. Crear modelo
Crea un nuevo modelo bayesiano con variables específicas.
# MCP Request
{
"function_name": "create_model",
"parameters": {
"model_name": "my_model",
"variables": {
"theta": {
"distribution": "normal",
"params": {"mu": 0, "sigma": 1}
},
"likelihood": {
"distribution": "normal",
"params": {"mu": "theta", "sigma": 0.5},
"observed": [0.1, 0.2, 0.3, 0.4]
}
}
}
}2. Actualizar creencias
Actualizar las creencias del modelo con nueva evidencia.
# MCP Request
{
"function_name": "update_beliefs",
"parameters": {
"model_name": "my_model",
"evidence": {
"data": [0.1, 0.2, 0.3, 0.4]
},
"sample_kwargs": {
"draws": 1000,
"tune": 1000,
"chains": 2
}
}
}3. Haz predicciones
Generar predicciones utilizando la distribución posterior.
# MCP Request
{
"function_name": "predict",
"parameters": {
"model_name": "my_model",
"variables": ["theta"],
"conditions": {
"x": [1.0, 2.0, 3.0]
}
}
}4. Comparar modelos
Comparar múltiples modelos utilizando criterios de información.
# MCP Request
{
"function_name": "compare_models",
"parameters": {
"model_names": ["model_1", "model_2"],
"metric": "waic"
}
}5. Crear visualización
Generar visualizaciones de distribuciones posteriores del modelo.
# MCP Request
{
"function_name": "create_visualization",
"parameters": {
"model_name": "my_model",
"plot_type": "trace",
"variables": ["theta"]
}
}Ejemplos
El directorio examples/ contiene varios ejemplos que demuestran cómo utilizar el servidor MCP bayesiano:
Regresión lineal
Un ejemplo de regresión lineal simple para demostrar la estimación de parámetros:
python examples/linear_regression.pyPruebas A/B
Un ejemplo de prueba A/B bayesiana para tasas de conversión:
python examples/ab_test.pyDistribuciones compatibles
El motor bayesiano admite las siguientes distribuciones:
normal: distribución normal (gaussiana)lognormal: distribución log-normalbeta: distribución betagamma: distribución gammaexponential: distribución exponencialuniform: distribución uniformebernoulli: distribución de Bernoullibinomial: distribución binomialpoisson: distribución de Poissondeterministic: transformación determinista
Integración MCP
Este servidor implementa el Protocolo de Llamada de Modelos, lo que lo hace compatible con una amplia gama de LLM y frameworks. Para usarlo con su LLM:
import requests
response = requests.post("http://localhost:8000/mcp", json={
"function_name": "create_model",
"parameters": {
"model_name": "example_model",
"variables": {...}
}
})
result = response.json()Licencia
Instituto Tecnológico de Massachusetts (MIT)
Créditos
Basado en conceptos y código del marco Wrench AI.