PySyft 客户端#

预计阅读时间:8分钟

你将学习的内容#

本指南旨在帮助您理解如何充分利用PySyft客户端,这是连接Syft数据站点的接口。

概述#

PySyft实现了客户端-服务器架构,其中客户端是一个接口,允许数据所有者和数据科学家根据各自的角色与数据站点进行交互。

一般来说,客户端可以采用任何形式——例如网站、命令行工具或库。考虑到远程代码执行的编程特性,PySyft的主要客户端是一个名为syft的Python库。未来我们将支持更多客户端格式。

工作原理#

Python客户端是Datasite服务器上提供的一系列用户友好API集合。根据用户身份(管理员、数据科学家、访客)不同,可访问的API端点可能会受到限制。

要获取PySyft客户端,您需要使用账户登录。如果您还没有账户,可以在Datasite服务器启用该选项的情况下自行注册。更多详情请参阅用户API(链接)。

获取Python客户端#

import syft as sy

server = sy.orchestra.launch(
    name="my_special_server",
    reset=True,
    dev_mode=False,
    port='auto',
)
# Logging in using the default credentials
admin_client = sy.login(
    url='localhost',
    port=server.port,
    email="[email protected]",
    password="changethis"
)

探索可用API#

客户端提供了丰富的API接口,您可以通过client.api对象查看它们:

admin_client.api

主要API#

虽然这个列表很全面,但开始使用PySyft需要熟悉以下内容:

  • Orchestra API: 能够启动本地开发服务器

  • 设置API: 能够更新服务器设置并进行自定义

  • 用户API: 管理服务器用户的能力

  • 项目API: 能够查看和检查当前用户发送或接收的项目

  • Request API: 能够查看和检查当前用户发送或接收的请求

  • 代码API: 查看和执行提交代码的能力

  • 数据集API: 能够查看、检查并上传多种数据集和资产类型

  • 同步API: 能够管理数据站点与低端和高端服务器之间的同步和信息流

  • 通知API: 能够启动本地开发服务器

更多API可用于高级用例,如自定义工作负载、支持海量数据、网络功能或安全飞地,这些功能目前处于测试阶段。

  • API: 能够检查当前API并通过自定义API进行扩展

  • Worker Image APIs, Worker API, Worker Pool API: 能够定义和启动自定义镜像,并生成多个工作池和工作器来运行自定义镜像以实现执行扩展

  • 网络API: 能够通过包含大量数据站点的集中式注册表进行发现和被发现

  • 认证API, 安全飞地API: 能够通过安全飞地在各方之间执行安全的数据连接

  • Blob存储API: 能够将blob存储作为一种存储选项使用,以扩展支持的数据规模或使用Datasets API原生不支持的数据格式。

更多相关文档即将发布。

审查特定API#

部分API直接暴露了您需要与之交互的端点,如下所示:

admin_client.users

在其他情况下,API端点只是一个子模块,您可以像这样进一步探索它们:

admin_client.api.sync
admin_client.api.sync.sync_items?