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

# Gunakan Promptfoo dengan CometAPI

> Gunakan panduan ini untuk mengonfigurasi Promptfoo dengan CometAPI dengan menetapkan base URL, API key, serta opsi model atau provider.

[Promptfoo](https://www.promptfoo.dev/) adalah framework untuk evaluasi prompt, regression testing, dan AI red teaming. Promptfoo menyertakan provider `cometapi` yang memanggil CometAPI melalui endpoint yang kompatibel dengan OpenAI.

## Prasyarat

* Node.js 18+
* Promptfoo terinstal secara lokal atau dijalankan melalui `npx`
* Akun CometAPI dengan API key yang aktif — [dapatkan milik Anda di dashboard](https://www.cometapi.com/console/token)
* model ID dari [halaman CometAPI Models](/id/overview/models)

## Konfigurasikan integrasi

<Steps>
  <Step title="Tetapkan API key CometAPI Anda">
    Tetapkan `COMETAPI_KEY` sebelum Anda menjalankan evaluasi:

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

  <Step title="Pilih format provider">
    Promptfoo menggunakan format ID provider berikut untuk CometAPI:

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

    Gunakan jenis provider berikut:

    | Type         | Use case                                        |
    | ------------ | ----------------------------------------------- |
    | `chat`       | Chat completions, vision, dan prompt multimodal |
    | `completion` | Model text completion                           |
    | `embedding`  | Evaluasi text embedding                         |
    | `image`      | Evaluasi pembuatan gambar                       |

    Anda juga dapat menggunakan `cometapi:your-model-id` untuk mode chat default.
  </Step>

  <Step title="Jalankan evaluasi CLI">
    Perintah berikut menjalankan evaluasi chat satu-prompt:

    ```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="Buat file konfigurasi Promptfoo">
    `promptfooconfig.yaml` berikut mengevaluasi prompt yang sama terhadap model 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
    ```

    Jalankan file konfigurasi dengan Promptfoo:

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

## Contoh provider

Gunakan jenis provider yang sesuai dengan perilaku model yang ingin Anda evaluasi:

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

Untuk pengujian multimodal, tetap gunakan jenis provider `chat` dan kirim variabel gambar melalui variabel pengujian Promptfoo.

## Pemecahan masalah

<AccordionGroup>
  <Accordion title="Promptfoo tidak dapat menemukan API key">
    Pastikan `COMETAPI_KEY` sudah diekspor dalam sesi shell yang sama yang menjalankan `promptfoo eval`.
  </Accordion>

  <Accordion title="Jenis provider tidak cocok dengan model">
    Gunakan `chat` untuk model percakapan dan multimodal, `embedding` untuk model embedding, dan `image` untuk model pembuatan gambar.
  </Accordion>

  <Accordion title="model ID gagal">
    Ganti `your-model-id` dengan model ID yang persis dari [halaman CometAPI Models](/id/overview/models).
  </Accordion>
</AccordionGroup>

## Sumber daya terkait

* [Provider Promptfoo CometAPI](https://www.promptfoo.dev/docs/providers/cometapi/)
* [Panduan cepat CometAPI](/id/overview/quick-start)
* [Halaman Models CometAPI](/id/overview/models)

<script type="application/ld+json">
  {`
    {
    "@context": "https://schema.org",
    "@graph": [
      {
        "@type": "HowTo",
        "@id": "https://apidoc.cometapi.com/integrations/promptfoo#howto",
        "name": "Gunakan Promptfoo dengan CometAPI",
        "description": "Gunakan panduan ini untuk mengonfigurasi Promptfoo dengan CometAPI dengan menetapkan base URL, API key, serta opsi model atau provider.",
        "step": [
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/promptfoo#step-1",
            "position": 1,
            "name": "Tetapkan CometAPI API key Anda",
            "text": "Simpan CometAPI API key Anda di environment variable atau kolom pengaturan yang digunakan oleh integrasi."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/promptfoo#step-2",
            "position": 2,
            "name": "Pilih format provider",
            "text": "Selesaikan langkah Choose a provider format dalam panduan Use Promptfoo with CometAPI."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/promptfoo#step-3",
            "position": 3,
            "name": "Jalankan evaluasi CLI",
            "text": "Selesaikan langkah Run a CLI evaluation dalam panduan Use Promptfoo with CometAPI."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/promptfoo#step-4",
            "position": 4,
            "name": "Buat file konfigurasi Promptfoo",
            "text": "Selesaikan langkah Create a Promptfoo config file dalam panduan Use Promptfoo with CometAPI."
          }
        ]
      },
      {
        "@type": "BreadcrumbList",
        "itemListElement": [
          {
            "@type": "ListItem",
            "position": 1,
            "name": "Dokumentasi CometAPI",
            "item": "https://apidoc.cometapi.com/"
          },
          {
            "@type": "ListItem",
            "position": 2,
            "name": "Integrasi",
            "item": "https://apidoc.cometapi.com/integrations"
          },
          {
            "@type": "ListItem",
            "position": 3,
            "name": "Gunakan Promptfoo dengan CometAPI",
            "item": "https://apidoc.cometapi.com/integrations/promptfoo"
          }
        ]
      }
    ]
    }
    `}
</script>
