> ## Documentation Index
> Fetch the complete documentation index at: https://apidoc.cometapi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# واجهة برمجة تطبيقات Embeddings

> استخدم مسارات CometAPI الخاصة بـ embeddings لإنشاء متجهات للبحث الدلالي، والتجميع، والتوصيات، وسير عمل الاسترجاع.

استخدم CometAPI embeddings عندما يحتاج تطبيقك إلى متجهات للبحث الدلالي، أو التجميع، أو التوصيات، أو الاسترجاع. أرسل النص إلى `/v1/embeddings`، ثم خزّن المتجه المُعاد، وابحث فيه باستخدام قاعدة بيانات المتجهات لديك.

## إنشاء embedding

استخدم model ID يدعم embedding من [صفحة النماذج](/ar/overview/models) أو [دليل النماذج](https://www.cometapi.com/models/). تستدعي الأمثلة أدناه واجهة برمجة تطبيقات Embeddings المتوافقة مع OpenAI.

<Note>
  تستخدم هذه الأمثلة العنصر النائب `your-embedding-model-id`. استبدله بـ model ID متاح لـ embedding من [صفحة النماذج](/ar/overview/models) أو [دليل النماذج](https://www.cometapi.com/models/) قبل تشغيل الطلب.
</Note>

<Tip>
  افتح [Create embeddings](/api/text/embeddings) لاستخدام ساحة التجربة ومخطط نقطة النهاية.
</Tip>

<CodeGroup>
  ```python Python theme={null}
  import os
  import requests

  response = requests.post(
      "https://api.cometapi.com/v1/embeddings",
      headers={
          "Authorization": "Bearer " + os.environ["COMETAPI_KEY"],
          "Content-Type": "application/json",
      },
      json={
          "model": "your-embedding-model-id",
          "input": "CometAPI lets developers use many model providers.",
      },
      timeout=30,
  )

  response.raise_for_status()
  result = response.json()
  print(len(result["data"][0]["embedding"]))
  ```

  ```javascript Node.js theme={null}
  const response = await fetch("https://api.cometapi.com/v1/embeddings", {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.COMETAPI_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      model: "your-embedding-model-id",
      input: "CometAPI lets developers use many model providers.",
    }),
  });

  if (!response.ok) {
    throw new Error(await response.text());
  }

  const result = await response.json();
  console.log(result.data[0].embedding.length);
  ```

  ```bash cURL theme={null}
  curl https://api.cometapi.com/v1/embeddings \
    -H "Authorization: Bearer $COMETAPI_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "model": "your-embedding-model-id",
      "input": "CometAPI lets developers use many model providers."
    }'
  ```
</CodeGroup>

## مثال على الاستجابة

قد تبدو الاستجابة الناجحة بهذا الشكل. تتضمن الاستجابة متجهًا واحدًا لكل عنصر إدخال؛ وقد تم اختصار المتجه أدناه لتسهيل القراءة:

```json theme={null}
{
  "object": "list",
  "data": [
    {
      "object": "embedding",
      "index": 0,
      "embedding": [
        -0.0021,
        -0.0491,
        0.0209
      ]
    }
  ],
  "model": "your-embedding-model-id",
  "usage": {
    "prompt_tokens": 10,
    "total_tokens": 10
  }
}
```

## إدخال دفعي

أرسل مصفوفة من السلاسل النصية عندما تريد عدة متجهات من طلب واحد:

```bash cURL theme={null}
curl https://api.cometapi.com/v1/embeddings \
  -H "Authorization: Bearer $COMETAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "your-embedding-model-id",
    "input": [
      "Create an API key",
      "Change the base URL",
      "Retry after a rate limit"
    ]
  }'
```

## سجلات النماذج المثال

<Info>
  يوضح هذا المثال لاستجابة فهرس النماذج غلاف `/api/models` وشكل سجل واحد لنموذج Embeddings متوافق مع OpenAI. تستخدم بعض سجلات Embeddings قيمة `model_type` فارغة؛ اختر نموذج Embeddings باستخدام المعرّف ودعم endpoint بدلًا من الاعتماد على هذا الحقل وحده.
</Info>

```bash cURL theme={null}
curl https://api.cometapi.com/api/models
```

```json theme={null}
{
  "success": true,
  "page": 1,
  "page_size": 20,
  "total": 302,
  "data": [
    {
      "created": 1757904564,
      "id": "your-embedding-model-id",
      "code": "your-embedding-model-id",
      "provider": "ExampleProvider",
      "provider_code": "example",
      "name": "Example embedding model",
      "model_type": "embedding",
      "features": [
        "text-embedding"
      ],
      "endpoints": [
        "openai"
      ],
      "pricing": {
        "currency": "USD / M Tokens",
        "input": 0.1,
        "output": null,
        "per_request": null,
        "per_second": null
      }
    }
  ]
}
```

## الأخطاء الشائعة

<AccordionGroup>
  <Accordion title="Input too long">
    قسّم المستندات الطويلة إلى أجزاء قبل إنشاء Embeddings.
  </Accordion>

  <Accordion title="Wrong model type">
    اختر نموذجًا قادرًا على Embeddings من دليل النماذج.
  </Accordion>

  <Accordion title="Vector dimensions mismatch">
    حافظ على استخدام النموذج نفسه والأبعاد نفسها لفهرس متجهات واحد.
  </Accordion>

  <Accordion title="Missing API key">
    أرسل `Authorization: Bearer $COMETAPI_KEY`.
  </Accordion>
</AccordionGroup>

## رموز الأخطاء واستراتيجية إعادة المحاولة

<AccordionGroup>
  <Accordion title="400">
    لا تعِد المحاولة حتى يتم إصلاح إعدادات الإدخال أو model ID أو الأبعاد.
  </Accordion>

  <Accordion title="401">
    لا تعِد المحاولة حتى يكون مفتاح API موجودًا وصالحًا.
  </Accordion>

  <Accordion title="404">
    تحقّق من base URL والمسار وmodel ID قبل إعادة المحاولة.
  </Accordion>

  <Accordion title="429">
    أعد المحاولة باستخدام exponential backoff وقلّل حجم الدفعة أو التوازي.
  </Accordion>

  <Accordion title="500 or 503">
    أعد المحاولة مع backoff لأخطاء المزوّد أو الخدمة العابرة.
  </Accordion>
</AccordionGroup>

<Tip>
  للاطلاع على أنماط التنفيذ، راجع [رموز الأخطاء واستراتيجية إعادة المحاولة](/ar/guides/error-codes-and-retry-strategy) و[حدود المعدل والتوازي](/ar/guides/rate-limits-and-concurrency).
</Tip>

## التسعير ودليل النماذج

<CardGroup cols={3}>
  <Card title="Models page" icon="list" href="/overview/models">
    اقرأ كيف يوفّر CometAPI معرّفات النماذج في الوثائق.
  </Card>

  <Card title="Model directory" icon="puzzle-piece" href="https://www.cometapi.com/models/">
    تصفّح مدى توفّر النماذج وإمكاناتها.
  </Card>

  <Card title="Pricing" icon="tag" href="https://www.cometapi.com/pricing/">
    تحقّق من التسعير قبل استدعاء أي نموذج.
  </Card>
</CardGroup>
