> 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/models/hi/supported-models/clip.md).

# CLIP

हम OpenAI के [CLIP](https://github.com/openai/CLIP) छवि और पाठ एम्बेडिंग उत्पन्न करने, तथा इनके बीच ज़ीरो-शॉट समानता तुलना करने के लिए मॉडल, हमारे [सर्वरलेस होस्टेड API](https://docs.roboflow.com/deployment/roboflow-cloud/serverless-api)। हम तीन एंडपॉइंट उपलब्ध कराते हैं:

* `/clip/embed_image`, एक छवि के लिए एम्बेडिंग वेक्टर लौटाता है
* `/clip/embed_text`, एक स्ट्रिंग या स्ट्रिंग्स की सूची के लिए एम्बेडिंग वेक्टर लौटाता है
* `/clip/compare`, एक विषय और प्रॉम्प्ट्स की सूची के बीच समानता स्कोर लौटाता है

एम्बेडिंग्स को कैश किया जा सकता है और वर्गीकरण, पुनर्प्राप्ति, क्लस्टरिंग, और सिमैंटिक खोज जैसे कार्यों के लिए पुनः उपयोग किया जा सकता है। व्यापक उपयोग विवरण के लिए, देखें [इनफ़रेंस दस्तावेज़ीकरण](https://docs.roboflow.com/deployment/self-hosted/self-hosted).

## कोड नमूना

नीचे एक कोड उदाहरण है जो एक छवि की तुलना पाठ लेबलों की सूची से करता है। HTTP एंडपॉइंट को सीधे इससे कॉल करें `curl`, या इसका उपयोग करें [`inference-sdk`](https://docs.roboflow.com/reference/inference/inference-sdk) रैपर।

{% tabs %}
{% tab title="HTTP (curl)" icon="webhook" %}
{% stepper %}
{% step %}

### अपनी API कुंजी प्राप्त करें

एक Roboflow खाता बनाएँ, अपनी कुंजी यहाँ खोजें [Roboflow API सेटिंग्स पेज](https://app.roboflow.com/settings/api) और इसे अपने shell के लिए उपलब्ध कराएँ:

```bash
export ROBOFLOW_API_KEY="your-key-here"
```

{% endstep %}

{% step %}

### मॉडल चलाएँ

कॉल करें `/clip/compare` endpoint के साथ `curl`:

```bash
curl --location 'https://serverless.roboflow.com/clip/compare' \
  --header 'Content-Type: application/json' \\
  --data '{
    "api_key": "'"$ROBOFLOW_API_KEY"'",
    "subject": {"type": "url", "value": "https://media.roboflow.com/notebooks/examples/dog.jpeg"},
    "subject_type": "image",
    "prompt": ["कुत्ते की एक फोटो", "बिल्ली की एक फोटो", "कार की एक फोटो"],
    "prompt_type": "text"
  }'
```

{% endstep %}
{% endstepper %}
{% endtab %}

{% tab title="SDK (Python)" icon="python" %}
{% stepper %}
{% step %}

### अपनी API कुंजी प्राप्त करें

एक Roboflow खाता बनाएँ, अपनी कुंजी यहाँ खोजें [Roboflow API सेटिंग्स पेज](https://app.roboflow.com/settings/api) और इसे अपने shell के लिए उपलब्ध कराएँ:

```bash
export ROBOFLOW_API_KEY="your-key-here"
```

{% endstep %}

{% step %}

### निर्भरताएँ इंस्टॉल करें

यह पैकेज मॉडल को कॉल करता है:

```bash
pip install -U inference-sdk supervision
```

{% endstep %}

{% step %}

### मॉडल चलाएँ

तुलना चलाएँ (छवि [यहाँ](https://media.roboflow.com/notebooks/examples/dog.jpeg)):

```python
import os
import supervision as sv
from inference_sdk import InferenceHTTPClient

image = sv.load_image_from_url("https://media.roboflow.com/notebooks/examples/dog.jpeg")

client = InferenceHTTPClient(
    api_url="https://serverless.roboflow.com",
    api_key=os.environ["ROBOFLOW_API_KEY"],
)

result = client.clip_compare(
    subject=image,
    prompt=[
        "कुत्ते की एक फोटो",
        "बिल्ली की एक फोटो",
        "कार की एक फोटो",
    ],
    subject_type="image",
    prompt_type="text",
)

# समानता कोसाइन समानता स्कोरों की एक सूची है, प्रत्येक प्रॉम्प्ट के लिए एक
print(result["similarity"])
```

ऊपर का कोड इन्फरेंस परिणामों को टर्मिनल पर प्रिंट करता है:

```
[0.2726989686489105, 0.19865083694458008, 0.20997387170791626]
```

{% endstep %}
{% endstepper %}
{% endtab %}
{% endtabs %}

## इनफ़रेंस गति

विलंबता मापी गई [Roboflow Inference](https://docs.roboflow.com/deployment/self-hosted/self-hosted) पर 1x NVIDIA L4, batch size 1, warmup के बाद औसत।

<table data-search="false"><thead><tr><th>मॉडल</th><th>Latency (ms)</th></tr></thead><tbody><tr><td><code>clip</code></td><td>3.9</td></tr></tbody></table>

से मापा गया `embed_image` पर `ViT-B-16` चेकपॉइंट (केवल छवि एम्बेडिंग)।

{% hint style="info" %}
सेट करें `api_url` को अपने deployment target से मिलाने के लिए:

* `https://serverless.roboflow.com` सर्वरलेस होस्टेड API के लिए।
* `http://localhost:9001` एक स्थानीय [Inference](https://docs.roboflow.com/deployment/self-hosted/self-hosted) server के लिए।
* आपका [समर्पित परिनियोजन](https://docs.roboflow.com/deployment/roboflow-cloud/dedicated-deployments) एक निजी endpoint के लिए URL।
  {% endhint %}

## Inference (self-hosted) के साथ उपयोग करें

CLIP आपके अपने हार्डवेयर पर भी पूरी तरह चलता है, इसके साथ [`इनफ़रेंस`](https://docs.roboflow.com/deployment/self-hosted/self-hosted) Python पैकेज। वेट्स को प्रोसेस के भीतर लोड करने से प्रत्येक कॉल पर नेटवर्क राउंड-ट्रिप से बचा जा सकता है, जो तब महत्वपूर्ण होता है जब आप खोज, क्लस्टरिंग, या डेटासेट सफाई के लिए बड़े छवि सेट एम्बेड कर रहे हों।

{% stepper %}
{% step %}

### पैकेज इंस्टॉल करें

```bash
pip install "inference[clip]"
```

{% endstep %}

{% step %}

### स्थानीय रूप से एम्बेड और तुलना करें

यह `Clip` क्लास प्रदान करती है `embed_image`, `embed_text`, और `compare`। नमूना एक छवि और एक प्रॉम्प्ट को एम्बेड करता है, फिर उनकी कोसाइन समानता को स्कोर करता है:

```python
from inference.models import Clip
from inference.core.utils.postprocess import cosine_similarity

clip = Clip(model_id="clip/ViT-B-16")

image_embedding = clip.embed_image("https://media.roboflow.com/inference/people-walking.jpg")
text_embedding = clip.embed_text("चलते हुए लोगों की भीड़")

print(cosine_similarity(image_embedding[0], text_embedding[0]))
```

परिणाम 0 और 1 के बीच होता है: संख्या जितनी अधिक होगी, छवि और पाठ उतने ही अधिक समान होंगे।
{% endstep %}
{% endstepper %}

### उपलब्ध चेकपॉइंट

`model_id` CLIP बैकबोन का चयन करता है:

`clip/RN50`, `clip/RN101`, `clip/RN50x4`, `clip/RN50x16`, `clip/RN50x64`, `clip/ViT-B-32`, `clip/ViT-B-16`, `clip/ViT-L-14`, `clip/ViT-L-14-336px`.

SDK विधियाँ `clip_compare`, `get_clip_image_embeddings`, और `get_clip_text_embeddings` एक `clip_version` आर्गुमेंट स्वीकार करते हैं, ताकि सर्वर को कॉल करते समय वही चेकपॉइंट चुने जा सकें।

## अधिक पढ़ें

* [CLIP क्या है?](https://blog.roboflow.com/openai-clip/)
* [CLIP और Faiss के साथ एक छवि खोज इंजन बनाएं](https://blog.roboflow.com/clip-image-search-faiss/)
* [CLIP के साथ वीडियो का विश्लेषण और वर्गीकरण करें](https://blog.roboflow.com/how-to-analyze-and-classify-video-with-clip/)
