الانتقال إلى المحتوى الرئيسي
يمنحك موفّر CometAPI لـ AI SDK إمكانية الوصول إلى أكثر من 500 نموذج AI عبر واجهة TypeScript موحّدة. استخدمه لإضافة توليد النصوص، Streaming، Embeddings، وتوليد الصور إلى أي تطبيق يعمل على Node.js أو Edge runtime.

الميزات المدعومة

الميزةالطريقةالحالة
توليد النصوصgenerateText()مدعوم
Streaming للنص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 أو base 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);

Streaming للنص

استخدم 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() لإنشاء vector 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() لتوليد صور من أوامر نصية:
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_KEYمفتاح API الخاص بـ 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 IDs المتاحة في صفحة النماذج.
  • اختيار النموذج: يعمل أي نموذج من فهرس نماذج CometAPI مع طريقة النموذج المقابلة — نماذج الدردشة عبر cometapi()، ونماذج embeddings عبر textEmbeddingModel()، ونماذج الصور عبر imageModel().
  • Fine-tuning responses: مرّر temperature وmaxTokens وtopP مباشرةً إلى generateText() أو streamText()، مثلًا generateText(\{..., temperature: 0.7\}).
  • معالجة الأخطاء: لفّ الاستدعاءات داخل try/catch للتعامل مع أخطاء المصادقة أو حدود المعدل أو مشكلات الشبكة.
  • الأمان: لا تقم أبدًا بإيداع مفاتيح API في نظام التحكم بالإصدارات. استخدم متغيرات البيئة أو مدير الأسرار.
  • حدود المعدل: راقب الاستخدام في لوحة CometAPI.

موارد ذات صلة