Перейти к основному содержанию
Провайдер CometAPI для AI SDK предоставляет доступ к 500+ AI-моделям через унифицированный интерфейс TypeScript. Используйте его, чтобы добавить генерацию текста, Streaming, Embeddings и генерацию изображений в любое приложение на Node.js или Edge runtime.

Поддерживаемые возможности

ВозможностьМетодСтатус
Генерация текстаgenerateText()Поддерживается
Потоковая передача текстаstreamText()Поддерживается
Text embeddingstextEmbeddingModel()Поддерживается
Генерация изображенийimageModel()Поддерживается

Предварительные требования

1

Установите провайдера

Установите @cometapi/ai-sdk-provider вместе с основным пакетом AI SDK:
npm install @cometapi/ai-sdk-provider ai
2

Укажите API-ключ

По умолчанию провайдер считывает переменную окружения COMETAPI_KEY:
export COMETAPI_KEY=<COMETAPI_KEY>
Используйте переменные окружения, чтобы не хардкодить учетные данные в исходном коде.
3

Импортируйте провайдера

Импортируйте экземпляр провайдера по умолчанию:
import { cometapi } from '@cometapi/ai-sdk-provider';
Чтобы переопределить API-ключ, базовый URL или другие настройки, используйте createCometAPI:
import { createCometAPI } from '@cometapi/ai-sdk-provider';

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

Использование

Генерация текста

Используйте generateText() для получения одиночного ответа:
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);

Потоковая передача текста

Используйте streamText() для вывода по частям в реальном времени:
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);
}

Генерация embeddings

Используйте textEmbeddingModel() для создания векторных embeddings:
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);

Генерация изображений

Используйте imageModel() для генерации изображений по текстовым Prompt:
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',
});

Конфигурация провайдера

createCometAPI принимает следующие параметры:
ПараметрТипПо умолчаниюОписание
apiKeystringprocess.env.COMETAPI_KEYAPI-ключ CometAPI
baseURLstringhttps://api.cometapi.com/v1Базовый URL API
headersRecord<string, string>Пользовательские заголовки запроса
fetchFetchFunctionПользовательская реализация fetch

Методы моделей

Провайдер предоставляет несколько конструкторов моделей:
МетодВозвращаетСценарий использования
cometapi(modelId)LanguageModelV2Генерация текста и Streaming (сокращенная запись)
cometapi.chatModel(modelId)LanguageModelV2Chat Completions
cometapi.completionModel(modelId)LanguageModelV2Text completions
cometapi.languageModel(modelId)LanguageModelV2Алиас для chatModel
cometapi.textEmbeddingModel(modelId)EmbeddingModelV2Text embeddings
cometapi.imageModel(modelId)ImageModelV2Генерация изображений
Полный список доступных model ID можно посмотреть на странице Models.
  • Выбор модели: Любая модель из каталога моделей CometAPI работает с соответствующим методом модели — chat-модели через cometapi(), embedding-модели через textEmbeddingModel(), модели изображений через imageModel().
  • Тонкая настройка ответов: Передавайте temperature, maxTokens и topP напрямую в generateText() или streamText(), например generateText(\{..., temperature: 0.7\}).
  • Обработка ошибок: Оборачивайте вызовы в try/catch, чтобы обрабатывать ошибки аутентификации, ограничения скорости или сетевые проблемы.
  • Безопасность: Никогда не коммитьте API-ключи в систему контроля версий. Используйте переменные окружения или менеджер секретов.
  • Rate limits: Отслеживайте использование в консоли CometAPI.

Связанные ресурсы