# 🦀 CRAB: Cross-platform Agent Benchmark for Multimodal Embodied Language Model Agents
[![arXiv][arxiv-image]][arxiv-url]
[![Slack][slack-image]][slack-url]
[![Discord][discord-image]][discord-url]
[![Wechat][wechat-image]][wechat-url]
[![Twitter][twitter-image]][twitter-url]
## Overview
CRAB is a framework for building LLM agent benchmark environments in a Python-centric way.
#### Key Features
🌐 Cross-platform and Multi-environment
* Create build agent environments that support various deployment options including in-memory, Docker-hosted, virtual machines, or distributed physical machines, provided they are accessible via Python functions.
* Let the agent access all the environments in the same time through a unified interface.
⚙ ️Easy-to-use Configuration
* Add a new action by simply adding a `@action` decorator on a Python function.
* Deine the environment by integrating several actions together.
📐 Novel Benchmarking Suite
* Define tasks and the corresponding evlauators in an intuitive Python-native way.
* Introduce a novel graph evaluator method providing fine-grained metrics.
## Installation
#### Prerequisites
- Python 3.10 or newer
```bash
pip install crab-framework[client]
```
## Experiment on CRAB-Benchmark-v0
All datasets and experiment code are in [crab-benchmark-v0](./crab-benchmark-v0/) directory. Please carefully read the [benchmark tutorial](./crab-benchmark-v0/README.md) before using our benchmark.
## Examples
#### Run template environment with openai agent
```bash
export OPENAI_API_KEY=<your api key>
python examples/single_env.py
python examples/multi_env.py
```
## Cite
Please cite [our paper](https://arxiv.org/abs/2407.01511) if you use anything related in your work:
```
@misc{xu2024crab,
title={CRAB: Cross-environment Agent Benchmark for Multimodal Language Model Agents},
author={Tianqi Xu and Linyao Chen and Dai-Jie Wu and Yanjun Chen and Zecheng Zhang and Xiang Yao and Zhiqiang Xie and Yongchao Chen and Shilong Liu and Bochen Qian and Philip Torr and Bernard Ghanem and Guohao Li},
year={2024},
eprint={2407.01511},
archivePrefix={arXiv},
primaryClass={cs.AI},
url={https://arxiv.org/abs/2407.01511},
}
```
[slack-url]: https://join.slack.com/t/camel-kwr1314/shared_invite/zt-1vy8u9lbo-ZQmhIAyWSEfSwLCl2r2eKA
[slack-image]: https://img.shields.io/badge/Slack-CAMEL--AI-blueviolet?logo=slack
[discord-url]: https://discord.gg/CNcNpquyDc
[discord-image]: https://img.shields.io/badge/Discord-CAMEL--AI-7289da?logo=discord&logoColor=white&color=7289da
[wechat-url]: https://ghli.org/camel/wechat.png
[wechat-image]: https://img.shields.io/badge/WeChat-CamelAIOrg-brightgreen?logo=wechat&logoColor=white
[twitter-url]: https://twitter.com/CamelAIOrg
[twitter-image]: https://img.shields.io/twitter/follow/CamelAIOrg?style=social&color=brightgreen&logo=twitter
[arxiv-image]: https://img.shields.io/badge/arXiv-2407.01511-b31b1b.svg
[arxiv-url]: https://arxiv.org/abs/2407.01511
Raw data
{
"_id": null,
"home_page": "https://github.com/camel-ai/crab",
"name": "crab-framework",
"maintainer": "Tianqi Xu",
"docs_url": null,
"requires_python": "<4.0,>=3.10",
"maintainer_email": "tianqi.xu@kaust.edu.sa",
"keywords": null,
"author": "CAMEL-AI.org",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/5c/b4/0a0496fc06c5c836b10a9d446a4953138e1cc980b6a8b36cac9fd7ec1796/crab_framework-0.1.2.tar.gz",
"platform": null,
"description": "# \ud83e\udd80 CRAB: Cross-platform Agent Benchmark for Multimodal Embodied Language Model Agents\n\n[![arXiv][arxiv-image]][arxiv-url]\n[![Slack][slack-image]][slack-url]\n[![Discord][discord-image]][discord-url]\n[![Wechat][wechat-image]][wechat-url]\n[![Twitter][twitter-image]][twitter-url]\n\n## Overview\n\nCRAB is a framework for building LLM agent benchmark environments in a Python-centric way.\n\n#### Key Features\n\n\ud83c\udf10 Cross-platform and Multi-environment\n* Create build agent environments that support various deployment options including in-memory, Docker-hosted, virtual machines, or distributed physical machines, provided they are accessible via Python functions.\n* Let the agent access all the environments in the same time through a unified interface.\n\n\u2699 \ufe0fEasy-to-use Configuration\n* Add a new action by simply adding a `@action` decorator on a Python function.\n* Deine the environment by integrating several actions together.\n\n\ud83d\udcd0 Novel Benchmarking Suite\n* Define tasks and the corresponding evlauators in an intuitive Python-native way.\n* Introduce a novel graph evaluator method providing fine-grained metrics.\n\n## Installation\n\n#### Prerequisites\n\n- Python 3.10 or newer\n\n```bash\npip install crab-framework[client]\n```\n\n## Experiment on CRAB-Benchmark-v0\n\nAll datasets and experiment code are in [crab-benchmark-v0](./crab-benchmark-v0/) directory. Please carefully read the [benchmark tutorial](./crab-benchmark-v0/README.md) before using our benchmark.\n\n## Examples\n\n#### Run template environment with openai agent\n\n```bash\nexport OPENAI_API_KEY=<your api key>\npython examples/single_env.py\npython examples/multi_env.py\n```\n\n\n## Cite\nPlease cite [our paper](https://arxiv.org/abs/2407.01511) if you use anything related in your work:\n```\n@misc{xu2024crab,\n title={CRAB: Cross-environment Agent Benchmark for Multimodal Language Model Agents}, \n author={Tianqi Xu and Linyao Chen and Dai-Jie Wu and Yanjun Chen and Zecheng Zhang and Xiang Yao and Zhiqiang Xie and Yongchao Chen and Shilong Liu and Bochen Qian and Philip Torr and Bernard Ghanem and Guohao Li},\n year={2024},\n eprint={2407.01511},\n archivePrefix={arXiv},\n primaryClass={cs.AI},\n url={https://arxiv.org/abs/2407.01511}, \n}\n```\n\n[slack-url]: https://join.slack.com/t/camel-kwr1314/shared_invite/zt-1vy8u9lbo-ZQmhIAyWSEfSwLCl2r2eKA\n[slack-image]: https://img.shields.io/badge/Slack-CAMEL--AI-blueviolet?logo=slack\n[discord-url]: https://discord.gg/CNcNpquyDc\n[discord-image]: https://img.shields.io/badge/Discord-CAMEL--AI-7289da?logo=discord&logoColor=white&color=7289da\n[wechat-url]: https://ghli.org/camel/wechat.png\n[wechat-image]: https://img.shields.io/badge/WeChat-CamelAIOrg-brightgreen?logo=wechat&logoColor=white\n[twitter-url]: https://twitter.com/CamelAIOrg\n[twitter-image]: https://img.shields.io/twitter/follow/CamelAIOrg?style=social&color=brightgreen&logo=twitter\n[arxiv-image]: https://img.shields.io/badge/arXiv-2407.01511-b31b1b.svg\n[arxiv-url]: https://arxiv.org/abs/2407.01511",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Cross-platform Agent Benchmark for Multimodal Embodied Language Model Agents.",
"version": "0.1.2",
"project_urls": {
"Homepage": "https://github.com/camel-ai/crab",
"Repository": "https://github.com/camel-ai/crab"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "8ff76d211aec4a0eb6b694b5b9c74ad02608af7c8f6d561a2d93ad956cb1aed6",
"md5": "f4854fb372097793329ad1c289fbe385",
"sha256": "cc98f216d2b104e397dd6eb5f52a1630bec7b271b37765cf0211fd9d4ee2f603"
},
"downloads": -1,
"filename": "crab_framework-0.1.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f4854fb372097793329ad1c289fbe385",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.10",
"size": 71420,
"upload_time": "2024-07-31T11:29:31",
"upload_time_iso_8601": "2024-07-31T11:29:31.776251Z",
"url": "https://files.pythonhosted.org/packages/8f/f7/6d211aec4a0eb6b694b5b9c74ad02608af7c8f6d561a2d93ad956cb1aed6/crab_framework-0.1.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5cb40a0496fc06c5c836b10a9d446a4953138e1cc980b6a8b36cac9fd7ec1796",
"md5": "ee1fd55eedd7b63dba5dc20939325312",
"sha256": "2cc51b27ec9a016345d38cf60b263f9c0e18d7e79adf9f3acbebec80d25490e8"
},
"downloads": -1,
"filename": "crab_framework-0.1.2.tar.gz",
"has_sig": false,
"md5_digest": "ee1fd55eedd7b63dba5dc20939325312",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.10",
"size": 41798,
"upload_time": "2024-07-31T11:29:32",
"upload_time_iso_8601": "2024-07-31T11:29:32.940955Z",
"url": "https://files.pythonhosted.org/packages/5c/b4/0a0496fc06c5c836b10a9d446a4953138e1cc980b6a8b36cac9fd7ec1796/crab_framework-0.1.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-07-31 11:29:32",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "camel-ai",
"github_project": "crab",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "crab-framework"
}