> 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/developer-guide/developer-guide.md).

# डेवलपर गाइड

यह अनुभाग उन लोगों के लिए है जो **विस्तारित करना** Roboflow Workflows का केवल उपयोग करके निर्माण करने वालों के बजाय उन्हें विस्तारित करते हैं: ब्लॉक लेखक, प्लगइन अनुरक्षक, और कोई भी जो Workflows Execution Engine को अपने स्वयं के अनुप्रयोग में एकीकृत करता है।

यदि आप केवल ब्राउज़र में एक Workflow बनाना और चलाना चाहते हैं, तो शुरुआत करें [एक Workflow बनाएं](/workflows/hi/build/create-a-workflow.md) और [एक Workflow बनाएँ](/workflows/hi/build/build-a-workflow.md) इसके बजाय।

## Workflows के स्तंभ

एक Workflow को शक्ति देने के लिए कई घटक मिलकर काम करते हैं। कुछ से आप रोज़ाना इंटरैक्ट करते हैं, अन्य पर्दे के पीछे चलते हैं।

* **Workflows UI** - वह विज़ुअल संपादक जहाँ आप Workflows डिज़ाइन और प्रबंधित करते हैं। यह सख्ती से आवश्यक नहीं है, लेकिन विचार से काम करने वाले Workflow तक पहुँचने का सबसे तेज़ रास्ता है। डिज़ाइन प्रक्रिया के अंत में यह Workflow Definition उत्पन्न करता है जिसे Compiler और Execution Engine उपयोग करते हैं।
* **वर्कफ़्लो परिभाषा** - एक परस्पर-प्रतिस्थापनीय JSON दस्तावेज़, जो Workflows भाषा में लिखे गए प्रोग्राम की तरह काम करता है। यह वर्कफ़्लो के डिज़ाइन को उसके निष्पादन से अलग करता है: इसे एक बार लिखें, फिर किसी भी वातावरण में चलाएँ। यह घोषित करता है **inputs** (छवियाँ या कॉन्फ़िगरेशन पैरामीटर), **steps** (ब्लॉक्स के इंस्टेंस, जो इनपुट्स या अन्य स्टेप्स के आउटपुट्स से जुड़े होते हैं), और **outputs** (नामित फ़ील्ड्स जो स्टेप आउटपुट्स का संदर्भ देती हैं)।
* **वर्कफ़्लो ब्लॉक्स** - मॉड्यूलर घटक जो एक विशिष्ट ऑपरेशन करते हैं। वर्कफ़्लो लेखक के लिए ये घोषित इनपुट्स, कॉन्फ़िगरेशन गुणों और आउटपुट्स वाले ब्लैक बॉक्स होते हैं। ब्लॉक्स को समूहित किया जाता है **प्लगइन्स**, जो साधारण Python लाइब्रेरियाँ होती हैं। Roboflow अपने स्वयं के प्लगइन्स प्रदान करता है और समुदाय अपने प्लगइन्स प्रकाशित कर सकता है।
* **कंपाइलर और निष्पादन इंजन** - वे प्रणालियाँ जो एक परिभाषा को गणना ग्राफ़ में बदलती हैं और फिर उसे चलाती हैं। पारंपरिक भाषा के कंपाइलर की तरह, वे पहले ही सहीता जाँचते हैं और फिर रनटाइम पर भारी काम करते हैं। वे इसके साथ आते हैं [इन्फ़रेंस सर्वर](https://docs.roboflow.com/deployment/self-hosted/self-hosted) और [`inference` Python पैकेज](https://pypi.org/project/inference/).

<figure><img src="https://media.roboflow.com/inference/add-output.gif" alt="Building a Workflow in the Roboflow editor"><figcaption></figcaption></figure>

## मूल अवधारणाएँ

* [वर्कफ़्लो परिभाषा वाक्यविन्यास](/workflows/hi/developer-guide/developer-guide/definitions.md) - JSON भाषा: संस्करण चिह्न, इनपुट्स, स्टेप्स, सेलेक्टर्स और आउटपुट्स
* [वर्कफ़्लो निष्पादन](/workflows/hi/developer-guide/developer-guide/workflow-execution.md) - बैच-उन्मुख डेटा, स्केलर्स, आयामी स्तर, सशर्त निष्पादन, और आउटपुट कैसे निर्मित होते हैं
* [Kinds](/workflows/hi/developer-guide/developer-guide/kinds.md) - Workflows का टाइप सिस्टम, जो ब्लॉक्स के बीच कनेक्शनों को कंपाइल समय पर सत्यापित करने योग्य बनाता है
* [डेटा निरूपण](/workflows/hi/developer-guide/developer-guide/data-representations.md) - वे Python प्रकार जिन्हें आपका ब्लॉक वास्तव में प्राप्त करता है: `Batch`, `WorkflowImageData`, `VideoMetadata`

## आंतरिक रूप से

* [वर्कफ़्लोज़ कंपाइलर](/workflows/hi/developer-guide/developer-guide/compiler.md) - ब्लॉक लोडिंग, पार्सिंग, ग्राफ निर्माण, डेटा वंशावली, और स्टेप आरंभिककरण
* [निष्पादन इंजन](/workflows/hi/developer-guide/developer-guide/execution-engine.md) - रनटाइम इनपुट सत्यापन, निष्पादन क्रम, स्टेप इनपुट संयोजन, और प्रवाह नियंत्रण
* [आंतरिक वर्कफ़्लोज़](/workflows/hi/developer-guide/developer-guide/inner-workflows.md) - एक वर्कफ़्लो परिभाषा को दूसरे के भीतर एंबेड करना
* [निष्पादन इंजन परिवर्तन-सूची](/workflows/hi/developer-guide/developer-guide/execution-engine-changelog.md) - प्रत्येक Execution Engine संस्करण में क्या बदला
* [संस्करणीकरण](/workflows/hi/developer-guide/developer-guide/versioning.md) - परिभाषाओं, ब्लॉक्स और इंजन के बीच संगतता की गारंटियाँ

## निर्माण खंड

* [एक Workflow block बनाएँ](/workflows/hi/developer-guide/developer-guide/create-a-block.md) - संपूर्ण मार्गदर्शिका: मेनिफ़ेस्ट, इनपुट्स, आउटपुट्स, बैच प्रसंस्करण, प्रवाह नियंत्रण, आयामीता
* [blocks को एक प्लगइन में पैकेज करना](/workflows/hi/developer-guide/developer-guide/block-bundling.md) - प्लगइन संरचना, आवश्यक इंटरफ़ेस, प्रकार, इनिशियलाइज़र, सीरियलाइज़र
* [डायनामिक Python blocks](/workflows/hi/developer-guide/developer-guide/dynamic-python-blocks.md) - एक वर्कफ़्लो परिभाषा के भीतर सीधे एक ब्लॉक परिभाषित करें
* [ब्लॉक्स का परीक्षण](/workflows/hi/developer-guide/developer-guide/testing.md) - यूनिट और इंटीग्रेशन परीक्षण दृष्टिकोण
* [समुदाय प्लगइन्स](/workflows/hi/developer-guide/developer-guide/community-plugins.md) - समुदाय द्वारा प्रकाशित प्लगइन्स

## वर्कफ़्लोज़ का संचालन

* [वर्कफ़्लोज़ स्कीमा API](/workflows/hi/developer-guide/developer-guide/schema-api.md) - किसी वर्कफ़्लो के इनपुट्स, आउटपुट्स और टाइपिंग संकेतों का प्रोग्रामेटिक रूप से वर्णन करें
* [वर्कफ़्लो प्रोफाइलिंग](/workflows/hi/developer-guide/developer-guide/profiling.md) - स्टेप के समय को मापें और बाधाएँ खोजें
* [बेंचमार्क](/workflows/hi/developer-guide/developer-guide/benchmarks.md) - सीधे मॉडल इनफ़ेरेंस की तुलना में वर्कफ़्लो ओवरहेड
* [वीडियो प्रसंस्करण](/workflows/hi/deploy/video-processing.md) - वीडियो फ़्रेम्स और स्ट्रीम्स पर Workflows चलाना
