> 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/workflows/hi/blocks/blocks/data-storage/roboflow-vision-events.md).

# Roboflow विज़न इवेंट्स

छवियाँ, मॉडल पूर्वानुमान, और इवेंट मेटाडेटा को मॉनिटरिंग, गुणवत्ता नियंत्रण, सुरक्षा अलर्ट, और कस्टम इवेंट ट्रैकिंग के लिए Roboflow Vision Events API को भेजें।

## यह ब्लॉक कैसे काम करता है

यह ब्लॉक वर्कफ़्लो छवियों और मॉडल पूर्वानुमानों को Roboflow Vision Events API पर अपलोड करता है, जिससे संरचित इवेंट बनते हैं जिन्हें Roboflow डैशबोर्ड में क्वेरी, फ़िल्टर और विज़ुअलाइज़ किया जा सकता है।

1. वैकल्पिक रूप से सार्वजनिक API के माध्यम से इनपुट छवि और/या आउटपुट छवि (विज़ुअलाइज़ेशन) को Vision Events इमेज स्टोरेज में अपलोड करता है
2. मॉडल पूर्वानुमानों (ऑब्जेक्ट डिटेक्शन, क्लासिफिकेशन, इंस्टेंस सेगमेंटेशन, या कीपॉइंट डिटेक्शन) को Vision Events एनोटेशन प्रारूप में बदलता है और उन्हें इनपुट छवि के साथ संलग्न करता है
3. निर्दिष्ट इवेंट प्रकार, उपयोग-केस, इवेंट डेटा, और कस्टम मेटाडेटा के साथ एक विज़न इवेंट बनाता है
4. एक अंतर्निर्मित दर सीमा लागू करता है (`cooldown_seconds`, डिफ़ॉल्ट 1 सेकंड) ताकि उच्च-आवृत्ति वाले वीडियो वर्कफ़्लो API को प्रति फ़्रेम एक इवेंट से भर न दें
5. नॉन-ब्लॉकिंग निष्पादन के लिए फायर-एंड-फॉरगेट मोड का समर्थन करता है

## दर-सीमिती

वीडियो वर्कफ़्लो प्रति सेकंड कई बार चल सकते हैं, जो डिफ़ॉल्ट रूप से हर फ़्रेम के लिए एक इवेंट (और उसकी छवियाँ) भेजेंगे। इसे रोकने के लिए, ब्लॉक लगातार इवेंट्स के बीच एक कूलडाउन लागू करता है: डिफ़ॉल्ट रूप से प्रति सेकंड अधिकतम एक इवेंट भेजा जाता है। कूलडाउन अवधि के दौरान ट्रिगर हुए इवेंट छोड़ दिए जाते हैं और `throttling_status` आउटपुट को सेट किया जाता है `True`.

समायोजित करें `cooldown_seconds` को अपनी ज़रूरतों के अनुसार, या इसे `0` पर सेट करें ताकि दर-सीमिती पूरी तरह निष्क्रिय हो जाए (उदा. जानबूझकर बर्स्टी उपयोग मामलों के लिए)। कूलडाउन टाइमर ब्लॉक इंस्टेंस में रहता है, इसलिए यह persistent WebRTC सत्रों जैसे लंबे समय तक चलने वाले निष्पादन को थ्रॉटल करता है। HTTP के माध्यम से सर्व किए गए वर्कफ़्लो (उदा.: `/workflows/run`) हर अनुरोध के लिए नए ब्लॉक इंस्टेंस बनाते हैं, इसलिए कूलडाउन अलग-अलग HTTP कॉल के बीच थ्रॉटल नहीं करता।

## डिप्लॉयमेंट मोड

डिफ़ॉल्ट रूप से यह ब्लॉक इवेंट्स को **Roboflow Vision Events API** (क्लाउड / Serverless API) को भेजता है, छवियाँ अपलोड करता है और सार्वजनिक API के माध्यम से इवेंट पोस्ट करता है।

एज डिप्लॉयमेंट्स के लिए, सक्षम करें **स्थानीय इवेंट स्टोर में लिखें** ताकि इवेंट्स को इसके बजाय एक स्थानीय Event Ingestion Service पर भेजा जा सके। इस मोड में छवियाँ सीधे अनुरोध में एम्बेड की जाती हैं (कोई अपलोड चरण नहीं) और इवेंट पोस्ट किया जाता है `<इवेंट स्टोर URL>/v2/events` पर। इवेंट स्टोर URL डिफ़ॉल्ट रूप से `http://localhost:8001` है और इसे ओवरराइड किया जा सकता है। इस मोड में Roboflow API कुंजी की आवश्यकता नहीं है; यदि स्थानीय सेवा को प्रमाणीकरण चाहिए, तो `EVENT_INGESTION_API_KEY` पर्यावरण चर को inference सर्वर पर सेट करें।

