Saltar al contenido principal
El proveedor de CometAPI para el AI SDK te da acceso a más de 500 modelos de IA mediante una interfaz unificada de TypeScript. Úsalo para añadir generación de texto, Streaming, Embeddings y generación de imágenes a cualquier aplicación en tiempo de ejecución de Node.js o Edge.

Funciones compatibles

FeatureMethodStatus
Generación de textogenerateText()Compatible
Streaming de textostreamText()Compatible
Embeddings de textotextEmbeddingModel()Compatible
Generación de imágenesimageModel()Compatible

Requisitos previos

1

Instala el proveedor

Instala @cometapi/ai-sdk-provider junto con el paquete principal del AI SDK:
npm install @cometapi/ai-sdk-provider ai
2

Configura tu API key

El proveedor lee la variable de entorno COMETAPI_KEY de forma predeterminada:
export COMETAPI_KEY=<COMETAPI_KEY>
Usa variables de entorno para evitar codificar credenciales directamente en tu código fuente.
3

Importa el proveedor

Importa la instancia predeterminada del proveedor:
import { cometapi } from '@cometapi/ai-sdk-provider';
Para sobrescribir la API key, la URL base u otra configuración, usa createCometAPI:
import { createCometAPI } from '@cometapi/ai-sdk-provider';

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

Uso

Generar texto

Usa generateText() para una respuesta de una sola ejecución:
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);

Transmitir texto

Usa streamText() para una salida fragmentada en tiempo real:
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);
}

Generar embeddings

Usa textEmbeddingModel() para crear embeddings vectoriales:
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);

Generar imágenes

Usa imageModel() para generar imágenes a partir de prompts de texto:
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',
});

Configuración del proveedor

createCometAPI acepta las siguientes opciones:
OptionTypeDefaultDescription
apiKeystringprocess.env.COMETAPI_KEYAPI key de CometAPI
baseURLstringhttps://api.cometapi.com/v1URL base de la API
headersRecord<string, string>Encabezados de solicitud personalizados
fetchFetchFunctionImplementación personalizada de fetch

Métodos del modelo

El proveedor expone varios constructores de modelos:
MethodReturnsUse case
cometapi(modelId)LanguageModelV2Generación de texto y Streaming (abreviado)
cometapi.chatModel(modelId)LanguageModelV2Chat Completions
cometapi.completionModel(modelId)LanguageModelV2Finalizaciones de texto
cometapi.languageModel(modelId)LanguageModelV2Alias de chatModel
cometapi.textEmbeddingModel(modelId)EmbeddingModelV2Embeddings de texto
cometapi.imageModel(modelId)ImageModelV2Generación de imágenes
Consulta la lista completa de model IDs disponibles en la página de modelos.
  • Selección de modelo: Cualquier modelo del catálogo de modelos de CometAPI funciona con el método de modelo correspondiente: los modelos de chat mediante cometapi(), los modelos de embeddings mediante textEmbeddingModel(), y los modelos de imágenes mediante imageModel().
  • Ajuste de respuestas: Pasa temperature, maxTokens y topP directamente a generateText() o streamText(), por ejemplo generateText(\{..., temperature: 0.7\}).
  • Manejo de errores: Envuelve las llamadas en try/catch para gestionar errores de autenticación, límites de tasa o problemas de red.
  • Seguridad: Nunca subas API keys al control de versiones. Usa variables de entorno o un gestor de secretos.
  • Límites de tasa: Supervisa el uso en la consola de CometAPI.

Recursos relacionados