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

# CometAPI で Promptfoo を使う

> base URL、API キー、model または provider オプションを設定して、Promptfoo を CometAPI で構成する方法をこのガイドで説明します。

[Promptfoo](https://www.promptfoo.dev/) は、プロンプト評価、リグレッションテスト、AI レッドチーミングのためのフレームワークです。Promptfoo には、OpenAI 互換エンドポイントを通じて CometAPI を呼び出す `cometapi` provider が含まれています。

## 前提条件

* Node.js 18+
* Promptfoo がローカルにインストールされていること、または `npx` で実行できること
* 有効な API キーを持つ CometAPI アカウント — [ダッシュボードで取得](https://www.cometapi.com/console/token)
* [CometAPI Models page](/ja/overview/models) の model ID

## 統合を構成する

<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 では、CometAPI に対して次の provider ID 形式を使用します:

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

    次の provider type を使用します:

    | Type         | 用途                                     |
    | ------------ | -------------------------------------- |
    | `chat`       | チャット補完、vision、マルチモーダル（Multimodal）プロンプト |
    | `completion` | テキスト補完モデル                              |
    | `embedding`  | テキストエンベディング評価                          |
    | `image`      | 画像生成評価                                 |

    デフォルトの chat モードには、`cometapi:your-model-id` を使用することもできます。
  </Step>

  <Step title="CLI 評価を実行する">
    次のコマンドは、1 つのプロンプトによる 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` は、同じプロンプトを 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 type を使用します:

```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）のテストでは、`chat` provider type を維持し、画像変数を Promptfoo のテスト変数として渡します。

## トラブルシューティング

<AccordionGroup>
  <Accordion title="Promptfoo が API キーを見つけられない">
    `promptfoo eval` を実行しているものと同じシェルセッションで `COMETAPI_KEY` が export されていることを確認してください。
  </Accordion>

  <Accordion title="provider type がモデルと一致しない">
    会話型モデルおよびマルチモーダルモデルには `chat`、エンベディングモデルには `embedding`、画像生成モデルには `image` を使用してください。
  </Accordion>

  <Accordion title="model ID が失敗する">
    `your-model-id` を、[CometAPI Models page](/ja/overview/models) にある正確な model ID に置き換えてください。
  </Accordion>
</AccordionGroup>

## 関連リソース

* [Promptfoo CometAPI provider](https://www.promptfoo.dev/docs/providers/cometapi/)
* [CometAPI クイックスタート](/ja/overview/quick-start)
* [CometAPI Models ページ](/ja/overview/models)

<script type="application/ld+json">
  {`
    {
    "@context": "https://schema.org",
    "@graph": [
      {
        "@type": "HowTo",
        "@id": "https://apidoc.cometapi.com/integrations/promptfoo#howto",
        "name": "CometAPI で Promptfoo を使う",
        "description": "このガイドでは、base URL、API key、model または provider オプションを設定して Promptfoo を CometAPI で構成する方法を説明します。",
        "step": [
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/promptfoo#step-1",
            "position": 1,
            "name": "CometAPI API key を設定する",
            "text": "統合で使用される環境変数または設定フィールドに CometAPI API key を保存します。"
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/promptfoo#step-2",
            "position": 2,
            "name": "provider 形式を選択する",
            "text": "「CometAPI で Promptfoo を使う」ガイドの「provider 形式を選択する」手順を完了します。"
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/promptfoo#step-3",
            "position": 3,
            "name": "CLI 評価を実行する",
            "text": "「CometAPI で Promptfoo を使う」ガイドの「CLI 評価を実行する」手順を完了します。"
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/promptfoo#step-4",
            "position": 4,
            "name": "Promptfoo の設定ファイルを作成する",
            "text": "「CometAPI で Promptfoo を使う」ガイドの「Promptfoo の設定ファイルを作成する」手順を完了します。"
          }
        ]
      },
      {
        "@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": "CometAPI で Promptfoo を使う",
            "item": "https://apidoc.cometapi.com/integrations/promptfoo"
          }
        ]
      }
    ]
    }
    `}
</script>