## इवेंट प्रकार

* **quality\_check**: उत्पादन/निरीक्षण QA, pass/fail परिणाम और वैकल्पिक confidence के साथ
* **inventory\_count**: स्थान, item count, और item type के साथ इन्वेंटरी ट्रैकिंग
* **safety\_alert**: alert type, severity (low/medium/high), और विवरण के साथ सुरक्षा उल्लंघन
* **custom**: मुक्त-रूप value string के साथ उपयोगकर्ता-परिभाषित इवेंट्स
* **operator\_feedback**: पिछले इवेंट्स की ऑपरेटर समीक्षा/सुधार (सही/गलत/अनिश्चित)

## आवश्यकताएँ

डिफ़ॉल्ट (क्लाउड) मोड के लिए `vision-events:write` scope के साथ एक वैध Roboflow API कुंजी की आवश्यकता होती है, जिसे आपके environment या workflow configuration में कॉन्फ़िगर किया गया हो। जब **स्थानीय इवेंट स्टोर में लिखें** सक्षम हो (ऊपर Deployment Modes देखें), तब Roboflow API कुंजी की आवश्यकता नहीं होती।

## सामान्य उपयोग के मामले

* **गुणवत्ता नियंत्रण**: छवियों और detection overlays के साथ निरीक्षण परिणामों को स्वचालित रूप से लॉग करें
* **सुरक्षा निगरानी**: वीडियो स्ट्रीम में उल्लंघन पाए जाने पर सुरक्षा अलर्ट भेजें
* **उत्पादन विश्लेषण**: दृश्य प्रमाण के साथ इन्वेंटरी काउंट और उत्पादन मीट्रिक्स ट्रैक करें
* **सक्रिय निगरानी**: रियल-टाइम वीडियो प्रोसेसिंग वर्कफ़्लो से फायर-एंड-फॉरगेट इवेंट लॉगिंग

### प्रकार पहचानकर्ता

स्टेप में निम्नलिखित पहचानकर्ता का उपयोग करें `"type"` फ़ील्ड: `roboflow_core/roboflow_vision_events@v1` अपने वर्कफ़्लो में ब्लॉक को एक स्टेप के रूप में जोड़ने के लिए।

### गुण

