Skip to main content

对话研究的统一平台。

项目描述


ParlAI(发音为“par-lay”)是一个用于共享、训练和测试对话模型的 python 框架,从开放域聊天到面向任务的对话,再到视觉问答。

其目标是为研究人员提供:

ParlAI 在以下论文中进行了描述: “ParlAI: A Dialog Research Software Platform”,arXiv:1705.06476 或查看这些更新的幻灯片

在Twitter 上关注我们并查看我们的发行说明以查看有关新功能和更新的最新信息,以及网站 http://parl.ai以获取更多文档。有关更新的存档列表,请查看NEWS.md。

互动教程

对于那些现在想开始使用 ParlAI 的人,您可以尝试我们的Colab 教程

安装 ParlAI

ParlAI 目前需要 Python3.8+ 和Pytorch 1.6 或更高版本。核心模块的依赖关系在 中列出requirements.txt。包含的一些模型(在 中parlai/agents)有额外的要求。我们强烈建议您在venvconda环境中安装 ParlAI。

我们目前不支持 Windows,但许多用户报告说使用 Python 3.8 在 Windows 上取得了成功,但在Python 3.9 上存在问题。我们很高兴接受改进 Windows 支持的补丁。

标准安装

如果你想在不修改的情况下使用 ParlAI,你可以安装它:

pip install parlai

开发安装

许多用户会想要修改 ParlAI 的某些部分。要设置开发环境,请运行以下命令来克隆存储库并安装 ParlAI:

git clone https://github.com/facebookresearch/ParlAI.git ~/ParlAI
cd ~/ParlAI; python setup.py develop

所有需要的数据都将下载到~/ParlAI/data. 如果您需要清除这些文件使用的空间,您可以安全地删除这些目录,并且将再次下载所需的任何文件。

文档

例子

大量的脚本可以在parlai/scripts. 这里有几个。注意:如果这些示例中的任何一个失败,请检查安装部分以查看您是否遗漏了某些内容。

显示来自 SQuAD 任务的 10 个随机示例

parlai display_data -t squad

在 Personachat 任务的验证集上评估 IR 基线模型:

parlai eval_model -m ir_baseline -t personachat -dt valid

在 PersonaChat 上训练单层转换器(需要 pytorch 和 torchtext)。细节:嵌入大小 300,4 个注意力头,2 个使用 batchsize 64 的 epoch,词向量用 fasttext 初始化,batch 的其他元素在训练期间用作负数。

parlai train_model -t personachat -m transformer/ranker -mf /tmp/model_tr6 --n-layers 1 --embedding-size 300 --ffn-size 600 --n-heads 4 --num-epochs 2 -veps 0.25 -bs 64 -lr 0.001 --dropout 0.1 --embedding-type fasttext_cc --candidates batch

代码组织

代码设置到几个主要目录中:

  • core:包含框架的主要代码
  • 代理:包含可以与不同任务交互的代理(例如机器学习模型)
  • scripts:包含许多有用的脚本,如培训、评估、交互式聊天……
  • tasks:包含 ParlAI 中可用的不同任务的代码
  • mturk:包含设置 Mechanical Turk 的代码,以及示例 MTurk 任务
  • messenger:包含与 Facebook Messenger 交互的代码
  • utils:包含大量常用的实用程序方法
  • 众包:包含运行众包任务的代码,例如在 Amazon Mechanical Turk 上
  • chat_service:包含与 Facebook Messenger 等服务交互的代码
  • zoo:包含从我们的模型动物园直接下载和使用预训练模型的代码

支持

如果您有任何问题、错误报告或功能请求,请随时在我们的Github 问题页面上发帖。您可能也有兴趣查看我们的常见问题解答和我们的提示和技巧

请记住遵守我们的行为准则

贡献

我们欢迎来自社区的 PR!

您可以在我们的贡献 文档中找到有关为 ParlAI 贡献的信息。

团队

ParlAI 目前由 Moya Chen、Emily Dinan、Dexter Ju、Mojtaba Komeili、Spencer Poff、Pratik Ringshia、Stephen Roller、Kurt Shuster、Eric Michael Smith、Megan Ung、Jack Urbanek、Jason Weston、Mary Williamson 和 Jing Xu 维护。Kurt Shuster 是现任技术主管。

前主要贡献者和维护者包括 Alexander H. Miller、Margaret Li、Will Feng、Adam Fisch、Jiasen Lu、Antoine Bordes、Devi Parikh、Dhruv Batra、Filipe de Avila Belbute Peres、Chao Pan 和 Vedant Puri。

引文

如果您在工作中使用 ParlAI,请引用arXiv 论文:

@article{miller2017parlai,
  title={ParlAI: A Dialog Research Software Platform},
  author={{Miller}, A.~H. and {Feng}, W. and {Fisch}, A. and {Lu}, J. and {Batra}, D. and {Bordes}, A. and {Parikh}, D. and {Weston}, J.},
  journal={arXiv preprint arXiv:{1705.06476}},
  year={2017}
}

执照

ParlAI 是麻省理工学院许可的。有关详细信息,请参阅许可证文件。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

parlai-1.7.1.tar.gz (1.2 MB 查看哈希

已上传 source

内置分布

parlai-1.7.1-py3-none-any.whl (1.9 MB 查看哈希

已上传 py3