secretflow / secretnote

Apache License 2.0
18 stars 0 forks source link

介绍

SecretNote 是专为隐语开发者打造的高级工具套件。以 notebook 的形式呈现,支持多节点代码执行和文件管理,同时提供运行状态追踪功能,能较大程度提升开发者的效率和工作体验。

由于系统安全等问题,SecretNote 不是为生产设计的,请不要直接在生产环境中使用。

使用

与 SecretFlow 一起使用

SecretNote 有单独的 pip 安装包,可以单独使用。为了避免安装、部署、启动等环境问题,推荐使用 docker 方式启动 SecretFlow 运行环境。

注意:当前 docker 镜像提供 1.3.0-amd64 和 1.5.0-amd64 两个版本,和 secretflow 的版本是对应的,也就是说,如果你想使用 secretflow 1.5 版本,那就使用镜像 secretflow/secretnote:1.5.0-amd64

  1. 启动两个容器,推荐使用 docker compose,这样方便管理容器之间的通信。新建文件夹,并新建文件 docker-compose.yml,内容如下:
services:
  alice:
    image: 'secretflow/secretnote:1.3.0-amd64'
    platform: linux/amd64
    environment:
      - SELF_PARTY=alice
      - ALL_PARTIES=alice,bob
    ports:
      - 8090:8888
    entrypoint: /root/scripts/start.sh
    volumes:
      - /root/scripts

  bob:
    image: 'secretflow/secretnote:1.3.0-amd64'
    platform: linux/amd64
    environment:
      - SELF_PARTY=bob
      - ALL_PARTIES=alice,bob
    ports:
      - 8092:8888
    entrypoint: /root/scripts/start.sh
    volumes:
      - /root/scripts

然后在新建的文件夹中执行以下命令:

docker compose up
  1. 在浏览器中打开 http://localhost:8090 或者 http://localhost:8092 访问 Web Client 进行 SecretFlow 代码研发。详细步骤可以参考文档

与 SCQL 一起使用

SecretNote 通过对 P2P SCQL 进行产品化封装,可以通过 Web Client 降低开发者编写 SCQL Query 以及配置 CCL 的难度。

注意:当前 pip 包只支持 python>=3.8,<=3.10 版本

  1. 分别在两台机器上部署 SCQL 环境,参考 P2P 模式部署

  2. 分别在两台机器上安装 SecretNote,并启动服务。

pip install -U secretnote

# party 为 scql broker 服务的 party_code
# host 为 scql broker 服务的地址
secretnote --mode=scql --party=alice --host=http://127.0.0.1:8991
  1. 分别打开两台机器的启动的 Web Client,然后在 Web Client 上完成整个 SCQL 研发流程。详细步骤可以参考文档