| **नाम**                | **प्रकार**                                | **विवरण**                                                                                                                                                                                                                                                                                                                                                                                                                    | संदर्भ |
| ---------------------- | ----------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ |
| `name`                 | `str`                                     | इस स्टेप के लिए एक विशिष्ट पहचानकर्ता दर्ज करें..                                                                                                                                                                                                                                                                                                                                                                            | ❌      |
| `event_type`           | `str`                                     | बनाने के लिए विज़न इवेंट का प्रकार..                                                                                                                                                                                                                                                                                                                                                                                         | ✅      |
| `solution`             | `str`                                     | वह उपयोग-केस जिससे इवेंट को जोड़ना है। workspace के भीतर इवेंट्स उपयोग-केस के अनुसार नामस्थानित होते हैं..                                                                                                                                                                                                                                                                                                                   | ✅      |
| `external_id`          | `str`                                     | अन्य प्रणालियों के साथ सहसंबंध के लिए बाहरी पहचानकर्ता (अधिकतम 1000 वर्ण)..                                                                                                                                                                                                                                                                                                                                                  | ✅      |
| `qc_result`            | `str`                                     | गुणवत्ता जांच परिणाम: pass या fail..                                                                                                                                                                                                                                                                                                                                                                                         | ✅      |
| `location`             | `str`                                     | इन्वेंटरी काउंट के लिए स्थान पहचानकर्ता..                                                                                                                                                                                                                                                                                                                                                                                    | ✅      |
| `item_count`           | `int`                                     | गिने गए आइटम्स की संख्या..                                                                                                                                                                                                                                                                                                                                                                                                   | ✅      |
| `item_type`            | `str`                                     | गिने जा रहे आइटम का प्रकार..                                                                                                                                                                                                                                                                                                                                                                                                 | ✅      |
| `alert_type`           | `str`                                     | अलर्ट प्रकार पहचानकर्ता (उदा. no\_hardhat, spill\_detected)..                                                                                                                                                                                                                                                                                                                                                                | ✅      |
| `severity`             | `str`                                     | सुरक्षा अलर्ट के लिए गंभीरता स्तर..                                                                                                                                                                                                                                                                                                                                                                                          | ✅      |
| `alert_description`    | `str`                                     | सुरक्षा अलर्ट का विवरण..                                                                                                                                                                                                                                                                                                                                                                                                     | ✅      |
| `custom_value`         | `str`                                     | कस्टम इवेंट्स के लिए मनमाना मान..                                                                                                                                                                                                                                                                                                                                                                                            | ✅      |
| `related_event_id`     | `str`                                     | समीक्षित किए जा रहे इवेंट का event ID..                                                                                                                                                                                                                                                                                                                                                                                      | ✅      |
| `feedback`             | `str`                                     | संबंधित इवेंट पर ऑपरेटर की प्रतिक्रिया..                                                                                                                                                                                                                                                                                                                                                                                     | ✅      |
| `custom_metadata`      | `Dict[str, Union[bool, float, int, str]]` | इवेंट के साथ संलग्न करने के लिए समतल key-value मेटाडेटा। कुंजियाँ पैटर्न \[a-zA-Z0-9\_ -]+ (अधिकतम 100 वर्ण) से मेल खानी चाहिए। स्ट्रिंग मान अधिकतम 1000 वर्ण..                                                                                                                                                                                                                                                              | ✅      |
| `fire_and_forget`      | `bool`                                    | यदि True हो, तो इवेंट असिंक्रोनस रूप से भेजा जाता है और वर्कफ़्लो बिना प्रतीक्षा किए आगे बढ़ता है। यदि False हो, तो ब्लॉक API प्रतिक्रिया की प्रतीक्षा करता है..                                                                                                                                                                                                                                                             | ✅      |
| `disable_sink`         | `bool`                                    | यदि True हो, तो ब्लॉक निष्क्रिय रहता है और कोई इवेंट नहीं भेजे जाते..                                                                                                                                                                                                                                                                                                                                                        | ✅      |
| `cooldown_seconds`     | `Union[float, int]`                       | इस ब्लॉक द्वारा भेजे गए लगातार इवेंट्स के बीच न्यूनतम सेकंडों की संख्या। कूलडाउन अवधि के दौरान ट्रिगर हुए इवेंट छोड़ दिए जाते हैं और `throttling_status` आउटपुट को True पर सेट किया जाता है। डिफ़ॉल्ट रूप से 1 सेकंड (प्रति सेकंड अधिकतम 1 इवेंट) ताकि उच्च-आवृत्ति वीडियो वर्कफ़्लो Vision Events API को प्रति फ़्रेम एक इवेंट से भर न दें। जानबूझकर बर्स्टी उपयोग मामलों के लिए दर-सीमिती निष्क्रिय करने हेतु 0 सेट करें.. | ✅      |
| `write_to_event_store` | `bool`                                    | यदि True हो, तो Roboflow Vision Events API (क्लाउड) के बजाय एक स्थानीय Event Ingestion Service (एज डिप्लॉयमेंट) को इवेंट भेजें। छवियाँ अनुरोध में एम्बेड की जाती हैं और इवेंट पोस्ट किया जाता है `<Event Store URL>/v2/events` पर। इस मोड में Roboflow API कुंजी की आवश्यकता नहीं होती..                                                                                                                                     | ✅      |
| `event_store_url`      | `str`                                     | स्थानीय Event Ingestion Service का बेस URL। केवल तब उपयोग किया जाता है जब `स्थानीय इवेंट स्टोर में लिखें` सक्षम हो..                                                                                                                                                                                                                                                                                                         | ✅      |

यह **संदर्भ** स्तंभ यह इंगित करता है कि संपत्ति को वर्कफ़्लो रनटाइम में उपलब्ध गतिशील मानों के साथ पैरामीटराइज़ किया जा सकता है `वर्कफ़्लो` रनटाइम। देखें *बाइंडिंग्स* अधिक जानकारी के लिए।

### रनटाइम संगतता

`सॉफ्ट` - रनटाइम `hosted_serverless`, `dedicated_deployment`; निष्पादन `दूरस्थ` : Cooldown / rate-limit timer process memory में संग्रहीत होता है। stateless या multi-replica HTTP runtimes पर remote step execution के साथ प्रत्येक अनुरोध को एक नया worker मिलता है, इसलिए cooldown throttling नहीं करता। Cooldown केवल persistent WebRTC session में local step execution के साथ दस्तावेज़ के अनुसार काम करता है।

### इनपुट और आउटपुट बाइंडिंग्स

