ScienceWorld 是一个基于文本的虚拟环境,以完成标准化基础科学课程中的任务为中心。 此代码随附于论文《ScienceWorld:你的文本代理比五年级学生更聪明吗?》。
您可以通过我们的 HuggingFace Space 亲自尝试 ScienceWorld 或阅读一些通关脚本。
@misc{scienceworld2022, title={ScienceWorld: Is your Agent Smarter than a 5th Grader?}, author={Ruoyao Wang and Peter Jansen and Marc-Alexandre C{^o}t{'e} and Prithviraj Ammanabrolu}, year={2022}, eprint={2203.07540}, archivePrefix={arXiv}, primaryClass={cs.CL}, url={https://arxiv.org/abs/2203.07540} }
运行之前:您必须在系统上安装Java 1.8+
(随大多数 Linux 发行版一起提供)和Python 3.8+
。我们建议创建一个像这样的 conda 环境:
conda create --name scienceworld python=3.8 conda 激活科学世界
然后,从 PyPi 安装 ScienceWorld:
pip install scienceworld
或从开发模式下的源代码:
git clone https://github.com/allenai/ScienceWorld.git cd ScienceWorld pip install .
在任务 13(分类:将非生物放入盒子中)中运行一个示例随机代理,共 5 个片段:
python examples/random_agent.py --task-num=13 --num-episodes=5 --simplifications-preset easy
在任务 3(状态更改:熔化)中运行用户控制台,您可以在其中与环境交互:
python examples/human.py --task-num=3 --num-episodes=5
还提供 Web 服务器演示,允许运行可在 Web 浏览器中进行交互的 ScienceWorld 用户控制台。
要运行 Web 服务器演示:
conda create --name scienceworld python=3.8 conda 激活科学世界 pip 安装 scienceworld[网络服务器]
运行网络服务器:
python examples/scienceworld-web-server-example.py
将您的网络浏览器指向: localhost:8080
ScienceWorld 是用 Scala (2.12.9) 编写的,并使用sbt
编译成用 Java 运行的 JAR 文件。 为了方便起见,提供了一个 Python API (Python >= 3.8),它使用py4j
包进行接口。
如果修改了 Scala 代码,可以通过运行以下命令重新编译 JAR 文件:
./模拟器/package.sh pip install -e 。
下表列出了这些任务及其变体数量。任务 ID 或其名称可用于带有env.load()
任务。
任务编号 | 任务名称 | # 变化 |
---|---|---|
1-1 | 熬 | 30 |
1-2 | 熔化 | 30 |
1-3 | 冻结 | 30 |
1-4 | 改变事物的状态 | 30 |
2-1 | 使用温度计 | 540 |
2-2 | 测量熔点已知物质 | 第436章 |
2-3 | 测量熔点未知物质 | 300 |
3-1 | 功率元件 | 20 |
3-2 | 电力元件可再生能源与不可再生能源 | 20 |
3-3 | 测试电导率 | 900 |
3-4 | 未知物质的电导率测试 | 600 |
4-1 | 寻找生物 | 300 |
4-2 | 寻找非生物 | 300 |
4-3 | 寻找植物 | 300 |
4-4 | 寻找动物 | 300 |
5-1 | 种植植物 | 126 |
5-2 | 长果子 | 126 |
6-1 | 化学混合 | 32 |
6-2 | 化学混合油漆二次色 | 36 |
6-3 | 化学混合油漆三色 | 36 |
7-1 | 寿命最长 | 125 |
7-2 | 寿命最短 | 125 |
7-3 | 寿命-最长寿命然后最短寿命 | 125 |
8-1 | 识别生命阶段-1 | 14 |
8-2 | 识别生命阶段2 | 10 |
9-1 | 斜面确定角度 | 168 |
9-2 | 斜面摩擦命名表面 | 1386 |
9-3 | 斜面摩擦未命名表面 | 162 |
10-1 | 孟德尔遗传学已知植物 | 120 |
10-2 | 孟德尔遗传学未知植物 | 第480章 |
DRRN: https://github.com/cognitiveailab/drrn-scienceworld
KG-A2C: https://github.com/cognitiveailab/kga2c-scienceworld
平静: https://github.com/cognitiveailab/calm-scienceworld
行为克隆和决策转换器: https://github.com/cognitiveailab/t5-scienceworld