部署标注服务器
如何为正式研究部署 Potato 标注服务器,包括身份验证选项、HTTPS,以及使用 Docker 或反向代理的生产环境配置。
真正开展一项标注研究,意味着把 Potato 从你的笔记本电脑迁移到标注者可以访问的服务器上,并配好合适的登录方式和 HTTPS,以保护凭据与数据。 本指南介绍各项部署选择;分步设置请参见本地开发与部署章节。
选择身份验证方式
让登录方式与你的标注者群体相匹配:
- 免密码:标注者只需输入用户名。适用于可信赖的内部团队,或平台已识别出工作者身份的众包研究。参见免密码登录。
- 密码:托管的用户名单,适用于一组固定的具名标注者。
- OAuth / SSO:使用 Google 或 GitHub 登录,或使用你所在机构的单点登录。最适合规模较大或机构级的部署。
置于 HTTPS 之后
任何正式部署都应通过 HTTPS 提供服务,使用户名、答案以及任何个人数据在传输过程中得到加密。通常的做法是在 Potato 前面用 nginx 这类反向代理来终止 TLS,或使用一个为你处理 TLS 的托管平台。
典型的生产环境技术栈
- 在生产级服务器进程下运行的 Potato。
- 作为反向代理、负责处理 TLS 与静态资源的 nginx(或类似工具)。
- 用于可复现打包的 Docker,如果你选择容器化的话。
- 一个带证书的公共 DNS 名称(Let's Encrypt 免费提供证书)。
先在本地试运行完全相同的配置,然后再部署同一份配置,唯一变化的只有 URL、身份验证和 TLS。
运营研究
- 在管理后台中关注进度、吞吐量和一致性。
- 定期备份输出目录;标注结果会写入其中。
- 关于众包研究,参见在 Prolific 和 MTurk 上开展研究。