MLC Bakery 是一个基于 Python 的服务,用于管理机器学习(ML)模型的血统和谱系。它借助 FastAPI 和 SQLAlchemy 构建,为用户提供了便捷的 RESTful API 和 Web 界面,方便查看和管理 ML 模型的血统信息。
MLC Bakery 是一个基于 Python 的服务,用于管理机器学习模型的血统和谱系。它使用 FastAPI 和 SQLAlchemy 构建,提供了 RESTful API 和 Web 界面来查看和管理 ML 模型的血统信息。
克隆仓库:
git clone https://github.com/yourusername/mlc-bakery.git
cd mlt-bakery
创建虚拟环境并安装依赖项:
python -m venv env
source env/bin/activate # 对于 Windows 使用 `env\Scripts\activate`
pip install -r requirements.txt
配置环境变量:
创建一个 .env 文件,并添加以下内容:
DB_URL=postgresql://postgres:password@localhost/mlc_bakery
ADMIN_AUTH_TOKEN=your_secure_token_here
启动服务:
uvicorn app.main:app --reload
访问 Web 界面:
打开浏览器,访问 http://localhost:8000。
使用 Alembic 进行数据库迁移:
初始化 Alembic:
alembic init migrations
添加模型到迁移文件:
修改 migrations/versions/[timestamp]_[name].py 文件,将您的 ML 模型添加到 ml_models 表中。
提交迁移:
alembic revision --autogenerate -m "add ml models"
alembic upgrade head
创建一个 JWT 加密密钥:
在 .env 文件中添加:
SECRET_KEY=your_jwt_secret_key_here
在 API 中使用 JWT 进行身份验证:
修改 app/security.py 文件,实现 JWT 解析和用户认证。
保护敏感端点:
使用 Depends 和 security.get_current_user 装饰器来保护需要认证的端点。
以下是项目所需的环境变量:
| 属性 | 详情 |
|---|---|
| DB_URL | 数据库连接 URL,格式为 postgresql://username:password@host/database_name。 |
| SECRET_KEY | JWT 加密密钥。 |
| ADMIN_AUTH_TOKEN | 管理员使用的认证令牌。 |
创建 Docker 网络:
docker network create caddy-network
配置环境变量:
在 .env 文件中添加 ADMIN_AUTH_TOKEN 和其他必要配置。
启动服务:
docker-compose up --build -d
访问服务:
http://localhost/docshttp://streamlit.localhosthttp://mcp.localhost添加或删除数据库:
docker compose exec db psql -U postgres -c "drop DATABASE mlcbakery;"
docker compose exec db psql -U postgres -c "create DATABASE mlcbakery;"
执行数据库迁移:
docker compose exec api alembic -c alembic.ini upgrade heads
MIT License
⚠️ 重要提示
ADMIN_AUTH_TOKEN必须配置管理员令牌,用于保护敏感端点。- Docker 网络部署时需要创建
caddy-network网络以确保服务之间通信正常。
通过以上步骤,您可以轻松地安装、配置和部署 MLC Bakery 服务。