उपलब्ध कनेक्शन उसके बाइंडिंग प्रकारों पर निर्भर करते हैं। देखें कि कौन-से बाइंडिंग प्रकार `Roboflow Vision इवेंट्स` संस्करण `v1` है।

<details>

<summary>इनपुट और आउटपुट बाइंडिंग्स</summary>

* इनपुट
  * `input_image` ([*`छवि`*](/workflows/hi/developer-guide/developer-guide/kinds/image.md)): मूल इनपुट छवि। Vision Events API पर अपलोड की जाती है और detection annotations के लिए base image के रूप में उपयोग होती है..
  * `output_image` ([*`छवि`*](/workflows/hi/developer-guide/developer-guide/kinds/image.md)): एक वैकल्पिक आउटपुट/विज़ुअलाइज़्ड छवि (उदा., visualization block से)। Vision Events dashboard में primary image के रूप में प्रदर्शित होती है..
  * `predictions` (*Union\[*[*`object_detection_prediction`*](/workflows/hi/developer-guide/developer-guide/kinds/object-detection-prediction.md)*,* [*`classification_prediction`*](/workflows/hi/developer-guide/developer-guide/kinds/classification-prediction.md)*,* [*`instance_segmentation_prediction`*](/workflows/hi/developer-guide/developer-guide/kinds/instance-segmentation-prediction.md)*,* [*`keypoint_detection_prediction`*](/workflows/hi/developer-guide/developer-guide/kinds/keypoint-detection-prediction.md)*]*): detection annotations के रूप में इनपुट छवि पर शामिल करने के लिए वैकल्पिक model predictions। object detection, instance segmentation, keypoint detection, और classification predictions का समर्थन करता है..
  * `event_type` ([*`string`*](/workflows/hi/developer-guide/developer-guide/kinds/string.md)): बनाने के लिए विज़न इवेंट का प्रकार..
  * `solution` (*Union\[*[*`roboflow_solution`*](/workflows/hi/developer-guide/developer-guide/kinds/roboflow-solution.md)*,* [*`string`*](/workflows/hi/developer-guide/developer-guide/kinds/string.md)*]*): वह उपयोग-केस जिससे इवेंट को जोड़ना है। workspace के भीतर इवेंट्स उपयोग-केस के अनुसार नामस्थानित होते हैं..
  * `external_id` ([*`string`*](/workflows/hi/developer-guide/developer-guide/kinds/string.md)): अन्य प्रणालियों के साथ सहसंबंध के लिए बाहरी पहचानकर्ता (अधिकतम 1000 वर्ण)..
  * `qc_result` ([*`string`*](/workflows/hi/developer-guide/developer-guide/kinds/string.md)): गुणवत्ता जांच परिणाम: pass या fail..
  * `location` ([*`string`*](/workflows/hi/developer-guide/developer-guide/kinds/string.md)): इन्वेंटरी काउंट के लिए स्थान पहचानकर्ता..
  * `item_count` ([*`पूर्णांक`*](/workflows/hi/developer-guide/developer-guide/kinds/integer.md)): गिने गए आइटम्स की संख्या..
  * `item_type` ([*`string`*](/workflows/hi/developer-guide/developer-guide/kinds/string.md)): गिने जा रहे आइटम का प्रकार..
  * `alert_type` ([*`string`*](/workflows/hi/developer-guide/developer-guide/kinds/string.md)): अलर्ट प्रकार पहचानकर्ता (उदा. no\_hardhat, spill\_detected)..
  * `severity` ([*`string`*](/workflows/hi/developer-guide/developer-guide/kinds/string.md)): सुरक्षा अलर्ट के लिए गंभीरता स्तर..
  * `alert_description` ([*`string`*](/workflows/hi/developer-guide/developer-guide/kinds/string.md)): सुरक्षा अलर्ट का विवरण..
  * `custom_value` ([*`string`*](/workflows/hi/developer-guide/developer-guide/kinds/string.md)): कस्टम इवेंट्स के लिए मनमाना मान..
  * `related_event_id` ([*`string`*](/workflows/hi/developer-guide/developer-guide/kinds/string.md)): समीक्षित किए जा रहे इवेंट का event ID..
  * `feedback` ([*`string`*](/workflows/hi/developer-guide/developer-guide/kinds/string.md)): संबंधित इवेंट पर ऑपरेटर की प्रतिक्रिया..
  * `custom_metadata` ([*`*`*](/workflows/hi/developer-guide/developer-guide/kinds/wildcard.md)): इवेंट के साथ संलग्न करने के लिए समतल key-value मेटाडेटा। कुंजियाँ पैटर्न \[a-zA-Z0-9\_ -]+ (अधिकतम 100 वर्ण) से मेल खानी चाहिए। स्ट्रिंग मान अधिकतम 1000 वर्ण..
  * `fire_and_forget` ([*`boolean`*](/workflows/hi/developer-guide/developer-guide/kinds/boolean.md)): यदि True हो, तो इवेंट असिंक्रोनस रूप से भेजा जाता है और वर्कफ़्लो बिना प्रतीक्षा किए आगे बढ़ता है। यदि False हो, तो ब्लॉक API प्रतिक्रिया की प्रतीक्षा करता है..
  * `disable_sink` ([*`boolean`*](/workflows/hi/developer-guide/developer-guide/kinds/boolean.md)): यदि True हो, तो ब्लॉक निष्क्रिय रहता है और कोई इवेंट नहीं भेजे जाते..
  * `cooldown_seconds` (*Union\[*[*`float`*](/workflows/hi/developer-guide/developer-guide/kinds/float.md)*,* [*`पूर्णांक`*](/workflows/hi/developer-guide/developer-guide/kinds/integer.md)*]*): इस ब्लॉक द्वारा भेजे गए लगातार इवेंट्स के बीच न्यूनतम सेकंडों की संख्या। कूलडाउन अवधि के दौरान ट्रिगर हुए इवेंट छोड़ दिए जाते हैं और `throttling_status` आउटपुट को True पर सेट किया जाता है। डिफ़ॉल्ट रूप से 1 सेकंड (प्रति सेकंड अधिकतम 1 इवेंट) ताकि उच्च-आवृत्ति वीडियो वर्कफ़्लो Vision Events API को प्रति फ़्रेम एक इवेंट से भर न दें। जानबूझकर बर्स्टी उपयोग मामलों के लिए दर-सीमिती निष्क्रिय करने हेतु 0 सेट करें..
  * `write_to_event_store` ([*`boolean`*](/workflows/hi/developer-guide/developer-guide/kinds/boolean.md)): यदि True हो, तो Roboflow Vision Events API (क्लाउड) के बजाय एक स्थानीय Event Ingestion Service (एज डिप्लॉयमेंट) को इवेंट भेजें। छवियाँ अनुरोध में एम्बेड की जाती हैं और इवेंट पोस्ट किया जाता है `<Event Store URL>/v2/events` पर। इस मोड में Roboflow API कुंजी की आवश्यकता नहीं होती..
  * `event_store_url` ([*`string`*](/workflows/hi/developer-guide/developer-guide/kinds/string.md)): स्थानीय Event Ingestion Service का बेस URL। केवल तब उपयोग किया जाता है जब `स्थानीय इवेंट स्टोर में लिखें` सक्षम हो..
