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.
This server cannot be installed
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.