Passer au contenu principal
Le provider CometAPI pour l’AI SDK 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 à n’importe quelle application Node.js ou Edge runtime.

Fonctionnalités prises en charge

FeatureMethodStatus
Génération de textegenerateText()Pris en charge
Streaming de textestreamText()Pris en charge
Embeddings de textetextEmbeddingModel()Pris en charge
Génération d’imagesimageModel()Pris en charge

Prérequis

1

Installer le provider

Installez @cometapi/ai-sdk-provider avec le package principal de l’AI SDK :
npm install @cometapi/ai-sdk-provider ai
2

Définir votre clé API

Le provider lit la variable d’environnement COMETAPI_KEY par défaut :
export COMETAPI_KEY=<COMETAPI_KEY>
Utilisez des variables d’environnement pour éviter de coder en dur des identifiants dans votre code source.
3

Importer le provider

Importez l’instance de provider par défaut :
import { cometapi } from '@cometapi/ai-sdk-provider';
Pour remplacer la clé API, l’URL de base ou d’autres paramètres, utilisez createCometAPI :
import { createCometAPI } from '@cometapi/ai-sdk-provider';

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

Utilisation

Générer du texte

Utilisez generateText() pour une réponse en une seule fois :
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);

Streamer du texte

Utilisez streamText() pour une sortie en temps réel par morceaux :
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 :
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 :
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 :
OptionTypeDefaultDescription
apiKeystringprocess.env.COMETAPI_KEYClé API CometAPI
baseURLstringhttps://api.cometapi.com/v1URL de base de l’API
headersRecord<string, string>En-têtes de requête personnalisés
fetchFetchFunctionImplémentation fetch personnalisée

Méthodes de modèle

Le provider expose plusieurs constructeurs de modèle :
MethodReturnsUse case
cometapi(modelId)LanguageModelV2Génération de texte et Streaming (raccourci)
cometapi.chatModel(modelId)LanguageModelV2Chat completions
cometapi.completionModel(modelId)LanguageModelV2Text completions
cometapi.languageModel(modelId)LanguageModelV2Alias de chatModel
cometapi.textEmbeddingModel(modelId)EmbeddingModelV2Embeddings de texte
cometapi.imageModel(modelId)ImageModelV2Génération d’images
Parcourez la liste complète des model IDs disponibles sur la page Models.
  • Sélection du modèle: Tout modèle du catalogue de modèles CometAPI 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().
  • Ajuster les réponses: Passez temperature, maxTokens et topP directement à generateText() ou streamText(), par exemple 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 committez jamais de 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.

Ressources associées