Байесовский MCP
Сервер протокола вызова модели (MCP) для байесовского рассуждения, вывода и обновления убеждений. Этот инструмент позволяет LLM выполнять строгий байесовский анализ и вероятностное рассуждение.
Функции
🧠 Байесовский вывод : обновление убеждений с помощью новых доказательств с использованием выборки MCMC
📊 Сравнение моделей : сравнение конкурирующих моделей с использованием информационных критериев.
🔮 Предсказательный вывод : создание прогнозов с количественной оценкой неопределенности
📈 Визуализация : создание визуализаций апостериорных распределений.
🔌 Интеграция с MCP : беспроблемная интеграция с любым LLM, поддерживающим MCP
Related MCP server: Calculator MCP Server
Установка
Разработка Установка
Клонируйте репозиторий и установите зависимости:
git clone https://github.com/wrenchchatrepo/bayesian-mcp.git
cd bayesian-mcp
pip install -e .Требования
Питон 3.9+
PyMC 5.0+
АрвиЗ
NumPy
Matplotlib
FastAPI
Увикорн
Быстрый старт
Запуск сервера
# 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 debugСервер запустится и будет прослушивать запросы MCP на указанном хосте и порту.
Использование API
Байесовский сервер MCP предоставляет несколько функций через свой API:
1. Создать модель
Создайте новую байесовскую модель с указанными переменными.
# 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. Обновите убеждения
Обновите модельные убеждения с помощью новых доказательств.
# 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. Делайте прогнозы
Генерация прогнозов с использованием апостериорного распределения.
# MCP Request
{
"function_name": "predict",
"parameters": {
"model_name": "my_model",
"variables": ["theta"],
"conditions": {
"x": [1.0, 2.0, 3.0]
}
}
}4. Сравнение моделей
Сравните несколько моделей, используя информационные критерии.
# MCP Request
{
"function_name": "compare_models",
"parameters": {
"model_names": ["model_1", "model_2"],
"metric": "waic"
}
}5. Создать визуализацию
Создание визуализаций апостериорных распределений модели.
# MCP Request
{
"function_name": "create_visualization",
"parameters": {
"model_name": "my_model",
"plot_type": "trace",
"variables": ["theta"]
}
}Примеры
Каталог examples/ содержит несколько примеров, демонстрирующих использование байесовского сервера MCP:
Линейная регрессия
Простой пример линейной регрессии для демонстрации оценки параметров:
python examples/linear_regression.pyA/B-тестирование
Пример байесовского A/B-тестирования для показателей конверсии:
python examples/ab_test.pyПоддерживаемые дистрибутивы
Байесовский движок поддерживает следующие распределения:
normal: нормальное (гауссовское) распределениеlognormal: Логнормальное распределениеbeta: бета-распределениеgamma: Гамма-распределениеexponential: Экспоненциальное распределениеuniform: равномерное распределениеbernoulli: распределение Бернуллиbinomial: Биномиальное распределениеpoisson: распределение Пуассонаdeterministic: Детерминированное преобразование
Интеграция МКП
Этот сервер реализует протокол вызова модели, что делает его совместимым с широким спектром LLM и фреймворков. Чтобы использовать его с вашим LLM:
import requests
response = requests.post("http://localhost:8000/mcp", json={
"function_name": "create_model",
"parameters": {
"model_name": "example_model",
"variables": {...}
}
})
result = response.json()Лицензия
Массачусетский технологический институт
Кредиты
Основано на концепциях и коде фреймворка Wrench AI.