A text processing package with various scenarios and checkers.
Project description
CrafText Benchmark: Advancing Instruction Following in Complex Multimodal Open-Ended World
CrafText is a goal-conditioned extension of the Craftax environment, designed as a benchmark for multimodal reinforcement learning. It enables agents to follow natural language instructions grounded in rich, visual environments inspired by Minecraft, combining vision and language to guide complex action sequences.
✨ Key Features
-
Natural Language Objectives Agents are driven by instructions such as “place a crafting table near a tree” or “build a square with stone blocks,” requiring them to reason over both spatial layouts and object interactions.
-
Diverse Scenario Library Tasks are defined in
CrafText/craftext/dataset/scenarious, offering a wide range of instruction types and complexities—from basic object placement to multi-step crafting chains. -
Automated Instruction Checkers Each task includes a custom checker located in
craftext/environment/scenarious/checkers, which programmatically verifies whether the agent has fulfilled the specified goal. -
Environment Integration Layer The wrapper in
craftext_wrapper.pyenriches the base environment with dynamic goal injection and success feedback.
Visual Examples
| Place Crafting Table Near Tree | Place Crafting Table Near Water | Make Square of Stone |
|---|---|---|
Installation
-
Clone the repository.
-
Create a virtual environment and install the dependencies from
requirements.txt:conda create --name craftext python=3.9 conda activate craftext pip install -r requirements.txt
-
Navigate to the repository and install the dataset:
cd CrafText pip install -e .
Here is your updated section with improved formatting, added explanation, and a Basic Usage code block that includes block-style markdown syntax, as well as clarifying comments and structure for better readability:
🧪 Basic Usage
from craftext.enviroment.craftext_wrapper import InstructionWrapper
from craftext.dataset.scenarious import ScenariousManager
from craftext.models.encode import DistilBertEncode, EncodeForm
import jax
import jax.numpy as jnp
# Step 1: Create Craftax environment
env: CraftaxClassicPixelsEnv = make_craftax_env_from_name(
"Craftax-Classic-Pixels-v1",
auto_reset=False
)
# Step 2: Wrap with CrafText
wrapper = InstructionWrapper(
env=env,
config_name='simple',
scenario_handler_class=ScenariousManager,
encode_model_class=DistilBertEncode,
encode_form=EncodeForm.EMBEDDING
)
# Step 3: Reset and interact
seed = jax.random.PRNGKey(0)
env_params = env.default_params
obs, state = wrapper.reset(seed, env_params)
print("Initial Observation:", obs)
print("Initial State:", state)
action = jnp.array(0, dtype=jnp.int32)
obs, state, reward, done, info = wrapper.step(seed, state, action, env_params)
Citation
If you use CrafText in your research, please cite:
@article{volovikova2025craftext,
title={CrafText Benchmark: Advancing Instruction Following in Complex Multimodal Open-Ended World},
author={Volovikova, Zoya and Gorbov, Gregory and Kuderov, Petr and Panov, Aleksandr I and Skrynnik, Alexey},
journal={arXiv preprint arXiv:2505.11962},
year={2025}
}
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file craftext-0.2.2.tar.gz.
File metadata
- Download URL: craftext-0.2.2.tar.gz
- Upload date:
- Size: 101.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.21
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c6bc7359a9d9a652de3479cb747ab90c00dc3a4902470bda01d053f8f4d2ccab
|
|
| MD5 |
e2f0a88affd0ed954c6b160f41fcc24a
|
|
| BLAKE2b-256 |
d56de42100a97ea1239db321054683fe371c4bb47cb9f82b81ec850d93c63c62
|
File details
Details for the file craftext-0.2.2-py3-none-any.whl.
File metadata
- Download URL: craftext-0.2.2-py3-none-any.whl
- Upload date:
- Size: 139.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.21
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a7d13bc8c6af94496d187a702e50cf621ff9940ac45ed2ac6e8ef6c5474e52cc
|
|
| MD5 |
f087368dbb611c3bb70306362f4eda38
|
|
| BLAKE2b-256 |
2ff50652854ec78d0a71cbb74112897199409772c61ce3d01189fecc6b7302d6
|