> ## Documentation Index
> Fetch the complete documentation index at: https://apidoc.cometapi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# CometAPI ile AI SDK kullanın

> base URL, API key ve model veya provider seçeneklerini ayarlayarak AI SDK'yı CometAPI ile yapılandırmak için bu kılavuzu kullanın.

[AI SDK için CometAPI provider'ı](https://github.com/cometapi-dev/ai-sdk-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

| Özellik          | Yöntem                 | Durum       |
| ---------------- | ---------------------- | ----------- |
| Metin üretimi    | `generateText()`       | Desteklenir |
| Metin streaming  | `streamText()`         | Desteklenir |
| Metin embeddings | `textEmbeddingModel()` | Desteklenir |
| Görsel üretimi   | `imageModel()`         | Desteklenir |

## Ön koşullar

* Node.js 18+
* Etkin bir API key'e sahip bir CometAPI hesabı — [buradan edinebilirsiniz](https://www.cometapi.com/console/token)

<Steps>
  <Step title="Provider'ı yükleyin">
    `@cometapi/ai-sdk-provider` paketini AI SDK çekirdek paketiyle birlikte yükleyin:

    <CodeGroup>
      ```bash npm theme={null}
      npm install @cometapi/ai-sdk-provider ai
      ```

      ```bash pnpm theme={null}
      pnpm add @cometapi/ai-sdk-provider ai
      ```

      ```bash yarn theme={null}
      yarn add @cometapi/ai-sdk-provider ai
      ```
    </CodeGroup>
  </Step>

  <Step title="API key'inizi ayarlayın">
    Provider varsayılan olarak `COMETAPI_KEY` ortam değişkenini okur:

    ```bash theme={null}
    read -rsp "CometAPI API key: " COMETAPI_KEY
    printf '\n'
    export COMETAPI_KEY
    ```

    <Note>
      Kaynak kodunuzda kimlik bilgilerini sabit kodlamaktan kaçınmak için ortam değişkenlerini kullanın.
    </Note>
  </Step>

  <Step title="Provider'ı içe aktarın">
    Varsayılan provider örneğini içe aktarın:

    ```typescript theme={null}
    import { cometapi } from '@cometapi/ai-sdk-provider';
    ```

    API key, base URL veya diğer ayarları geçersiz kılmak için `createCometAPI` kullanın:

    ```typescript theme={null}
    import { createCometAPI } from '@cometapi/ai-sdk-provider';

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

## Kullanım

### Metin üretin

Tek seferlik bir yanıt için `generateText()` kullanın:

```typescript theme={null}
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 stream edin

Gerçek zamanlı parça parça çıktı için `streamText()` kullanın:

```typescript theme={null}
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:

```typescript theme={null}
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örseller üretin

Metin prompt'larından görseller üretmek için `imageModel()` kullanın:

```typescript theme={null}
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',
});
```

## Sağlayıcı yapılandırması

`createCometAPI` aşağıdaki seçenekleri kabul eder:

| Option    | Type                     | Default                       | Description           |
| --------- | ------------------------ | ----------------------------- | --------------------- |
| `apiKey`  | `string`                 | `process.env.COMETAPI_KEY`    | CometAPI API anahtarı |
| `baseURL` | `string`                 | `https://api.cometapi.com/v1` | API temel URL'si      |
| `headers` | `Record<string, string>` | —                             | Özel istek başlıkları |
| `fetch`   | `FetchFunction`          | —                             | Özel fetch uygulaması |

## Model yöntemleri

Sağlayıcı çeşitli model oluşturucuları sunar:

| Method                                 | Returns            | Use case                                   |
| -------------------------------------- | ------------------ | ------------------------------------------ |
| `cometapi(modelId)`                    | `LanguageModelV2`  | Metin üretimi ve Streaming (kısa kullanım) |
| `cometapi.chatModel(modelId)`          | `LanguageModelV2`  | Chat completions                           |
| `cometapi.completionModel(modelId)`    | `LanguageModelV2`  | Metin completions                          |
| `cometapi.languageModel(modelId)`      | `LanguageModelV2`  | `chatModel` için takma ad                  |
| `cometapi.textEmbeddingModel(modelId)` | `EmbeddingModelV2` | Metin embeddings                           |
| `cometapi.imageModel(modelId)`         | `ImageModelV2`     | Görsel üretimi                             |

Kullanılabilir model ID'lerinin tam listesini [Models page](/tr/overview/models) üzerinde inceleyin.

<AccordionGroup>
  <Accordion title="İpuçları ve sorun giderme">
    * **Model seçimi**: [CometAPI model catalog](/tr/overview/models) içindeki herhangi bir model, ilgili model yöntemiyle çalışır — sohbet modelleri `cometapi()` üzerinden, embedding modelleri `textEmbeddingModel()` üzerinden, görsel modelleri `imageModel()` üzerinden kullanılır.
    * **Fine-tuning yanıtları**: `temperature`, `maxTokens` ve `topP` değerlerini doğrudan `generateText()` veya `streamText()` içine iletin; ö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](https://www.cometapi.com/console) üzerinden izleyin.
  </Accordion>
</AccordionGroup>

## İlgili kaynaklar

* [GitHub üzerinde CometAPI AI SDK Provider](https://github.com/cometapi-dev/ai-sdk-provider)
* [npm üzerinde @cometapi/ai-sdk-provider](https://www.npmjs.com/package/@cometapi/ai-sdk-provider)
* [AI SDK belgeleri](https://ai-sdk.dev/docs)
* [CometAPI hızlı başlangıç](/tr/overview/quick-start)

<script type="application/ld+json">
  {`
    {
    "@context": "https://schema.org",
    "@graph": [
      {
        "@type": "HowTo",
        "@id": "https://apidoc.cometapi.com/integrations/ai-sdk#howto",
        "name": "CometAPI ile AI SDK kullanın",
        "description": "base URL, API key ve model veya provider seçeneklerini ayarlayarak AI SDK'yi CometAPI ile yapılandırmak için bu kılavuzu kullanın.",
        "step": [
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/ai-sdk#step-1",
            "position": 1,
            "name": "Provider'ı yükleyin",
            "text": "CometAPI ile AI SDK kullanın kılavuzundaki Provider'ı yükleyin adımını tamamlayın."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/ai-sdk#step-2",
            "position": 2,
            "name": "API key'inizi ayarlayın",
            "text": "CometAPI API key'inizi, entegrasyon tarafından kullanılan environment variable veya settings alanında saklayın."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/ai-sdk#step-3",
            "position": 3,
            "name": "Provider'ı içe aktarın",
            "text": "CometAPI ile AI SDK kullanın kılavuzundaki Provider'ı içe aktarın adımını tamamlayın."
          }
        ]
      },
      {
        "@type": "BreadcrumbList",
        "itemListElement": [
          {
            "@type": "ListItem",
            "position": 1,
            "name": "CometAPI Belgeleri",
            "item": "https://apidoc.cometapi.com/"
          },
          {
            "@type": "ListItem",
            "position": 2,
            "name": "Entegrasyonlar",
            "item": "https://apidoc.cometapi.com/integrations"
          },
          {
            "@type": "ListItem",
            "position": 3,
            "name": "CometAPI ile AI SDK kullanın",
            "item": "https://apidoc.cometapi.com/integrations/ai-sdk"
          }
        ]
      }
    ]
    }
    `}
</script>
