Image-Text-to-Text
Transformers
Safetensors
qwen2_vl
conversational
Eval Results
text-generation-inference
Instructions to use OS-Copilot/OS-Atlas-Pro-7B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use OS-Copilot/OS-Atlas-Pro-7B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="OS-Copilot/OS-Atlas-Pro-7B") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# Load model directly from transformers import AutoProcessor, AutoModelForImageTextToText processor = AutoProcessor.from_pretrained("OS-Copilot/OS-Atlas-Pro-7B") model = AutoModelForImageTextToText.from_pretrained("OS-Copilot/OS-Atlas-Pro-7B") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] inputs = processor.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps
- vLLM
How to use OS-Copilot/OS-Atlas-Pro-7B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "OS-Copilot/OS-Atlas-Pro-7B" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "OS-Copilot/OS-Atlas-Pro-7B", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/OS-Copilot/OS-Atlas-Pro-7B
- SGLang
How to use OS-Copilot/OS-Atlas-Pro-7B with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "OS-Copilot/OS-Atlas-Pro-7B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "OS-Copilot/OS-Atlas-Pro-7B", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "OS-Copilot/OS-Atlas-Pro-7B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "OS-Copilot/OS-Atlas-Pro-7B", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }' - Docker Model Runner
How to use OS-Copilot/OS-Atlas-Pro-7B with Docker Model Runner:
docker model run hf.co/OS-Copilot/OS-Atlas-Pro-7B
Update README.md
Browse files
README.md
CHANGED
|
@@ -9,7 +9,7 @@ pipeline_tag: image-text-to-text
|
|
| 9 |
|
| 10 |
<div align="center">
|
| 11 |
|
| 12 |
-
[\[🏠Homepage\]](https://osatlas.github.io) [\[💻Code\]](https://github.com/OS-Copilot/OS-Atlas) [\[🚀Quick Start\]](#quick-start) [\[📝Paper\]](https://arxiv.org/abs/2410.23218) [\[🤗Models\]](https://huggingface.co/collections/OS-Copilot/os-atlas-67246e44003a1dfcc5d0d045) [\[🤗ScreenSpot-v2\]](https://huggingface.co/datasets/OS-Copilot/ScreenSpot-v2)
|
| 13 |
|
| 14 |
</div>
|
| 15 |
|
|
@@ -23,14 +23,16 @@ For GUI grounding tasks, you can use:
|
|
| 23 |
- [OS-Atlas-Base-4B](https://huggingface.co/OS-Copilot/OS-Atlas-Base-4B)
|
| 24 |
|
| 25 |
For generating single-step actions in GUI agent tasks, you can use:
|
| 26 |
-
- [OS-Atlas-
|
| 27 |
-
- [OS-Atlas-
|
| 28 |
|
| 29 |
|
| 30 |
## OS-Atlas-Action-7B
|
| 31 |
|
| 32 |
`OS-Atlas-Action-7B` is a GUI action model finetuned from OS-Atlas-Base-7B. By taking as input a system prompt, basic and custom actions, and a task instruction, the model generates thoughtful reasoning (`thought`) and executes the appropriate next step (`action`).
|
| 33 |
|
|
|
|
|
|
|
| 34 |
### Installation
|
| 35 |
To use `OS-Atlas-Action-7B`, first install the necessary dependencies:
|
| 36 |
```bash
|
|
@@ -39,8 +41,9 @@ pip install qwen-vl-utils
|
|
| 39 |
```
|
| 40 |
|
| 41 |
### Example Inference Code
|
| 42 |
-
|
| 43 |
|
|
|
|
| 44 |
```python
|
| 45 |
from transformers import Qwen2VLForConditionalGeneration, AutoProcessor
|
| 46 |
from qwen_vl_utils import process_vision_info
|
|
@@ -134,7 +137,7 @@ messages = [
|
|
| 134 |
},
|
| 135 |
{
|
| 136 |
"type": "image",
|
| 137 |
-
"image": "
|
| 138 |
},
|
| 139 |
{"type": "text", "text": "Task instruction: to allow the user to enter their first name\nHistory: null" },
|
| 140 |
],
|
|
|
|
| 9 |
|
| 10 |
<div align="center">
|
| 11 |
|
| 12 |
+
[\[🏠Homepage\]](https://osatlas.github.io) [\[💻Code\]](https://github.com/OS-Copilot/OS-Atlas) [\[🚀Quick Start\]](#quick-start) [\[📝Paper\]](https://arxiv.org/abs/2410.23218) [\[🤗Models\]](https://huggingface.co/collections/OS-Copilot/os-atlas-67246e44003a1dfcc5d0d045)[\[🤗Data\]](https://huggingface.co/datasets/OS-Copilot/OS-Atlas-data) [\[🤗ScreenSpot-v2\]](https://huggingface.co/datasets/OS-Copilot/ScreenSpot-v2)
|
| 13 |
|
| 14 |
</div>
|
| 15 |
|
|
|
|
| 23 |
- [OS-Atlas-Base-4B](https://huggingface.co/OS-Copilot/OS-Atlas-Base-4B)
|
| 24 |
|
| 25 |
For generating single-step actions in GUI agent tasks, you can use:
|
| 26 |
+
- [OS-Atlas-Pro-7B](https://huggingface.co/OS-Copilot/OS-Atlas-Pro-7B)
|
| 27 |
+
- [OS-Atlas-Pro-4B](https://huggingface.co/OS-Copilot/OS-Atlas-Pro-4B)
|
| 28 |
|
| 29 |
|
| 30 |
## OS-Atlas-Action-7B
|
| 31 |
|
| 32 |
`OS-Atlas-Action-7B` is a GUI action model finetuned from OS-Atlas-Base-7B. By taking as input a system prompt, basic and custom actions, and a task instruction, the model generates thoughtful reasoning (`thought`) and executes the appropriate next step (`action`).
|
| 33 |
|
| 34 |
+
Note that the released `OS-Atlas-Pro-7B model` is described in the Section 5.4 of the paper. Compared to the OS-Atlas model in Tables 4 and 5, the Pro model demonstrates superior generalizability and performance. Critically, it is not constrained to specific tasks or training datasets merely to satisfy particular experimental conditions like OOD and SFT. Furthermore, this approach prevents us from overdosing HuggingFace by uploading over 20+ distinct model checkpoints.
|
| 35 |
+
|
| 36 |
### Installation
|
| 37 |
To use `OS-Atlas-Action-7B`, first install the necessary dependencies:
|
| 38 |
```bash
|
|
|
|
| 41 |
```
|
| 42 |
|
| 43 |
### Example Inference Code
|
| 44 |
+
First download the [example image](https://github.com/OS-Copilot/OS-Atlas/blob/main/examples/images/action_example_1.jpg) and save it to the current directory.
|
| 45 |
|
| 46 |
+
Below is an example of how to perform inference using the model:
|
| 47 |
```python
|
| 48 |
from transformers import Qwen2VLForConditionalGeneration, AutoProcessor
|
| 49 |
from qwen_vl_utils import process_vision_info
|
|
|
|
| 137 |
},
|
| 138 |
{
|
| 139 |
"type": "image",
|
| 140 |
+
"image": "./action_example_1.jpg",
|
| 141 |
},
|
| 142 |
{"type": "text", "text": "Task instruction: to allow the user to enter their first name\nHistory: null" },
|
| 143 |
],
|