For the complete documentation index, see llms.txt. This page is also available as Markdown.

कोसाइन समानता

दो embeddings के बीच cosine similarity की गणना करें।

दो embedding vectors के बीच cosine similarity की गणना करें, उनके बीच के कोण के cosine की गणना करके, परिमाण की परवाह किए बिना दिशात्मक समानता मापें ताकि समानता तुलना, semantic matching, embedding-based search, और similarity-based filtering workflows सक्षम हों।

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

यह ब्लॉक cosine similarity की गणना करता है, जो उनके बीच के कोण के cosine पर आधारित दो वेक्टरों के बीच समानता का एक माप है। ब्लॉक:

  1. वर्कफ़्लो चरणों से दो embedding vectors प्राप्त करता है (उदा., CLIP, Perception Encoder, या अन्य embedding models से)

  2. एम्बेडिंग आयामों को मान्य करता है:

    • सुनिश्चित करता है कि दोनों embeddings का dimensionality समान हो (तत्वों की संख्या समान हो)

    • यदि आयाम मेल नहीं खाते, तो त्रुटि उत्पन्न करता है

  3. cosine similarity की गणना करता है:

    • दोनों embedding vectors का dot product निकालता है

    • प्रत्येक embedding vector का L2 norm (परिमाण) निकालता है

    • dot product को दोनों norms के गुणनफल से विभाजित करता है: similarity = (a · b) / (||a|| × ||b||)

    • यह वेक्टरों के बीच के कोण के cosine को मापता है, जो दिशात्मक समानता दर्शाता है

  4. समानता स्कोर लौटाता है:

    • -1 से 1 तक का समानता मान आउटपुट करता है

    • मान 1: वेक्टर एक ही दिशा में इशारा करते हैं (समान या समानुपाती) - अधिकतम समानता

    • मान 0: वेक्टर ऑर्थोगोनल (लंबवत) हैं - कोई समानता नहीं

    • मान -1: वेक्टर विपरीत दिशाओं में इशारा करते हैं - अधिकतम असमानता

    • बड़े मान (1 के अधिक निकट) अधिक समानता दर्शाते हैं

Cosine similarity परिमाण-स्वतंत्र होती है, यानी यह आकार के बजाय दिशा में समानता मापती है। जो दो वेक्टर एक ही दिशा में इशारा करते हैं, उनके परिमाण अलग होने पर भी cosine similarity अधिक होगी। इसलिए यह embeddings की तुलना के लिए आदर्श है, जहाँ परिमाण बदल सकता है लेकिन semantic meaning (दिशा) महत्वपूर्ण होती है।

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

  • सार्थक समानता तुलना: embeddings का उपयोग करके images, text, या अन्य data types के बीच semantic similarity की तुलना करें (उदा., image embeddings की तुलना करें, text को images से मिलाएँ, समान content खोजें), जिससे similarity comparison workflows सक्षम हों

  • एम्बेडिंग-आधारित खोज: embedding-based search और retrieval के लिए similarity scores का उपयोग करें (उदा., समान images खोजें, embedding similarity से search करें, समान content retrieve करें), जिससे embedding search workflows सक्षम हों

  • क्रॉस-मोडल मिलान: विभिन्न modalities के embeddings का मिलान करें (उदा., images को text से मिलाएँ, text descriptions से मेल खाने वाले images खोजें, text को images से मिलाएँ), जिससे cross-modal matching workflows सक्षम हों

  • समानता-आधारित फ़िल्टरिंग: similarity thresholds के आधार पर data को फ़िल्टर करें (उदा., समान items फ़िल्टर करें, similarity का उपयोग करके duplicates खोजें, near-duplicates की पहचान करें), जिससे similarity filtering workflows सक्षम हों

  • सामग्री अनुशंसा: content recommendation और matching के लिए similarity scores का उपयोग करें (उदा., समान content सुझाएँ, संबंधित items मिलाएँ, समान products सुझाएँ), जिससे recommendation workflows सक्षम हों

  • गुणवत्ता नियंत्रण और सत्यापन: गुणवत्ता नियंत्रण के लिए embeddings को मान्य करें या embeddings की तुलना करें (उदा., embedding quality मान्य करें, consistency के लिए embeddings की तुलना करें, embedding similarity जाँचें), जिससे quality control workflows सक्षम हों

