Ana içeriğe atla
AI SDK için CometAPI provider’ı, birleşik bir TypeScript arayüzü üzerinden 500+‘den fazla AI modeline erişim sağlar. Bunu kullanarak herhangi bir Node.js veya Edge runtime uygulamasına metin üretimi, Streaming, Embeddings ve görsel üretimi ekleyebilirsiniz.

Desteklenen özellikler

ÖzellikYöntemDurum
Metin üretimigenerateText()Destekleniyor
Metin akışıstreamText()Destekleniyor
Metin EmbeddingstextEmbeddingModel()Destekleniyor
Görsel üretimiimageModel()Destekleniyor

Ön koşullar

  • Node.js 18+
  • Etkin bir API anahtarına sahip bir CometAPI hesabı — buradan alın
1

Provider'ı yükleyin

@cometapi/ai-sdk-provider paketini AI SDK çekirdek paketiyle birlikte yükleyin:
npm install @cometapi/ai-sdk-provider ai
2

API anahtarınızı ayarlayın

Provider varsayılan olarak COMETAPI_KEY ortam değişkenini okur:
export COMETAPI_KEY=<COMETAPI_KEY>
Kimlik bilgilerini kaynak kodunuza sabit olarak yazmaktan kaçınmak için ortam değişkenlerini kullanın.
3

Provider'ı içe aktarın

Varsayılan provider örneğini içe aktarın:
import { cometapi } from '@cometapi/ai-sdk-provider';
API anahtarını, temel URL’yi veya diğer ayarları geçersiz kılmak için createCometAPI kullanın:
import { createCometAPI } from '@cometapi/ai-sdk-provider';

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

Kullanım

Metin üretin

Tek seferlik bir yanıt için generateText() kullanı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);

Metni akış olarak alın

Gerçek zamanlı parça parça çıktı için streamText() kullanın:
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 üretin

Vektör Embeddings oluşturmak için textEmbeddingModel() kullanın:
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örsel üretin

Metin istemlerinden görseller üretmek için imageModel() kullanın:
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',
});

Provider yapılandırması

createCometAPI aşağıdaki seçenekleri kabul eder:
SeçenekTürVarsayılanAçıklama
apiKeystringprocess.env.COMETAPI_KEYCometAPI API anahtarı
baseURLstringhttps://api.cometapi.com/v1API temel URL’si
headersRecord<string, string>Özel istek başlıkları
fetchFetchFunctionÖzel fetch uygulaması

Model yöntemleri

Provider çeşitli model constructor’larını sunar:
YöntemDöndürürKullanım durumu
cometapi(modelId)LanguageModelV2Metin üretimi ve Streaming (kısa kullanım)
cometapi.chatModel(modelId)LanguageModelV2Chat completions
cometapi.completionModel(modelId)LanguageModelV2Metin completions
cometapi.languageModel(modelId)LanguageModelV2chatModel için takma ad
cometapi.textEmbeddingModel(modelId)EmbeddingModelV2Metin Embeddings
cometapi.imageModel(modelId)ImageModelV2Görsel üretimi
Mevcut model ID’lerinin tam listesini Models sayfasında inceleyin.
  • Model seçimi: CometAPI model kataloğundaki herhangi bir model, karşılık gelen model yöntemiyle çalışır — cometapi() üzerinden chat modelleri, textEmbeddingModel() üzerinden embedding modelleri, imageModel() üzerinden görsel modelleri.
  • Yanıtları ince ayarlama: temperature, maxTokens ve topP değerlerini doğrudan generateText() veya streamText() içine geçin; örneğin generateText(\{..., temperature: 0.7\}).
  • Hata işleme: Kimlik doğrulama hatalarını, rate limit’leri veya ağ sorunlarını ele almak için çağrıları try/catch ile sarmalayın.
  • Güvenlik: API anahtarlarını asla sürüm kontrolüne commit etmeyin. Ortam değişkenleri veya bir secrets manager kullanın.
  • Rate limit’ler: Kullanımı CometAPI console üzerinden izleyin.

İlgili kaynaklar