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

# Usa Promptfoo con CometAPI

> Usa questa guida per configurare Promptfoo con CometAPI impostando l'URL di base, la chiave API e le opzioni del model o del provider.

[Promptfoo](https://www.promptfoo.dev/) è un framework per la valutazione dei prompt, i test di regressione e il red teaming dell'AI. Promptfoo include un provider `cometapi` che chiama CometAPI tramite endpoint compatibili con OpenAI.

## Prerequisiti

* Node.js 18+
* Promptfoo installato localmente o eseguito tramite `npx`
* Un account CometAPI con una chiave API attiva — [ottieni la tua nella dashboard](https://www.cometapi.com/console/token)
* Un model ID dalla [pagina dei modelli di CometAPI](/it/overview/models)

## Configura l'integrazione

<Steps>
  <Step title="Imposta la tua chiave API di CometAPI">
    Imposta `COMETAPI_KEY` prima di eseguire le valutazioni:

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

  <Step title="Scegli un formato provider">
    Promptfoo utilizza il seguente formato di provider ID per CometAPI:

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

    Usa questi tipi di provider:

    | Type         | Caso d'uso                                    |
    | ------------ | --------------------------------------------- |
    | `chat`       | Chat completions, vision e prompt multimodali |
    | `completion` | Modelli di completamento del testo            |
    | `embedding`  | Valutazioni di text embedding                 |
    | `image`      | Valutazioni di generazione di immagini        |

    Puoi anche usare `cometapi:your-model-id` per la modalità chat predefinita.
  </Step>

  <Step title="Esegui una valutazione da CLI">
    Il seguente comando esegue una valutazione chat con un solo 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="Crea un file di configurazione Promptfoo">
    Il seguente `promptfooconfig.yaml` valuta lo stesso prompt su un modello 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
    ```

    Esegui il file di configurazione con Promptfoo:

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

## Esempi di provider

Usa un tipo di provider che corrisponda al comportamento del modello che vuoi valutare:

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

Per i test multimodali, mantieni il tipo di provider `chat` e passa le variabili immagine tramite le variabili di test di Promptfoo.

## Risoluzione dei problemi

<AccordionGroup>
  <Accordion title="Promptfoo non riesce a trovare la chiave API">
    Conferma che `COMETAPI_KEY` sia esportata nella stessa sessione shell che esegue `promptfoo eval`.
  </Accordion>

  <Accordion title="Il tipo di provider non corrisponde al modello">
    Usa `chat` per i modelli conversazionali e multimodali, `embedding` per i modelli di embedding e `image` per i modelli di generazione di immagini.
  </Accordion>

  <Accordion title="Il model ID non funziona">
    Sostituisci `your-model-id` con un model ID esatto dalla [pagina dei modelli di CometAPI](/it/overview/models).
  </Accordion>
</AccordionGroup>

## Risorse correlate

* [Provider Promptfoo CometAPI](https://www.promptfoo.dev/docs/providers/cometapi/)
* [Guida rapida di CometAPI](/it/overview/quick-start)
* [Pagina Models di CometAPI](/it/overview/models)

<script type="application/ld+json">
  {`
    {
    "@context": "https://schema.org",
    "@graph": [
      {
        "@type": "HowTo",
        "@id": "https://apidoc.cometapi.com/integrations/promptfoo#howto",
        "name": "Usare Promptfoo con CometAPI",
        "description": "Usa questa guida per configurare Promptfoo con CometAPI impostando l'URL di base, la chiave API e le opzioni del model o del provider.",
        "step": [
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/promptfoo#step-1",
            "position": 1,
            "name": "Imposta la tua chiave API di CometAPI",
            "text": "Memorizza la tua chiave API di CometAPI nella variabile d'ambiente o nel campo delle impostazioni usato dall'integrazione."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/promptfoo#step-2",
            "position": 2,
            "name": "Scegli un formato provider",
            "text": "Completa il passaggio Scegli un formato provider nella guida Usare Promptfoo con CometAPI."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/promptfoo#step-3",
            "position": 3,
            "name": "Esegui una valutazione CLI",
            "text": "Completa il passaggio Esegui una valutazione CLI nella guida Usare Promptfoo con CometAPI."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/promptfoo#step-4",
            "position": 4,
            "name": "Crea un file di configurazione Promptfoo",
            "text": "Completa il passaggio Crea un file di configurazione Promptfoo nella guida Usare Promptfoo con CometAPI."
          }
        ]
      },
      {
        "@type": "BreadcrumbList",
        "itemListElement": [
          {
            "@type": "ListItem",
            "position": 1,
            "name": "Documentazione CometAPI",
            "item": "https://apidoc.cometapi.com/"
          },
          {
            "@type": "ListItem",
            "position": 2,
            "name": "Integrazioni",
            "item": "https://apidoc.cometapi.com/integrations"
          },
          {
            "@type": "ListItem",
            "position": 3,
            "name": "Usare Promptfoo con CometAPI",
            "item": "https://apidoc.cometapi.com/integrations/promptfoo"
          }
        ]
      }
    ]
    }
    `}
</script>
