Bayesianisches MCP
Ein Model Calling Protocol (MCP)-Server für Bayesianisches Denken, Inferenz und Belief-Updates. Dieses Tool ermöglicht LLMs die Durchführung strenger Bayesianischer Analysen und probabilistischer Schlussfolgerungen.
Merkmale
🧠 Bayesianische Inferenz : Aktualisieren Sie Überzeugungen mit neuen Beweisen unter Verwendung von MCMC-Sampling
📊 Modellvergleich : Vergleichen Sie konkurrierende Modelle anhand von Informationskriterien
🔮 Prädiktive Inferenz : Generieren Sie Vorhersagen mit Unsicherheitsquantifizierung
📈 Visualisierung : Erstellen Sie Visualisierungen von Posterior-Verteilungen
🔌 MCP-Integration : Nahtlose Integration mit jedem LLM, das MCP unterstützt
Related MCP server: Calculator MCP Server
Installation
Entwicklungsinstallation
Klonen Sie das Repository und installieren Sie Abhängigkeiten:
git clone https://github.com/wrenchchatrepo/bayesian-mcp.git
cd bayesian-mcp
pip install -e .Anforderungen
Python 3.9+
PyMC 5.0+
ArviZ
NumPy
Matplotlib
FastAPI
Uvicorn
Schnellstart
Starten des Servers
# 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 debugDer Server wird gestartet und wartet auf MCP-Anfragen auf dem angegebenen Host und Port.
API-Nutzung
Der Bayesianische MCP-Server stellt über seine API mehrere Funktionen bereit:
1. Modell erstellen
Erstellen Sie ein neues Bayes-Modell mit angegebenen Variablen.
# 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. Überzeugungen aktualisieren
Aktualisieren Sie Modellüberzeugungen mit neuen Erkenntnissen.
# 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. Vorhersagen treffen
Generieren Sie Vorhersagen mithilfe der Posterior-Verteilung.
# MCP Request
{
"function_name": "predict",
"parameters": {
"model_name": "my_model",
"variables": ["theta"],
"conditions": {
"x": [1.0, 2.0, 3.0]
}
}
}4. Modelle vergleichen
Vergleichen Sie mehrere Modelle anhand von Informationskriterien.
# MCP Request
{
"function_name": "compare_models",
"parameters": {
"model_names": ["model_1", "model_2"],
"metric": "waic"
}
}5. Visualisierung erstellen
Generieren Sie Visualisierungen von Modell-Posterior-Verteilungen.
# MCP Request
{
"function_name": "create_visualization",
"parameters": {
"model_name": "my_model",
"plot_type": "trace",
"variables": ["theta"]
}
}Beispiele
Das Verzeichnis examples/ “ enthält mehrere Beispiele, die die Verwendung des Bayesian MCP-Servers demonstrieren:
Lineare Regression
Ein einfaches Beispiel für eine lineare Regression zur Demonstration der Parameterschätzung:
python examples/linear_regression.pyA/B-Tests
Ein Beispiel für Bayesianisches A/B-Testing für Konversionsraten:
python examples/ab_test.pyUnterstützte Distributionen
Die Bayes-Engine unterstützt die folgenden Verteilungen:
normal: Normalverteilung (Gauß-Verteilung)lognormal: Log-Normalverteilungbeta: Beta-Verteilunggamma: Gammaverteilungexponential: Exponentialverteilunguniform: Gleichmäßige Verteilungbernoulli: Bernoulli-Verteilungbinomial: Binomialverteilungpoisson: Poisson-Verteilungdeterministic: Deterministische Transformation
MCP-Integration
Dieser Server implementiert das Model Calling Protocol und ist daher mit einer Vielzahl von LLMs und Frameworks kompatibel. So verwenden Sie ihn mit Ihrem LLM:
import requests
response = requests.post("http://localhost:8000/mcp", json={
"function_name": "create_model",
"parameters": {
"model_name": "example_model",
"variables": {...}
}
})
result = response.json()Lizenz
MIT
Credits
Basierend auf Konzepten und Code aus dem Wrench AI-Framework.
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.