跳转到主要内容

对话研究统一平台。

项目描述


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

它的目标是向研究人员

ParlAI 在以下论文中有描述:“ParlAI:对话研究软件平台”,arXiv:1705.06476 或查看这些 更新的幻灯片

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

交互式教程

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

安装 ParlAI

操作系统

ParlAI 应在 Linux 或 macOS 下按预期工作。我们目前不支持 Windows,但许多用户 报告在 Windows 上使用 Python 3.8 成功,而 Python 3.9 存在问题。我们很高兴接受改进 Windows 支持的补丁。

Python 解释器

ParlAI 当前需要 Python3.8+。

要求

ParlAI 支持 Pytorch 1.6 或更高版本。核心模块的所有要求均列在 requirements.txt 中。但是,某些包含的模型(在 parlai/agents 中)有额外的要求。

虚拟环境

我们 强烈 建议您使用 venvconda 在虚拟环境中安装 ParlAI。

最终用户安装

如果您想不进行修改就使用 ParlAI,可以使用以下命令安装:

cd /path/to/your/parlai-app
python3.8 -m venv venv
venv/bin/pip install --upgrade pip setuptools wheel
venv/bin/pip install parlai

开发者安装

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

git clone https://github.com/facebookresearch/ParlAI.git ~/ParlAI
cd ~/ParlAI
python3.8 -m venv venv
venv/bin/pip install --upgrade pip setuptools wheel
venv/bin/python setup.py develop

注意 由于依赖关系(尤其是在与PyTorch相关的包中),从源安装可能不起作用。在这种情况下,尝试构建一个新的conda环境并运行类似以下命令:conda install pytorch==2.0.0 torchvision torchaudio torchtext pytorch-cuda=11.8 -c pytorch -c nvidia。请检查torch设置文档以了解您的CUDA和操作系统版本。

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

文档

示例

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

显示SQuAD任务中的10个随机示例

parlai display_data -t squad

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

parlai eval_model -m ir_baseline -t personachat -dt valid

在PersonaChat上训练单层transformer(需要pytorch和torchtext)。详情:嵌入大小300,4个注意力头,2个epoch,使用64个批处理大小,使用fasttext初始化词向量,训练期间将批处理的其他元素用作负样本。

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

代码组织

代码被设置成几个主要目录

  • 核心:包含框架的主要代码
  • 代理:包含可以与不同任务交互的代理(例如机器学习模型)
  • 脚本:包含许多有用的脚本,如训练、评估、交互式聊天等
  • 任务:包含ParlAI中可用任务的代码
  • mturk:包含设置Mechanical Turk的代码以及示例MTurk任务
  • messenger:包含与Facebook Messenger接口的代码
  • 工具:包含大量常用实用方法
  • 众包:包含运行众包任务的代码,如Amazon Mechanical Turk
  • 聊天服务:包含与服务(如Facebook Messenger)接口的代码
  • 模型库:包含直接从我们的模型库下载和使用预训练模型的代码

支持

如果您有任何问题、错误报告或功能请求,请毫不犹豫地在我们的Github问题页面上发表。您还可能对我们的常见问题和我们的技巧和技巧感兴趣。

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

贡献

我们欢迎社区贡献PR!

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

团队

ParlAI 目前由陈莫雅、迪南·艾米丽、朱德克斯特、科梅利·莫杰塔巴、波夫·斯宾塞、林希亚·普拉提克、罗勒·斯蒂芬、舒斯特·库尔特、史密斯·埃里克·迈克尔、翁·梅根、尤班克·杰克、韦斯顿·贾森、威廉森·玛丽、徐静和徐静维护。库尔特·舒斯特是当前的负责人。

前主要贡献者和维护者包括米勒·亚历山大·H、李·玛格丽特、冯·威廉、费施·亚当、卢·贾森、博德斯·安东尼、帕里赫·德维、巴特拉·德鲁夫、贝尔布特·佩雷斯·费利佩·德·阿维拉、潘·曹和普里·维达恩。

引用

如果您在您的工作中使用了 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 采用 MIT 许可。有关详细信息,请参阅 LICENSE 文件。

项目详情


下载文件

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

源代码分发

parlai-1.7.2.tar.gz (1.4 MB 查看哈希)

上传时间 源代码

构建分发

parlai-1.7.2-py3-none-any.whl (2.0 MB 查看哈希)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面