MLCBakery

MLCBakery

🚀 MLC Bakery

MLC Bakery 是一个基于 Python 的服务,用于管理机器学习(ML)模型的血统和谱系。它借助 FastAPI 和 SQLAlchemy 构建,为用户提供了便捷的 RESTful API 和 Web 界面,方便查看和管理 ML 模型的血统信息。

🚀 快速开始

MLC Bakery 是一个基于 Python 的服务,用于管理机器学习模型的血统和谱系。它使用 FastAPI 和 SQLAlchemy 构建,提供了 RESTful API 和 Web 界面来查看和管理 ML 模型的血统信息。

安装与运行

快速开始

  1. 克隆仓库:

    git clone https://github.com/yourusername/mlc-bakery.git
    cd mlt-bakery
    
  2. 创建虚拟环境并安装依赖项:

    python -m venv env
    source env/bin/activate  # 对于 Windows 使用 `env\Scripts\activate`
    pip install -r requirements.txt
    
  3. 配置环境变量: 创建一个 .env 文件,并添加以下内容:

    DB_URL=postgresql://postgres:password@localhost/mlc_bakery
    ADMIN_AUTH_TOKEN=your_secure_token_here
    
  4. 启动服务:

    uvicorn app.main:app --reload
    
  5. 访问 Web 界面: 打开浏览器,访问 http://localhost:8000

数据库迁移

使用 Alembic 进行数据库迁移:

  1. 初始化 Alembic:

    alembic init migrations
    
  2. 添加模型到迁移文件: 修改 migrations/versions/[timestamp]_[name].py 文件,将您的 ML 模型添加到 ml_models 表中。

  3. 提交迁移:

    alembic revision --autogenerate -m "add ml models"
    alembic upgrade head
    

认证与授权

  1. 创建一个 JWT 加密密钥: 在 .env 文件中添加:

    SECRET_KEY=your_jwt_secret_key_here
    
  2. 在 API 中使用 JWT 进行身份验证: 修改 app/security.py 文件,实现 JWT 解析和用户认证。

  3. 保护敏感端点: 使用 Dependssecurity.get_current_user 装饰器来保护需要认证的端点。

配置

环境变量

以下是项目所需的环境变量:

属性 详情
DB_URL 数据库连接 URL,格式为 postgresql://username:password@host/database_name
SECRET_KEY JWT 加密密钥。
ADMIN_AUTH_TOKEN 管理员使用的认证令牌。

日志与监控

  1. 使用日志记录库(如 SQLAlchemy 或 FastAPI 的默认日志记录)进行日志记录。
  2. 配置日志文件,将日志输出到文件或控制台。

部署 (Docker Compose)

快速开始

  1. 创建 Docker 网络:

    docker network create caddy-network
    
  2. 配置环境变量: 在 .env 文件中添加 ADMIN_AUTH_TOKEN 和其他必要配置。

  3. 启动服务:

    docker-compose up --build -d
    
  4. 访问服务:

    • API: http://localhost/docs
    • Streamlit 界面: http://streamlit.localhost
    • MCP 服务器: http://mcp.localhost

数据库管理

  1. 添加或删除数据库:

    docker compose exec db psql -U postgres -c "drop DATABASE mlcbakery;"
    docker compose exec db psql -U postgres -c "create DATABASE mlcbakery;"
    
  2. 执行数据库迁移:

    docker compose exec api alembic -c alembic.ini upgrade heads
    

✨ 主要特性

  • RESTful API:提供创建、读取、更新和删除 (CRUD) 操作来管理 ML 模型。
  • Web 界面:通过 Streamlit 提供直观的 Web 界面来查看和管理模型的血统信息。
  • Docker 支持:提供 Docker Compose 文件,方便部署到生产环境。
  • 认证与授权:使用 JWT 进行身份验证,确保 API 安全。

📄 许可证

MIT License

重要提示

⚠️ 重要提示

  • ADMIN_AUTH_TOKEN 必须配置管理员令牌,用于保护敏感端点。
  • Docker 网络部署时需要创建 caddy-network 网络以确保服务之间通信正常。

通过以上步骤,您可以轻松地安装、配置和部署 MLC Bakery 服务。

  • 0 关注
  • 0 收藏,18 浏览
  • system 提出于 2025-09-20 19:24

相似服务问题

相关AI产品