* आउटपुट
  * `error_status` ([`boolean`](/workflows/hi/developer-guide/developer-guide/kinds/boolean.md)): बूलियन फ़्लैग.
  * `throttling_status` ([`boolean`](/workflows/hi/developer-guide/developer-guide/kinds/boolean.md)): बूलियन फ़्लैग.
  * `event_id` ([`string`](/workflows/hi/developer-guide/developer-guide/kinds/string.md)): स्ट्रिंग मान.
  * `message` ([`string`](/workflows/hi/developer-guide/developer-guide/kinds/string.md)): स्ट्रिंग मान.

</details>

<details>

<summary>उदाहरण JSON परिभाषा</summary>

```json
{
	    "name": "<your_step_name_here>",
	    "type": "roboflow_core/roboflow_vision_events@v1",
	    "input_image": "$inputs.image",
	    "output_image": "$steps.visualization.image",
	    "predictions": "$steps.object_detection_model.predictions",
	    "event_type": "quality_check",
	    "solution": "my-use-case",
	    "external_id": "batch-2025-001",
	    "qc_result": "pass",
	    "location": "warehouse-A",
	    "item_count": 42,
	    "item_type": "widget",
	    "alert_type": "no_hardhat",
	    "severity": "high",
	    "alert_description": "Worker detected without hardhat in zone B",
	    "custom_value": "anomaly detected at 14:32",
	    "related_event_id": "evt_abc123",
	    "feedback": "correct",
	    "custom_metadata": {
	        "camera_id": "cam_01",
	        "location": "$inputs.location"
	    },
	    "fire_and_forget": true,
	    "disable_sink": false,
	    "cooldown_seconds": 1,
	    "write_to_event_store": false,
	    "event_store_url": "http://localhost:8001"
	}
```

</details>
