对话研究统一平台。
项目描述
ParlAI(发音为“par-lay”)是一个Python框架,用于共享、训练和测试对话模型,从开放域闲聊到面向任务的对话,再到视觉问答。
它的目标是向研究人员
- 一个地方提供100+个热门数据集,使用相同的API,其中包括 PersonaChat、DailyDialog、维基百科巫师、同理心对话、SQuAD、MS MARCO、QuAC、HotpotQA、QACNN & QADailyMail、CBT、BookTest、bAbI 对话任务、Ubuntu 对话、OpenSubtitles、图像聊天、VQA、VisDial 和 CLEVR。完整列表请查看 此处。
- 一系列广泛的 参考模型 -- 从检索基线到 Transformers。
- 一个庞大的 预训练模型库,可直接使用
- 无缝集成 亚马逊机械工人,用于数据收集和人工评估
- 与 Facebook Messenger 集成,以便在聊天界面中将代理与人类连接起来
- 大量助手,用于创建自己的代理,并在多个任务上使用 多任务 进行训练
- 多模态,一些任务使用文本和图像
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
中)有额外的要求。
虚拟环境
我们 强烈 建议您使用 venv 或 conda 在虚拟环境中安装 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
。如果您需要清除这些文件占用的空间,可以安全地删除这些目录,并且所需文件将再次下载。
文档
- 快速入门
- 基础知识:世界、代理、教师、动作和观察
- 创建新的数据集/任务
- 可用任务/数据集列表
- 创建seq2seq代理
- 可用代理列表
- 模型库(预训练模型列表)
- 运行众包任务
- 连接到Facebook Messenger
示例
可以在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 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 177bb5c9dae4bcaf7cdc04bd193e5fa1690ff87bef1132c9d6098c39f831b287 |
|
MD5 | 97e4b58246fd66dc215736fe00c16ee6 |
|
BLAKE2b-256 | b773a20eac14b2e7386ff691db02550d956739aa2f2156447bd9f06b30360766 |
parlai-1.7.2-py3-none-any.whl 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b953b9748b6e53f909edae43f9c0167fb1eb1b7a2db86a9ec7327d693406fb5e |
|
MD5 | 144a054fd0b5279c2ab8f5582a099304 |
|
BLAKE2b-256 | 95783179dc3b74521ee550681d04bde59ea5fc747ee2f1d1413359c6f21eb556 |