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

# CLIP

हम OpenAI के [CLIP](https://github.com/openai/CLIP) इमेज और टेक्स्ट embeddings जनरेट करने, और उनके बीच zero-shot similarity comparison के लिए model, हमारे [Serverless Hosted API](/roboflow/roboflow-hi/deploy/serverless-hosted-api-v2.md)। हम तीन endpoints उपलब्ध कराते हैं:

* [`/clip/embed_image`](#post-clip-embed_image), एक image के लिए embedding vector लौटाता है
* [`/clip/embed_text`](#post-clip-embed_text), एक string या strings की सूची के लिए embedding vector लौटाता है
* [`/clip/compare`](#post-clip-compare), एक subject और prompts की सूची के बीच similarity scores लौटाता है

Embeddings को classification, retrieval, clustering, और semantic search जैसे कार्यों के लिए cache करके पुनः उपयोग किया जा सकता है। व्यापक उपयोग विवरण के लिए देखें [Inference documentation](https://inference.roboflow.com/).

## कोड नमूना

नीचे एक code sample दिया गया है जो एक image की तुलना text labels की एक सूची से करता है। HTTP endpoint को सीधे इसके साथ call करें `curl`, या इसका उपयोग करें [`inference-sdk`](https://inference.roboflow.com/inference_helpers/inference_sdk/) रैपर के साथ।

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

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

एक Roboflow खाता बनाएं, अपनी key यहाँ पर ढूँढें [Roboflow API settings page](https://app.roboflow.com/settings/api) और इसे अपने shell में उपलब्ध कराएँ:

```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' \
  --data '{
    \"api_key\": \"'\"$ROBOFLOW_API_KEY\"'\",
    "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 Key प्राप्त करें

एक Roboflow खाता बनाएं, अपनी key यहाँ पर ढूँढें [Roboflow API settings page](https://app.roboflow.com/settings/api) और इसे अपने shell में उपलब्ध कराएँ:

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

{% endstep %}

{% step %}

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

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

```bash
pip install inference-sdk
```

{% endstep %}

{% step %}

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

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

```python
import os
import cv2
import numpy as np
import requests
from inference_sdk import InferenceHTTPClient

content = requests.get("https://media.roboflow.com/notebooks/examples/dog.jpeg").content
image = cv2.imdecode(np.frombuffer(content, np.uint8), cv2.IMREAD_COLOR)

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

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 cosine similarity scores की एक सूची है, प्रत्येक prompt के लिए एक
print(result["similarity"])
```

ऊपर दिया गया code terminal पर inference results प्रिंट करता है:

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

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

## Inference speed

Latency मापी गई [Roboflow Inference](https://inference.roboflow.com/) 1x NVIDIA L4 पर, batch size 1, warmup के बाद का औसत।

<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` checkpoint (केवल image embedding).

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

* `https://serverless.roboflow.com` Serverless Hosted API के लिए।
* `http://localhost:9001` एक local [Inference](https://inference.roboflow.com/) server.
* आपका [Dedicated Deployment](/roboflow/roboflow-hi/deploy/dedicated-deployments.md) एक private endpoint के लिए URL.
  {% endhint %}
