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

# Use o Promptfoo com CometAPI

> Use este guia para configurar o Promptfoo com CometAPI definindo a URL base, a chave de API e as opções de model ou provider.

[Promptfoo](https://www.promptfoo.dev/) é um framework para avaliação de prompt, testes de regressão e red teaming de IA. O Promptfoo inclui um provider `cometapi` que chama a CometAPI por meio de endpoints compatíveis com OpenAI.

## Pré-requisitos

* Node.js 18+
* Promptfoo instalado localmente ou executado por meio de `npx`
* Uma conta CometAPI com uma chave de API ativa — [obtenha a sua no dashboard](https://www.cometapi.com/console/token)
* Um model ID da [página de Models da CometAPI](/pt/overview/models)

## Configure a integração

<Steps>
  <Step title="Defina sua chave de API da CometAPI">
    Defina `COMETAPI_KEY` antes de executar as avaliações:

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

  <Step title="Escolha um formato de provider">
    O Promptfoo usa o seguinte formato de ID de provider para a CometAPI:

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

    Use estes tipos de provider:

    | Type         | Caso de uso                                   |
    | ------------ | --------------------------------------------- |
    | `chat`       | Chat completions, visão e prompts multimodais |
    | `completion` | Modelos de conclusão de texto                 |
    | `embedding`  | Avaliações de embedding de texto              |
    | `image`      | Avaliações de geração de imagem               |

    Você também pode usar `cometapi:your-model-id` para o modo `chat` padrão.
  </Step>

  <Step title="Execute uma avaliação via CLI">
    O comando a seguir executa uma avaliação de chat com um único 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="Crie um arquivo de configuração do Promptfoo">
    O arquivo `promptfooconfig.yaml` a seguir avalia o mesmo prompt em um modelo da 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
    ```

    Execute o arquivo de configuração com o Promptfoo:

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

## Exemplos de provider

Use um tipo de provider que corresponda ao comportamento do modelo que você deseja avaliar:

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

Para testes multimodais, mantenha o tipo de provider `chat` e passe variáveis de imagem por meio das variáveis de teste do Promptfoo.

## Solução de problemas

<AccordionGroup>
  <Accordion title="O Promptfoo não consegue encontrar a chave de API">
    Confirme que `COMETAPI_KEY` foi exportada na mesma sessão do shell que executa `promptfoo eval`.
  </Accordion>

  <Accordion title="O tipo de provider não corresponde ao modelo">
    Use `chat` para modelos conversacionais e multimodais, `embedding` para modelos de embedding e `image` para modelos de geração de imagem.
  </Accordion>

  <Accordion title="O model ID falha">
    Substitua `your-model-id` por um model ID exato da [página de Models da CometAPI](/pt/overview/models).
  </Accordion>
</AccordionGroup>

## Recursos relacionados

* [Provider Promptfoo do CometAPI](https://www.promptfoo.dev/docs/providers/cometapi/)
* [Início rápido do CometAPI](/pt/overview/quick-start)
* [Página de Models do CometAPI](/pt/overview/models)

<script type="application/ld+json">
  {`
    {
    "@context": "https://schema.org",
    "@graph": [
      {
        "@type": "HowTo",
        "@id": "https://apidoc.cometapi.com/integrations/promptfoo#howto",
        "name": "Usar o Promptfoo com o CometAPI",
        "description": "Use este guia para configurar o Promptfoo com o CometAPI definindo a URL base, a chave de API e as opções de model ou provider.",
        "step": [
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/promptfoo#step-1",
            "position": 1,
            "name": "Defina sua chave de API do CometAPI",
            "text": "Armazene sua chave de API do CometAPI na variável de ambiente ou no campo de configurações usado pela integração."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/promptfoo#step-2",
            "position": 2,
            "name": "Escolha um formato de provider",
            "text": "Conclua a etapa Escolha um formato de provider no guia Usar o Promptfoo com o CometAPI."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/promptfoo#step-3",
            "position": 3,
            "name": "Execute uma avaliação pela CLI",
            "text": "Conclua a etapa Execute uma avaliação pela CLI no guia Usar o Promptfoo com o CometAPI."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/promptfoo#step-4",
            "position": 4,
            "name": "Crie um arquivo de configuração do Promptfoo",
            "text": "Conclua a etapa Crie um arquivo de configuração do Promptfoo no guia Usar o Promptfoo com o CometAPI."
          }
        ]
      },
      {
        "@type": "BreadcrumbList",
        "itemListElement": [
          {
            "@type": "ListItem",
            "position": 1,
            "name": "Documentação do CometAPI",
            "item": "https://apidoc.cometapi.com/"
          },
          {
            "@type": "ListItem",
            "position": 2,
            "name": "Integrações",
            "item": "https://apidoc.cometapi.com/integrations"
          },
          {
            "@type": "ListItem",
            "position": 3,
            "name": "Usar o Promptfoo com o CometAPI",
            "item": "https://apidoc.cometapi.com/integrations/promptfoo"
          }
        ]
      }
    ]
    }
    `}
</script>
