> ## 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.

# استخدم AI SDK مع CometAPI

> استخدم هذا الدليل لتهيئة AI SDK مع CometAPI من خلال تعيين base URL ومفتاح API وخيارات model أو provider.

يوفر لك [مزود CometAPI لـ AI SDK](https://github.com/cometapi-dev/ai-sdk-provider) إمكانية الوصول إلى أكثر من 500 نموذج AI من خلال واجهة TypeScript موحدة. استخدمه لإضافة توليد النصوص وStreaming وEmbeddings وتوليد الصور إلى أي تطبيق يعمل على Node.js أو Edge runtime.

## الميزات المدعومة

| الميزة            | الطريقة                | الحالة |
| ----------------- | ---------------------- | ------ |
| توليد النصوص      | `generateText()`       | مدعوم  |
| Streaming للنصوص  | `streamText()`         | مدعوم  |
| Embeddings للنصوص | `textEmbeddingModel()` | مدعوم  |
| توليد الصور       | `imageModel()`         | مدعوم  |

## المتطلبات الأساسية

* Node.js 18+
* حساب CometAPI مع مفتاح API نشط — [احصل على مفتاحك من هنا](https://www.cometapi.com/console/token)

<Steps>
  <Step title="تثبيت المزود">
    ثبّت `@cometapi/ai-sdk-provider` إلى جانب الحزمة الأساسية لـ AI SDK:

    <CodeGroup>
      ```bash npm theme={null}
      npm install @cometapi/ai-sdk-provider ai
      ```

      ```bash pnpm theme={null}
      pnpm add @cometapi/ai-sdk-provider ai
      ```

      ```bash yarn theme={null}
      yarn add @cometapi/ai-sdk-provider ai
      ```
    </CodeGroup>
  </Step>

  <Step title="تعيين مفتاح API الخاص بك">
    يقرأ المزود متغير البيئة `COMETAPI_KEY` بشكل افتراضي:

    ```bash theme={null}
    read -rsp "CometAPI API key: " COMETAPI_KEY
    printf '\n'
    export COMETAPI_KEY
    ```

    <Note>
      استخدم متغيرات البيئة لتجنب تضمين بيانات الاعتماد بشكل ثابت داخل الشيفرة المصدرية.
    </Note>
  </Step>

  <Step title="استيراد المزود">
    استورد مثيل المزود الافتراضي:

    ```typescript theme={null}
    import { cometapi } from '@cometapi/ai-sdk-provider';
    ```

    لتجاوز مفتاح API أو base URL أو إعدادات أخرى، استخدم `createCometAPI`:

    ```typescript theme={null}
    import { createCometAPI } from '@cometapi/ai-sdk-provider';

    const cometapi = createCometAPI({
      apiKey: process.env.COMETAPI_KEY,       // override env variable
      baseURL: 'https://api.cometapi.com/v1',  // default
    });
    ```
  </Step>
</Steps>

## الاستخدام

### توليد النصوص

استخدم `generateText()` للحصول على استجابة لمرة واحدة:

```typescript theme={null}
import { cometapi } from '@cometapi/ai-sdk-provider';
import { generateText } from 'ai';

const { text } = await generateText({
  model: cometapi('your-model-id'),
  prompt: 'What is CometAPI?',
});

console.log(text);
```

### Streaming للنصوص

استخدم `streamText()` للحصول على مخرجات مجزأة في الوقت الفعلي:

```typescript theme={null}
import { cometapi } from '@cometapi/ai-sdk-provider';
import { streamText } from 'ai';

const result = streamText({
  model: cometapi('your-model-id'),
  prompt: 'Write a short story about AI.',
});

for await (const chunk of result.textStream) {
  process.stdout.write(chunk);
}
```

### توليد Embeddings

استخدم `textEmbeddingModel()` لإنشاء Embeddings متجهية:

```typescript theme={null}
import { cometapi } from '@cometapi/ai-sdk-provider';

const model = cometapi.textEmbeddingModel('text-embedding-3-small');

// Single embedding
const single = await model.doEmbed({ values: ['Hello, world!'] });
console.log('Dimensions:', single.embeddings[0].length);

// Batch embeddings
const batch = await model.doEmbed({
  values: ['sunny day', 'rainy afternoon', 'cold winter night'],
});
console.log('Count:', batch.embeddings.length);
```

### توليد الصور

استخدم `imageModel()` لتوليد الصور من المطالبات النصية:

```typescript theme={null}
import { cometapi } from '@cometapi/ai-sdk-provider';
import { experimental_generateImage as generateImage } from 'ai';

const { image } = await generateImage({
  model: cometapi.imageModel('your-model-id'),
  prompt: 'A beautiful sunset over mountains',
});
```

## إعدادات المزوّد

يقبل `createCometAPI` الخيارات التالية:

| الخيار    | النوع                    | الافتراضي                     | الوصف                       |
| --------- | ------------------------ | ----------------------------- | --------------------------- |
| `apiKey`  | `string`                 | `process.env.COMETAPI_KEY`    | مفتاح API الخاص بـ CometAPI |
| `baseURL` | `string`                 | `https://api.cometapi.com/v1` | عنوان URL الأساسي للـ API   |
| `headers` | `Record<string, string>` | —                             | رؤوس طلبات مخصصة            |
| `fetch`   | `FetchFunction`          | —                             | تنفيذ fetch مخصص            |

## أساليب النموذج

يكشف المزوّد عن عدة مُنشئات للنماذج:

| الأسلوب                                | القيمة المعادة     | حالة الاستخدام                 |
| -------------------------------------- | ------------------ | ------------------------------ |
| `cometapi(modelId)`                    | `LanguageModelV2`  | توليد النص وStreaming (اختصار) |
| `cometapi.chatModel(modelId)`          | `LanguageModelV2`  | Chat Completions               |
| `cometapi.completionModel(modelId)`    | `LanguageModelV2`  | إكمالات النص                   |
| `cometapi.languageModel(modelId)`      | `LanguageModelV2`  | اسم بديل لـ `chatModel`        |
| `cometapi.textEmbeddingModel(modelId)` | `EmbeddingModelV2` | Embeddings النص                |
| `cometapi.imageModel(modelId)`         | `ImageModelV2`     | توليد الصور                    |

تصفّح القائمة الكاملة لـ model ID المتاحة في [صفحة النماذج](/ar/overview/models).

<AccordionGroup>
  <Accordion title="نصائح واستكشاف الأخطاء وإصلاحها">
    * **اختيار النموذج**: أي نموذج من [فهرس نماذج CometAPI](/ar/overview/models) يعمل مع أسلوب النموذج المقابل — نماذج الدردشة عبر `cometapi()`، ونماذج embedding عبر `textEmbeddingModel()`، ونماذج الصور عبر `imageModel()`.
    * **ضبط استجابات Fine-tuning**: مرّر `temperature` و`maxTokens` و`topP` مباشرةً إلى `generateText()` أو `streamText()`، على سبيل المثال `generateText(\{..., temperature: 0.7\})`.
    * **معالجة الأخطاء**: لفّ الاستدعاءات داخل `try/catch` للتعامل مع أخطاء المصادقة أو حدود المعدّل أو مشكلات الشبكة.
    * **الأمان**: لا تقم أبدًا بإيداع مفاتيح API في نظام التحكم بالإصدارات. استخدم متغيرات البيئة أو مدير الأسرار.
    * **حدود المعدّل**: راقب الاستخدام في [وحدة تحكم CometAPI](https://www.cometapi.com/console).
  </Accordion>
</AccordionGroup>

## موارد ذات صلة

* [موفر CometAPI AI SDK على GitHub](https://github.com/cometapi-dev/ai-sdk-provider)
* [@cometapi/ai-sdk-provider على npm](https://www.npmjs.com/package/@cometapi/ai-sdk-provider)
* [وثائق AI SDK](https://ai-sdk.dev/docs)
* [البدء السريع في CometAPI](/ar/overview/quick-start)

<script type="application/ld+json">
  {`
    {
    "@context": "https://schema.org",
    "@graph": [
      {
        "@type": "HowTo",
        "@id": "https://apidoc.cometapi.com/integrations/ai-sdk#howto",
        "name": "استخدام AI SDK مع CometAPI",
        "description": "استخدم هذا الدليل لإعداد AI SDK مع CometAPI من خلال تعيين عنوان URL الأساسي ومفتاح API وخيارات model أو provider.",
        "step": [
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/ai-sdk#step-1",
            "position": 1,
            "name": "تثبيت الموفر",
            "text": "أكمل خطوة تثبيت الموفر في دليل استخدام AI SDK مع CometAPI."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/ai-sdk#step-2",
            "position": 2,
            "name": "تعيين مفتاح API الخاص بك",
            "text": "خزّن مفتاح CometAPI API الخاص بك في متغير البيئة أو حقل الإعدادات الذي يستخدمه التكامل."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/ai-sdk#step-3",
            "position": 3,
            "name": "استيراد الموفر",
            "text": "أكمل خطوة استيراد الموفر في دليل استخدام AI SDK مع CometAPI."
          }
        ]
      },
      {
        "@type": "BreadcrumbList",
        "itemListElement": [
          {
            "@type": "ListItem",
            "position": 1,
            "name": "وثائق CometAPI",
            "item": "https://apidoc.cometapi.com/"
          },
          {
            "@type": "ListItem",
            "position": 2,
            "name": "عمليات التكامل",
            "item": "https://apidoc.cometapi.com/integrations"
          },
          {
            "@type": "ListItem",
            "position": 3,
            "name": "استخدام AI SDK مع CometAPI",
            "item": "https://apidoc.cometapi.com/integrations/ai-sdk"
          }
        ]
      }
    ]
    }
    `}
</script>
