> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/datasets/hi/annotate/annotate/manage-annotation-workflow.md).

# एनोटेशन वर्कफ़्लो प्रबंधित करें

upload batches और annotation jobs सूचीबद्ध करने तथा images को labelers और reviewers को असाइन करने के लिए Python SDK का उपयोग करें।

## Python SDK

`प्रोजेक्ट` एनोटेशन-पाइपलाइन के प्रिमिटिव्स प्रदान करता है: अपलोड बैचों की सूची देखें, एनोटेशन जॉब्स का निरीक्षण करें, और नए जॉब बनाएँ जो इमेजों को एक लेबलर और एक समीक्षक को असाइन करते हैं।

### इमेज बैचों की सूची

अपलोड की गई हर इमेजों का सेट एक बैच से संबंधित होता है। किसी प्रोजेक्ट के बैचों की सूची देखें:

```python
import roboflow

rf = roboflow.Roboflow(api_key="YOUR_API_KEY")
project = rf.workspace().project("my-detector")

batches = project.get_batches()
for b in batches.get("batches", []):
    print(b["id"], b["name"], b["images"], "इमेजें")
```

एकल बैच का विवरण प्राप्त करें:

```python
batch = project.get_batch("<batch-id>")
print(batch)
```

### एनोटेशन जॉब्स की सूची

```python
jobs = project.get_annotation_jobs()
for job in jobs.get("jobs", []):
    print(job["id"], job["name"], job["status"], job["annotated"], "/", job["numImages"])
```

एकल जॉब प्राप्त करें:

```python
job = project.get_annotation_job("<job-id>")
print(job)
```

### एक एनोटेशन जॉब बनाएँ

किसी बैच से इमेजों को एक लेबलर को (और, यदि आपके वर्कस्पेस में Role-Based Access Control सक्षम है, तो एक समीक्षक को भी) असाइन करें:

```python
job = project.create_annotation_job(
    name="राउंड 1: इनडोर फ़्रेम्स",
    batch_id="<batch-id>",
    num_images=100,
    labeler_email="labeler@company.com",
    reviewer_email="reviewer@company.com",
)
print(job["id"], job["status"])
```

#### पैरामीटर

* `name` (str) - जॉब के लिए प्रदर्शित नाम।
* `batch_id` (str) - उस अपलोड बैच का ID जिससे इमेजें आती हैं।
* `num_images` (int) - बैच से कितनी इमेजें इस जॉब में शामिल करनी हैं।
* `labeler_email` (str) - वर्कस्पेस सदस्य का ईमेल, जो लेबल बनाएगा।
* `reviewer_email` (str) - वर्कस्पेस सदस्य का ईमेल, जो समीक्षा करेगा। यदि RBAC सक्षम नहीं है, तो इसे लेबलर के बराबर रखें।

### एनोटेशन को प्रोग्रामेटिक रूप से सहेजें

जब आपके पास किसी अन्य स्रोत से एनोटेशन हों (जैसे मौजूदा CVAT एक्सपोर्ट, या कोई मॉडल प्रेडिक्शन जिसे आप कमिट करना चाहते हैं), तो [`Project.save_annotation`](/datasets/hi/manage/manage-images.md#python-sdk) का उपयोग करके उन्हें सीधे किसी इमेज से जोड़ें।

## CLI

आप कमांड लाइन से एनोटेशन बैचों की सूची देख सकते हैं, बैच विवरण जाँच सकते हैं, और एनोटेशन जॉब बना सकते हैं।

### एनोटेशन बैच

#### बैचों की सूची

```bash
roboflow annotation batch list -p my-project
```

JSON आउटपुट के साथ:

```bash
roboflow annotation batch list -p my-project --json
```

#### बैच विवरण प्राप्त करें

```bash
roboflow annotation batch get <batch-id> -p my-project
```

```bash
roboflow annotation batch get <batch-id> -p my-project --json
```

### एनोटेशन जॉब्स

#### जॉब्स की सूची

```bash
roboflow annotation job list -p my-project
```

```bash
roboflow annotation job list -p my-project --json
```

#### जॉब विवरण प्राप्त करें

```bash
roboflow annotation job get <job-id> -p my-project
```

```bash
roboflow annotation job get <job-id> -p my-project --json
```

#### जॉब बनाएँ

```bash
roboflow annotation job create -p my-project \\
  --name "लेबल राउंड 1" \\
  --batch <batch-id> \\
  --num-images 100 \\
  --labeler labeler@company.com \\
  --reviewer reviewer@company.com
```

**विकल्प**

| ध्वज              | विवरण                                        |
| ----------------- | -------------------------------------------- |
| `-p`, `--project` | प्रोजेक्ट ID (आवश्यक)                        |
| `--name`          | जॉब नाम (आवश्यक)                             |
| `--batch`         | जिस बैच से इमेजें लेनी हैं उसका ID (आवश्यक)  |
| `--num-images`    | शामिल की जाने वाली इमेजों की संख्या (आवश्यक) |
| `--labeler`       | लेबलर का ईमेल पता (आवश्यक)                   |
| `--reviewer`      | समीक्षक का ईमेल पता (आवश्यक)                 |

### JSON आउटपुट

सभी एनोटेशन कमांड समर्थन करते हैं `--json` स्ट्रक्चर्ड आउटपुट के लिए:

```bash
roboflow annotation batch list -p my-project --json | jq '.[].id'
roboflow annotation job create -p my-project --name "जॉब" \\
  --batch abc --num-images 50 --labeler a@co.com --reviewer b@co.com --json
```

एग्ज़िट कोड्स: 0 = सफल, 1 = त्रुटि, 2 = प्रमाणीकरण त्रुटि, 3 = नहीं मिला।

## MCP सर्वर

अपने AI एजेंट को [MCP सर्वर](https://docs.roboflow.com/agents/mcp-server) से जोड़ें और यह इन टूल्स के साथ एक लेबलिंग जॉब को समीक्षा तक आगे बढ़ा सकता है:

<table data-search="false"><thead><tr><th width="290">टूल</th><th>विवरण</th></tr></thead><tbody><tr><td><code>annotation_jobs_create</code></td><td>एक जॉब बनाएँ और किसी बैच से इमेजों को उसमें स्थानांतरित करें।</td></tr><tr><td><code>annotation_jobs_update</code></td><td>जॉब के लेबलर, समीक्षक, या निर्देश अपडेट करें।</td></tr><tr><td><code>annotation_jobs_submit_for_review</code></td><td>लेबलिंग जॉब को समीक्षा चरण में ले जाएँ।</td></tr><tr><td><code>annotation_jobs_return_for_edits</code></td><td>समीक्षा जॉब को वापस लेबलिंग में भेजें।</td></tr><tr><td><code>annotation_jobs_accept_into_dataset</code></td><td>जॉब की इमेजों को Dataset में अंतिम रूप दें और स्प्लिट्स असाइन करें।</td></tr></tbody></table>
