> 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`, एक विषय और प्रॉम्प्ट्स की सूची के बीच समानता स्कोर लौटाता है

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

## CLIP API

नीचे एक कोड नमूना है जो एक इमेज की तुलना टेक्स्ट लेबल्स की सूची से करता है। 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) और इसे अपने शेल में उपलब्ध कराएँ:

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

{% endstep %}

{% step %}

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

कॉल करें `/clip/compare` एंडपॉइंट के साथ `curl`:

```bash
curl --location 'https://serverless.roboflow.com/clip/compare' \
  --header 'Content-Type: application/json' \\
  --header "Authorization: Bearer $ROBOFLOW_API_KEY" \\
  --data '{
    "subject": {"type": "url", "value": "https://media.roboflow.com/notebooks/examples/dog.jpeg"},
    "subject_type": "image",
    "prompt": ["a photo of a dog", "a photo of a cat", "a photo of a car"],
    "prompt_type": "text"
  }'
```

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

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

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

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

```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, InferenceConfiguration

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"],
).configure(InferenceConfiguration(api_key_transport="header"))

result = client.clip_compare(
    subject=image,
    prompt=[
        "a photo of a dog",
        "a photo of a cat",
        "a photo of a car",
    ],
    subject_type="image",
    prompt_type="text",
)

# similarity is a list of cosine similarity scores, one per prompt
print(result["similarity"])
```

ऊपर दिया गया कोड अनुमान के परिणाम टर्मिनल पर प्रिंट करता है:

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

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

## CLIP अनुमान गति

लेटेंसी मापी गई [Roboflow Inference](https://docs.roboflow.com/deployment/self-hosted/self-hosted) 1x NVIDIA L4 पर, बैच आकार 1 के साथ, वार्मअप के बाद औसत।

<table data-search="false"><thead><tr><th>मॉडल</th><th>लेटेंसी (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` को अपने परिनियोजन लक्ष्य से मिलाएँ:

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

## स्व-होस्टेड Inference के साथ CLIP चलाएँ

CLIP अपने स्वयं के हार्डवेयर पर भी पूरी तरह से चलता है [`inference`](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`. उदाहरण एक इमेज और एक प्रॉम्प्ट को एम्बेड करता है, फिर उनकी cosine similarity स्कोर करता है:

```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("a crowd of people walking")

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/)
