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

# Utiliser AI SDK avec CometAPI

> Utilisez ce guide pour configurer AI SDK avec CometAPI en définissant l’URL de base, la clé API et les options de modèle ou de provider.

Le [provider CometAPI pour AI SDK](https://github.com/cometapi-dev/ai-sdk-provider) vous donne accès à plus de 500 modèles d’IA via une interface TypeScript unifiée. Utilisez-le pour ajouter la génération de texte, le Streaming, les Embeddings et la génération d’images à toute application s’exécutant sur Node.js ou Edge runtime.

## Fonctionnalités prises en charge

| Fonctionnalité      | Méthode                | Statut         |
| ------------------- | ---------------------- | -------------- |
| Génération de texte | `generateText()`       | Pris en charge |
| Streaming de texte  | `streamText()`         | Pris en charge |
| Embeddings de texte | `textEmbeddingModel()` | Pris en charge |
| Génération d’images | `imageModel()`         | Pris en charge |

## Prérequis

* Node.js 18+
* Un compte CometAPI avec une clé API active — [obtenez la vôtre ici](https://www.cometapi.com/console/token)

<Steps>
  <Step title="Installer le provider">
    Installez `@cometapi/ai-sdk-provider` avec le package principal de AI SDK :

    <CodeGroup>
      ```bash npm theme={null}
      npm install @cometapi/ai-sdk-provider ai
      ```

      ```bash pnpm theme={null}
      pnpm add @cometapi/ai-sdk-provider ai
      ```

      ```bash yarn theme={null}
      yarn add @cometapi/ai-sdk-provider ai
      ```
    </CodeGroup>
  </Step>

  <Step title="Définir votre clé API">
    Le provider lit la variable d’environnement `COMETAPI_KEY` par défaut :

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

    <Note>
      Utilisez des variables d’environnement pour éviter d’intégrer des identifiants en dur dans votre code source.
    </Note>
  </Step>

  <Step title="Importer le provider">
    Importez l’instance de provider par défaut :

    ```typescript theme={null}
    import { cometapi } from '@cometapi/ai-sdk-provider';
    ```

    Pour remplacer la clé API, l’URL de base ou d’autres paramètres, utilisez `createCometAPI` :

    ```typescript theme={null}
    import { createCometAPI } from '@cometapi/ai-sdk-provider';

    const cometapi = createCometAPI({
      apiKey: process.env.COMETAPI_KEY,       // override env variable
      baseURL: 'https://api.cometapi.com/v1',  // default
    });
    ```
  </Step>
</Steps>

## Utilisation

### Générer du texte

Utilisez `generateText()` pour une réponse en une seule fois :

```typescript theme={null}
import { cometapi } from '@cometapi/ai-sdk-provider';
import { generateText } from 'ai';

const { text } = await generateText({
  model: cometapi('your-model-id'),
  prompt: 'What is CometAPI?',
});

console.log(text);
```

### Diffuser du texte en Streaming

Utilisez `streamText()` pour une sortie en temps réel par fragments :

```typescript theme={null}
import { cometapi } from '@cometapi/ai-sdk-provider';
import { streamText } from 'ai';

const result = streamText({
  model: cometapi('your-model-id'),
  prompt: 'Write a short story about AI.',
});

for await (const chunk of result.textStream) {
  process.stdout.write(chunk);
}
```

### Générer des Embeddings

Utilisez `textEmbeddingModel()` pour créer des embeddings vectoriels :

```typescript theme={null}
import { cometapi } from '@cometapi/ai-sdk-provider';

const model = cometapi.textEmbeddingModel('text-embedding-3-small');

// Single embedding
const single = await model.doEmbed({ values: ['Hello, world!'] });
console.log('Dimensions:', single.embeddings[0].length);

// Batch embeddings
const batch = await model.doEmbed({
  values: ['sunny day', 'rainy afternoon', 'cold winter night'],
});
console.log('Count:', batch.embeddings.length);
```

### Générer des images

Utilisez `imageModel()` pour générer des images à partir de prompts textuels :

```typescript theme={null}
import { cometapi } from '@cometapi/ai-sdk-provider';
import { experimental_generateImage as generateImage } from 'ai';

const { image } = await generateImage({
  model: cometapi.imageModel('your-model-id'),
  prompt: 'A beautiful sunset over mountains',
});
```

## Configuration du provider

`createCometAPI` accepte les options suivantes :

| Option    | Type                     | Par défaut                    | Description                           |
| --------- | ------------------------ | ----------------------------- | ------------------------------------- |
| `apiKey`  | `string`                 | `process.env.COMETAPI_KEY`    | Clé API CometAPI                      |
| `baseURL` | `string`                 | `https://api.cometapi.com/v1` | URL de base de l’API                  |
| `headers` | `Record<string, string>` | —                             | En-têtes de requête personnalisés     |
| `fetch`   | `FetchFunction`          | —                             | Implémentation personnalisée de fetch |

## Méthodes de modèle

Le provider expose plusieurs constructeurs de modèle :

| Méthode                                | Retourne           | Cas d’usage                                  |
| -------------------------------------- | ------------------ | -------------------------------------------- |
| `cometapi(modelId)`                    | `LanguageModelV2`  | Génération de texte et Streaming (raccourci) |
| `cometapi.chatModel(modelId)`          | `LanguageModelV2`  | Chat Completions                             |
| `cometapi.completionModel(modelId)`    | `LanguageModelV2`  | Complétions de texte                         |
| `cometapi.languageModel(modelId)`      | `LanguageModelV2`  | Alias de `chatModel`                         |
| `cometapi.textEmbeddingModel(modelId)` | `EmbeddingModelV2` | Embeddings de texte                          |
| `cometapi.imageModel(modelId)`         | `ImageModelV2`     | Génération d’images                          |

Parcourez la liste complète des model ID disponibles sur la [page Models](/fr/overview/models).

<AccordionGroup>
  <Accordion title="Conseils et dépannage">
    * **Sélection du modèle** : Tout modèle du [catalogue de modèles CometAPI](/fr/overview/models) fonctionne avec la méthode de modèle correspondante — les modèles de chat via `cometapi()`, les modèles d’embedding via `textEmbeddingModel()`, les modèles d’image via `imageModel()`.
    * **Ajustement des réponses** : Passez `temperature`, `maxTokens` et `topP` directement à `generateText()` ou `streamText()`, par ex. `generateText(\{..., temperature: 0.7\})`.
    * **Gestion des erreurs** : Encapsulez les appels dans `try/catch` pour gérer les erreurs d’authentification, les limites de débit ou les problèmes réseau.
    * **Sécurité** : Ne versionnez jamais les clés API dans le contrôle de version. Utilisez des variables d’environnement ou un gestionnaire de secrets.
    * **Limites de débit** : Surveillez l’utilisation dans la [console CometAPI](https://www.cometapi.com/console).
  </Accordion>
</AccordionGroup>

## Ressources associées

* [Fournisseur CometAPI AI SDK sur GitHub](https://github.com/cometapi-dev/ai-sdk-provider)
* [@cometapi/ai-sdk-provider sur npm](https://www.npmjs.com/package/@cometapi/ai-sdk-provider)
* [Documentation AI SDK](https://ai-sdk.dev/docs)
* [Démarrage rapide de CometAPI](/fr/overview/quick-start)

<script type="application/ld+json">
  {`
    {
    "@context": "https://schema.org",
    "@graph": [
      {
        "@type": "HowTo",
        "@id": "https://apidoc.cometapi.com/integrations/ai-sdk#howto",
        "name": "Utiliser AI SDK avec CometAPI",
        "description": "Utilisez ce guide pour configurer AI SDK avec CometAPI en définissant l’URL de base, la clé API et le modèle ou les options du fournisseur.",
        "step": [
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/ai-sdk#step-1",
            "position": 1,
            "name": "Installer le fournisseur",
            "text": "Effectuez l’étape Installer le fournisseur dans le guide Utiliser AI SDK avec CometAPI."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/ai-sdk#step-2",
            "position": 2,
            "name": "Définir votre clé API",
            "text": "Stockez votre clé API CometAPI dans la variable d’environnement ou le champ de paramètres utilisé par l’intégration."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/ai-sdk#step-3",
            "position": 3,
            "name": "Importer le fournisseur",
            "text": "Effectuez l’étape Importer le fournisseur dans le guide Utiliser AI SDK avec CometAPI."
          }
        ]
      },
      {
        "@type": "BreadcrumbList",
        "itemListElement": [
          {
            "@type": "ListItem",
            "position": 1,
            "name": "Documentation CometAPI",
            "item": "https://apidoc.cometapi.com/"
          },
          {
            "@type": "ListItem",
            "position": 2,
            "name": "Intégrations",
            "item": "https://apidoc.cometapi.com/integrations"
          },
          {
            "@type": "ListItem",
            "position": 3,
            "name": "Utiliser AI SDK avec CometAPI",
            "item": "https://apidoc.cometapi.com/integrations/ai-sdk"
          }
        ]
      }
    ]
    }
    `}
</script>
