> 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/florence-2.md).

# Florence 2

हम समर्थन करते हैं [Microsoft का Florence 2](https://huggingface.co/microsoft/Florence-2-base), एक मल्टीमॉडल विज़न-लैंग्वेज मॉडल, हमारे [सर्वरलेस होस्टेड API](https://docs.roboflow.com/deployment/roboflow-cloud/serverless-api). Florence 2 कार्य प्रॉम्प्टों (जैसे `<CAPTION>`, `<OD>`, `<OCR>`, `<REFERRING_EXPRESSION_SEGMENTATION>`).

## डिफ़ॉल्ट उपनाम

उपनाम को इस रूप में उपयोग करें `model_id` अपने अनुरोध में और रनटाइम इसे संबंधित पूर्व-प्रशिक्षित वेट्स पर मैप करता है।

<table data-search="false"><thead><tr><th>उपनाम</th></tr></thead><tbody><tr><td><code>florence-2-base</code></td></tr><tr><td><code>florence-2-large</code></td></tr></tbody></table>

## सटीकता

आधिकारिक मॉडल कार्डों से प्रमुख ज़ीरो-शॉट मीट्रिक्स ([base](https://huggingface.co/microsoft/Florence-2-base), [large](https://huggingface.co/microsoft/Florence-2-large)):

<table data-header-hidden data-search="false"><thead><tr><th></th><th></th><th></th></tr></thead><tbody><tr><td>बेंचमार्क</td><td><code>florence-2-base</code></td><td><code>florence-2-large</code></td></tr><tr><td>COCO कैप्शन (CIDEr)</td><td>133.0</td><td>135.6</td></tr><tr><td>COCO डिटेक्शन (mAP)</td><td>34.7</td><td>37.5</td></tr><tr><td>RefCOCO (सटीकता)</td><td>53.9</td><td>56.3</td></tr></tbody></table>

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

विलंबता मापी गई [Roboflow Inference](https://docs.roboflow.com/deployment/self-hosted/self-hosted) 1x NVIDIA L4 पर, बैच आकार 1 के साथ, greedy decoding का उपयोग करके ठीक 128 टोकन उत्पन्न करते हुए `<CAPTION>` प्रॉम्प्ट से। विलंबता आउटपुट लंबाई के साथ बढ़ती है, इसलिए अन्य लंबाइयों का अनुमान लगाने के लिए tokens/sec का उपयोग करें।

<table data-search="false"><thead><tr><th>उपनाम</th><th>विलंबता, 128 टोकन (मि.से.)</th><th>टोकन/सेकंड</th></tr></thead><tbody><tr><td><code>florence-2-base</code></td><td>652</td><td>198</td></tr><tr><td><code>florence-2-large</code></td><td>1120</td><td>115</td></tr></tbody></table>

## कोड नमूना

Florence 2 साझा किए गए `/infer/lmm` एंडपॉइंट। इसे 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 %}

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

कॉल करें `/infer/lmm` किसी कार्य प्रॉम्प्ट का उपयोग करके कॉल करें: `curl`:

```bash
curl --location 'https://serverless.roboflow.com/infer/lmm' \\
  --header 'Content-Type: application/json' \\
  --data '{
    "api_key": "'"$ROBOFLOW_API_KEY"'",
    "image": {"type": "url", "value": "https://media.roboflow.com/quickstart/dog.jpeg"},
    "model_id": "florence-2-base",
    "prompt": "<CAPTION>"
  }'
```

{% 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 %}

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

LMM इन्फरेंस एंडपॉइंट को कार्य प्रॉम्प्ट के साथ कॉल करें:

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

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

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

result = client.infer_lmm(
    inference_input=image,
    model_id="florence-2-base",
    prompt="<CAPTION>",
)

print(result["response"])  # {'<CAPTION>': 'एक आदमी अपनी पीठ पर एक कुत्ता उठा रहा है.'}
```

<figure><img src="/files/9c24ed708e347be7d680350315e98f9d3322f7c7" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}
{% endtab %}
{% endtabs %}

{% 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 %}

बदलें `<CAPTION>` किसी भी समर्थित कार्य प्रॉम्प्ट के लिए (उदाहरण के लिए `<DETAILED_CAPTION>`, `<OD>`, `<OCR>`, `<OPEN_VOCABULARY_DETECTION>`, `<REFERRING_EXPRESSION_SEGMENTATION>`) ताकि कैप्शनिंग, डिटेक्शन, OCR, और विभाजन कार्यों के बीच स्विच किया जा सके।

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

## कार्य प्रॉम्प्ट

Florence 2 प्रॉम्प्ट टोकन द्वारा कार्य बदलता है। निम्नलिखित में से किसी एक को `प्रॉम्प्ट`:

| कार्य                      | प्रॉम्प्ट                                                    |
| -------------------------- | ------------------------------------------------------------ |
| ऑब्जेक्ट पहचान             | `<OD>`                                                       |
| घने क्षेत्र का कैप्शनिंग   | `<DENSE_REGION_CAPTION>`                                     |
| छवि कैप्शनिंग              | `<CAPTION>`, `<DETAILED_CAPTION>`, `<MORE_DETAILED_CAPTION>` |
| क्षेत्र प्रस्ताव           | `<REGION_PROPOSAL>`                                          |
| वाक्यांश ग्राउंडिंग        | `<CAPTION_TO_PHRASE_GROUNDING>`                              |
| संदर्भित अभिव्यक्ति विभाजन | `<REFERRING_EXPRESSION_SEGMENTATION>`                        |
| क्षेत्र से विभाजन          | `<REGION_TO_SEGMENTATION>`                                   |
| ओपन-वोकैब्युलरी डिटेक्शन   | `<OPEN_VOCABULARY_DETECTION>`                                |
| क्षेत्र से विवरण           | `<REGION_TO_DESCRIPTION>`                                    |
| OCR                        | `<OCR>`                                                      |
| क्षेत्र सहित OCR           | `<OCR_WITH_REGION>`                                          |

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

Florence 2 को सीधे भी [`इनफ़रेंस`](https://docs.roboflow.com/deployment/self-hosted/self-hosted) पैकेज के साथ।

{% stepper %}
{% step %}

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

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

उपयोग करें `inference-gpu[transformers]` एक GPU मशीन पर।
{% endstep %}

{% step %}

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

```python
from inference import get_model

model = get_model("florence-2-base", api_key="YOUR_API_KEY")

result = model.infer(
    "https://media.roboflow.com/inference/seawithdock.jpeg",
    prompt="<CAPTION>",
)

print(result[0].response)
```

बदलें `<CAPTION>` ऊपर दी गई तालिका से किसी भी कार्य प्रॉम्प्ट के लिए।
{% endstep %}
{% endstepper %}

### वर्कफ़्लोज़ में निष्पादन मोड

जब इसे एक में उपयोग किया जाता है [वर्कफ़्लो](https://docs.roboflow.com/workflows), Florence 2 दो में से किसी एक मोड में चलता है:

* **लोकल निष्पादन**: मॉडल आपके Inference सर्वर पर चलता है (GPU अनुशंसित)।
* **रिमोट निष्पादन**: मॉडल को एक दूरस्थ Inference सर्वर पर HTTP के माध्यम से कॉल किया जाता है।
