> ## 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, вказавши базовий URL, API key і параметри model або provider.

[Promptfoo](https://www.promptfoo.dev/) — це фреймворк для оцінювання prompt'ів, регресійного тестування та red teaming для AI. Promptfoo містить provider `cometapi`, який викликає CometAPI через OpenAI-сумісні endpoint'и.

## Передумови

* Node.js 18+
* Promptfoo, встановлений локально, або запуск через `npx`
* Обліковий запис CometAPI з активним API key — [отримайте його в dashboard](https://www.cometapi.com/console/token)
* model ID зі [сторінки моделей CometAPI](/uk/overview/models)

## Налаштування інтеграції

<Steps>
  <Step title="Установіть свій CometAPI API key">
    Установіть `COMETAPI_KEY` перед запуском оцінювань:

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

  <Step title="Виберіть формат provider">
    Promptfoo використовує такий формат provider ID для CometAPI:

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

    Використовуйте такі типи provider:

    | Type         | Випадок використання                           |
    | ------------ | ---------------------------------------------- |
    | `chat`       | Chat completions, vision і multimodal prompt'и |
    | `completion` | Моделі для завершення тексту                   |
    | `embedding`  | Оцінювання text embedding                      |
    | `image`      | Оцінювання генерації зображень                 |

    Ви також можете використовувати `cometapi:your-model-id` для стандартного режиму chat.
  </Step>

  <Step title="Запустіть оцінювання через CLI">
    Наступна команда запускає chat-оцінювання з одним 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="Створіть файл конфігурації 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 key">
    Переконайтеся, що `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](/uk/overview/models).
  </Accordion>
</AccordionGroup>

## Пов’язані ресурси

* [Провайдер Promptfoo CometAPI](https://www.promptfoo.dev/docs/providers/cometapi/)
* [Швидкий старт CometAPI](/uk/overview/quick-start)
* [Сторінка моделей CometAPI](/uk/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 key та параметри моделі або провайдера.",
        "step": [
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/promptfoo#step-1",
            "position": 1,
            "name": "Задайте свій API key CometAPI",
            "text": "Збережіть свій API key CometAPI у змінній середовища або полі налаштувань, яке використовується інтеграцією."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/promptfoo#step-2",
            "position": 2,
            "name": "Виберіть формат провайдера",
            "text": "Виконайте крок «Виберіть формат провайдера» в посібнику «Використання 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>
