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

# استخدم Promptfoo مع CometAPI

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

[Promptfoo](https://www.promptfoo.dev/) هو إطار عمل لتقييم Prompt واختبار الانحدار وعمليات red teaming للذكاء الاصطناعي. يتضمن Promptfoo مزوّد `cometapi` يستدعي CometAPI عبر نقاط نهاية متوافقة مع OpenAI.

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

* Node.js 18+
* Promptfoo مثبّت محليًا أو يتم تشغيله عبر `npx`
* حساب CometAPI مع مفتاح API نشط — [احصل على مفتاحك من لوحة التحكم](https://www.cometapi.com/console/token)
* model ID من [صفحة نماذج CometAPI](/ar/overview/models)

## تهيئة التكامل

<Steps>
  <Step title="اضبط مفتاح CometAPI API الخاص بك">
    اضبط `COMETAPI_KEY` قبل تشغيل التقييمات:

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

  <Step title="اختر تنسيق provider">
    يستخدم Promptfoo تنسيق معرّف provider التالي مع CometAPI:

    ```yaml theme={null}
    providers:
      - cometapi:<type>:<model>
    ```

    استخدم أنواع provider التالية:

    | Type         | Use case                                     |
    | ------------ | -------------------------------------------- |
    | `chat`       | Chat Completions وvision وMultimodal Prompts |
    | `completion` | نماذج إكمال النص                             |
    | `embedding`  | تقييمات Text Embeddings                      |
    | `image`      | تقييمات توليد الصور                          |

    يمكنك أيضًا استخدام `cometapi:your-model-id` لوضع chat الافتراضي.
  </Step>

  <Step title="شغّل تقييم CLI">
    يشغّل الأمر التالي تقييم chat لموجه واحد:

    ```bash theme={null}
    npx promptfoo@latest eval \
      --prompts "Write a concise release note for {{feature}}" \
      --vars feature="a unified API dashboard" \
      -r cometapi:chat:your-model-id
    ```
  </Step>

  <Step title="أنشئ ملف إعداد Promptfoo">
    يقيّم ملف `promptfooconfig.yaml` التالي نفس Prompt مقابل نموذج CometAPI:

    ```yaml theme={null}
    prompts:
      - "Classify this support request: {{message}}"

    providers:
      - id: cometapi:chat:your-model-id
        config:
          temperature: 0.2
          max_tokens: 256

    tests:
      - vars:
          message: "The API key works locally but fails in production."
        assert:
          - type: contains-any
            value:
              - authentication
              - configuration
    ```

    شغّل ملف الإعداد باستخدام Promptfoo:

    ```bash theme={null}
    npx promptfoo@latest eval -c promptfooconfig.yaml
    ```
  </Step>
</Steps>

## أمثلة على provider

استخدم نوع provider يطابق سلوك النموذج الذي تريد تقييمه:

```yaml theme={null}
providers:
  - cometapi:chat:your-model-id
  - cometapi:completion:your-model-id
  - cometapi:embedding:your-model-id
  - cometapi:image:your-model-id
```

بالنسبة لاختبارات Multimodal، أبقِ نوع provider على `chat` ومرّر متغيرات الصور عبر متغيرات اختبار Promptfoo.

## استكشاف الأخطاء وإصلاحها

<AccordionGroup>
  <Accordion title="لا يستطيع Promptfoo العثور على مفتاح API">
    تأكد من أن `COMETAPI_KEY` تم تصديره في جلسة shell نفسها التي تشغّل `promptfoo eval`.
  </Accordion>

  <Accordion title="نوع provider لا يطابق النموذج">
    استخدم `chat` للنماذج الحوارية وMultimodal، و`embedding` لنماذج embedding، و`image` لنماذج توليد الصور.
  </Accordion>

  <Accordion title="فشل model ID">
    استبدل `your-model-id` بـ model ID مطابق تمامًا من [صفحة نماذج CometAPI](/ar/overview/models).
  </Accordion>
</AccordionGroup>

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

* [موفّر Promptfoo لـ CometAPI](https://www.promptfoo.dev/docs/providers/cometapi/)
* [البدء السريع في CometAPI](/ar/overview/quick-start)
* [صفحة النماذج في CometAPI](/ar/overview/models)

<script type="application/ld+json">
  {`
    {
    "@context": "https://schema.org",
    "@graph": [
      {
        "@type": "HowTo",
        "@id": "https://apidoc.cometapi.com/integrations/promptfoo#howto",
        "name": "استخدام Promptfoo مع CometAPI",
        "description": "استخدم هذا الدليل لتهيئة Promptfoo مع CometAPI من خلال تعيين base URL ومفتاح API وخيارات model أو provider.",
        "step": [
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/promptfoo#step-1",
            "position": 1,
            "name": "تعيين مفتاح API الخاص بـ CometAPI",
            "text": "خزّن مفتاح API الخاص بـ CometAPI في متغير البيئة أو حقل الإعدادات الذي يستخدمه التكامل."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/promptfoo#step-2",
            "position": 2,
            "name": "اختر تنسيق provider",
            "text": "أكمل خطوة اختيار تنسيق provider في دليل استخدام Promptfoo مع CometAPI."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/promptfoo#step-3",
            "position": 3,
            "name": "تشغيل تقييم CLI",
            "text": "أكمل خطوة تشغيل تقييم CLI في دليل استخدام Promptfoo مع CometAPI."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/promptfoo#step-4",
            "position": 4,
            "name": "إنشاء ملف إعداد Promptfoo",
            "text": "أكمل خطوة إنشاء ملف إعداد Promptfoo في دليل استخدام Promptfoo مع 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": "استخدام Promptfoo مع CometAPI",
            "item": "https://apidoc.cometapi.com/integrations/promptfoo"
          }
        ]
      }
    ]
    }
    `}
</script>