अन्य ब्लॉक्स से कनेक्ट करना

यह ब्लॉक embedding model blocks से embeddings प्राप्त करता है और similarity scores उत्पन्न करता है:

  • एम्बेडिंग मॉडल ब्लॉकों के बाद (CLIP, Perception Encoder, आदि) embeddings की तुलना करने के लिए (उदा., image और text embeddings की तुलना करें, अनेक embeddings की तुलना करें, similarity scores की गणना करें), जिससे embedding-to-similarity workflows सक्षम हों

  • लॉजिक ब्लॉक्स से पहले जैसे Continue If, स्थितियों में similarity scores का उपयोग करने के लिए (उदा., यदि similarity threshold से अधिक हो तो जारी रखें, similarity के आधार पर फ़िल्टर करें, similarity का उपयोग करके निर्णय लें), जिससे similarity-based decision workflows सक्षम हों

  • filtering blocks से पहले समानता के आधार पर फ़िल्टर करने के लिए (उदा., similarity threshold के अनुसार फ़िल्टर करें, कम-समानता वाले items हटाएँ, उच्च-समानता वाले matches रखें), जिससे similarity-to-filter workflows सक्षम हों

  • डेटा संग्रहण ब्लॉकों से पहले समानता स्कोर संग्रहीत करने के लिए (उदा., similarity metrics संग्रहीत करें, similarity comparisons लॉग करें, similarity results सहेजें), जिससे similarity storage workflows सक्षम हों

  • सूचना ब्लॉकों से पहले समानता-आधारित alerts भेजने के लिए (उदा., उच्च समानता matches पर सूचना दें, similarity changes पर alert करें, similarity reports भेजें), जिससे similarity notification workflows सक्षम हों

  • वर्कफ़्लो आउटपुट में अंतिम आउटपुट के रूप में similarity scores प्रदान करने के लिए (उदा., similarity comparison outputs, matching results, similarity metrics), जिससे similarity output workflows सक्षम हों

आवश्यकताएँ

यह ब्लॉक समान आयाम (तत्वों की समान संख्या) वाले दो embedding vectors की आवश्यकता रखता है। Embeddings किसी भी embedding model (CLIP, Perception Encoder, आदि) से हो सकती हैं और images, text, या अन्य data types का प्रतिनिधित्व कर सकती हैं। Embeddings को floats की lists के रूप में पास किया जाता है। ब्लॉक L2 norms के गुणनफल से dot product को विभाजित करके cosine similarity की गणना करता है, जिससे -1 और 1 के बीच एक similarity score प्राप्त होता है। 1 के निकट मान अधिक समानता दर्शाते हैं, 0 के निकट मान ऑर्थोगोनल वेक्टर दर्शाते हैं, और -1 के निकट मान विपरीत दिशाएँ दर्शाते हैं।

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

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

गुण

नाम

प्रकार

विवरण

संदर्भ

name

str

वर्कफ़्लोज़ में चरण का विशिष्ट नाम।

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

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

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

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

    • embedding_1 (एम्बेडिंग): तुलना करने के लिए पहला embedding vector। embedding_2 के समान dimensionality (तत्वों की समान संख्या) होनी चाहिए। यह किसी भी embedding model (CLIP, Perception Encoder, आदि) से हो सकता है और images, text, या अन्य data types का प्रतिनिधित्व कर सकता है। Embedding vectors उच्च-आयामी feature representations को दर्शाने वाली floats की lists हैं..

    • embedding_2 (एम्बेडिंग): तुलना करने के लिए दूसरा embedding vector। embedding_1 के समान dimensionality (तत्वों की समान संख्या) होनी चाहिए। यह किसी भी embedding model (CLIP, Perception Encoder, आदि) से हो सकता है और images, text, या अन्य data types का प्रतिनिधित्व कर सकता है। Cosine similarity embedding_1 और embedding_2 के बीच समानता मापती है..

  • आउटपुट

    • समानता (float): फ्लोट मान।

उदाहरण JSON परिभाषा

अंतिम अपडेट

क्या यह उपयोगी था?